Closed SkySingh04 closed 1 month ago
Hey, I am trying to convert the following ebpf code to go code:
#define _DEFAULT_SOURCE #include <linux/bpf.h> #include <linux/if_ether.h> #include <linux/ip.h> #include <linux/tcp.h> #include <linux/udp.h> #include <linux/bpf_helpers.h> #define SEC(NAME) __attribute__((section(NAME), used)) struct bpf_map_def SEC("maps") blocked_ips = { .type = BPF_MAP_TYPE_HASH, .key_size = sizeof(__u32), .value_size = sizeof(__u8), .max_entries = 1024, }; struct cachestat_range { uint64_t off; uint64_t len; }; struct cachestat { uint64_t nr_cache; uint64_t nr_dirty; uint64_t nr_writeback; uint64_t nr_evicted; uint64_t nr_recently_evicted; }; SEC("xdp") int xdp_firewall_prog(struct __sk_buff *skb) { void *data = (void *)(long)skb->data; void *data_end = (void *)(long)skb->data_end; struct ethhdr *eth = data; // Ensure packet is large enough for Ethernet header if ((void *)(eth + 1) > data_end) return XDP_PASS; // Check if it's an IPv4 packet if (eth->h_proto == htons(ETH_P_IP)) { struct iphdr *ip = (struct iphdr *)(eth + 1); // Ensure packet is large enough for IP header if ((void *)(ip + 1) > data_end) return XDP_PASS; // Check if the source IP is blocked __u32 src_ip = ip->saddr; __u8 *blocked = bpf_map_lookup_elem(&blocked_ips, &src_ip); if (blocked) { // Drop the packet if the IP is blocked return XDP_DROP; } } return XDP_PASS; } char _license[] SEC("license") = "GPL";
This is the error trace:
bpf2go -cc clang -go-package ebpf xdpFirewall ebpf/xdp_firewall.c -- -I /usr/include -I /usr/src/linux-headers-$(uname -r)/include -I /usr/src/linux-headers-$(uname -r)/arch/x86/include In file included from /home/akash/Desktop/BharatVigil/firewall-tool/ebpf/xdp_firewall.c:2: In file included from /usr/src/linux-headers-6.8.0-40-generic/include/linux/bpf.h:8: In file included from /usr/src/linux-headers-6.8.0-40-generic/include/uapi/linux/filter.h:9: /usr/src/linux-headers-6.8.0-40-generic/include/linux/compiler.h:251:10: fatal error: 'asm/rwonce.h' file not found #include <asm/rwonce.h> ^~~~~~~~~~~~~~ PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace, preprocessed source, and associated run script. Stack dump: 0. Program arguments: clang -O2 -mcpu=v1 -I /usr/include -I /usr/src/linux-headers-6.8.0-40-generic/include -I /usr/src/linux-headers-6.8.0-40-generic/arch/x86/include -Wunused-command-line-argument -target bpfel -c /home/akash/Desktop/BharatVigil/firewall-tool/ebpf/xdp_firewall.c -o /home/akash/Desktop/BharatVigil/firewall-tool/xdpfirewall_bpfel.o -fno-ident -fdebug-prefix-map=/home/akash/Desktop/BharatVigil/firewall-tool/ebpf=ebpf -fdebug-compilation-dir . -g "-D__BPF_TARGET_MISSING=\"GCC error \\\"The eBPF is using target specific macros, please provide -target that is not bpf, bpfel or bpfeb\\\"\"" 1. <eof> parser at end of file #0 0x00007abce963fd01 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/lib/x86_64-linux-gnu/libLLVM-14.so.1+0xe3fd01) #1 0x00007abce963da3e llvm::sys::RunSignalHandlers() (/lib/x86_64-linux-gnu/libLLVM-14.so.1+0xe3da3e) #2 0x00007abce963f0ab llvm::sys::CleanupOnSignal(unsigned long) (/lib/x86_64-linux-gnu/libLLVM-14.so.1+0xe3f0ab) #3 0x00007abce956bdff (/lib/x86_64-linux-gnu/libLLVM-14.so.1+0xd6bdff) #4 0x00007abce8042520 (/lib/x86_64-linux-gnu/libc.so.6+0x42520) #5 0x00007abcf00257ce clang::ASTContext::getASTRecordLayout(clang::RecordDecl const*) const (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0xe257ce) #6 0x00007abcefce5f0c clang::ASTContext::getTypeInfoImpl(clang::Type const*) const (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0xae5f0c) #7 0x00007abcefce6d96 clang::ASTContext::getTypeInfo(clang::Type const*) const (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0xae6d96) #8 0x00007abcefce5e2e clang::ASTContext::getTypeInfoImpl(clang::Type const*) const (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0xae5e2e) #9 0x00007abcefce6d96 clang::ASTContext::getTypeInfo(clang::Type const*) const (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0xae6d96) #10 0x00007abcefce6a59 clang::ASTContext::getTypeInfoInChars(clang::QualType) const (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0xae6a59) #11 0x00007abcf0030d64 (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0xe30d64) #12 0x00007abcf002d316 (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0xe2d316) #13 0x00007abcf0025bd9 clang::ASTContext::getASTRecordLayout(clang::RecordDecl const*) const (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0xe25bd9) #14 0x00007abcf0d1bcd3 clang::CodeGen::CodeGenTypes::ComputeRecordLayout(clang::RecordDecl const*, llvm::StructType*) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1b1bcd3) #15 0x00007abcf0e07472 clang::CodeGen::CodeGenTypes::ConvertRecordDeclType(clang::RecordDecl const*) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1c07472) #16 0x00007abcf0e06554 clang::CodeGen::CodeGenTypes::ConvertType(clang::QualType) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1c06554) #17 0x00007abcf0e0646f clang::CodeGen::CodeGenTypes::ConvertTypeForMem(clang::QualType, bool) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1c0646f) #18 0x00007abcf0e0698c clang::CodeGen::CodeGenTypes::ConvertType(clang::QualType) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1c0698c) #19 0x00007abcf0e0646f clang::CodeGen::CodeGenTypes::ConvertTypeForMem(clang::QualType, bool) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1c0646f) #20 0x00007abcf0d20390 (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1b20390) #21 0x00007abcf0d1cddf (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1b1cddf) #22 0x00007abcf0d1bd88 clang::CodeGen::CodeGenTypes::ComputeRecordLayout(clang::RecordDecl const*, llvm::StructType*) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1b1bd88) #23 0x00007abcf0e07472 clang::CodeGen::CodeGenTypes::ConvertRecordDeclType(clang::RecordDecl const*) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1c07472) #24 0x00007abcf0e06554 clang::CodeGen::CodeGenTypes::ConvertType(clang::QualType) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1c06554) #25 0x00007abcf0e0646f clang::CodeGen::CodeGenTypes::ConvertTypeForMem(clang::QualType, bool) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1c0646f) #26 0x00007abcf0e0698c clang::CodeGen::CodeGenTypes::ConvertType(clang::QualType) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1c0698c) #27 0x00007abcf0e0646f clang::CodeGen::CodeGenTypes::ConvertTypeForMem(clang::QualType, bool) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1c0646f) #28 0x00007abcf0d20390 (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1b20390) #29 0x00007abcf0d1cddf (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1b1cddf) #30 0x00007abcf0d1bd88 clang::CodeGen::CodeGenTypes::ComputeRecordLayout(clang::RecordDecl const*, llvm::StructType*) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1b1bd88) #31 0x00007abcf0e07472 clang::CodeGen::CodeGenTypes::ConvertRecordDeclType(clang::RecordDecl const*) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1c07472) #32 0x00007abcf0e06554 clang::CodeGen::CodeGenTypes::ConvertType(clang::QualType) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1c06554) #33 0x00007abcf0e0646f clang::CodeGen::CodeGenTypes::ConvertTypeForMem(clang::QualType, bool) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1c0646f) #34 0x00007abcf0e0698c clang::CodeGen::CodeGenTypes::ConvertType(clang::QualType) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1c0698c) #35 0x00007abcf0e0646f clang::CodeGen::CodeGenTypes::ConvertTypeForMem(clang::QualType, bool) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1c0646f) #36 0x00007abcf0d20390 (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1b20390) #37 0x00007abcf0d1cddf (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1b1cddf) #38 0x00007abcf0d1bd88 clang::CodeGen::CodeGenTypes::ComputeRecordLayout(clang::RecordDecl const*, llvm::StructType*) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1b1bd88) #39 0x00007abcf0e07472 clang::CodeGen::CodeGenTypes::ConvertRecordDeclType(clang::RecordDecl const*) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1c07472) #40 0x00007abcf0e06554 clang::CodeGen::CodeGenTypes::ConvertType(clang::QualType) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1c06554) #41 0x00007abcf0e0646f clang::CodeGen::CodeGenTypes::ConvertTypeForMem(clang::QualType, bool) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1c0646f) #42 0x00007abcf0d20390 (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1b20390) #43 0x00007abcf0d1c5e6 (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1b1c5e6) #44 0x00007abcf0d1bd88 clang::CodeGen::CodeGenTypes::ComputeRecordLayout(clang::RecordDecl const*, llvm::StructType*) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1b1bd88) #45 0x00007abcf0e07472 clang::CodeGen::CodeGenTypes::ConvertRecordDeclType(clang::RecordDecl const*) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1c07472) #46 0x00007abcf0e06554 clang::CodeGen::CodeGenTypes::ConvertType(clang::QualType) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1c06554) #47 0x00007abcf0e0646f clang::CodeGen::CodeGenTypes::ConvertTypeForMem(clang::QualType, bool) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1c0646f) #48 0x00007abcf0d20390 (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1b20390) #49 0x00007abcf0d1cddf (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1b1cddf) #50 0x00007abcf0d1bd88 clang::CodeGen::CodeGenTypes::ComputeRecordLayout(clang::RecordDecl const*, llvm::StructType*) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1b1bd88) #51 0x00007abcf0e07472 clang::CodeGen::CodeGenTypes::ConvertRecordDeclType(clang::RecordDecl const*) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1c07472) #52 0x00007abcf0e06554 clang::CodeGen::CodeGenTypes::ConvertType(clang::QualType) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1c06554) #53 0x00007abcf0e0646f clang::CodeGen::CodeGenTypes::ConvertTypeForMem(clang::QualType, bool) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1c0646f) #54 0x00007abcf0e0698c clang::CodeGen::CodeGenTypes::ConvertType(clang::QualType) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1c0698c) #55 0x00007abcf0e0646f clang::CodeGen::CodeGenTypes::ConvertTypeForMem(clang::QualType, bool) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1c0646f) #56 0x00007abcf0d20390 (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1b20390) #57 0x00007abcf0d1cddf (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1b1cddf) #58 0x00007abcf0d1bd88 clang::CodeGen::CodeGenTypes::ComputeRecordLayout(clang::RecordDecl const*, llvm::StructType*) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1b1bd88) #59 0x00007abcf0e07472 clang::CodeGen::CodeGenTypes::ConvertRecordDeclType(clang::RecordDecl const*) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1c07472) #60 0x00007abcf0e06554 clang::CodeGen::CodeGenTypes::ConvertType(clang::QualType) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1c06554) #61 0x00007abcf0e0646f clang::CodeGen::CodeGenTypes::ConvertTypeForMem(clang::QualType, bool) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1c0646f) #62 0x00007abcf0e0698c clang::CodeGen::CodeGenTypes::ConvertType(clang::QualType) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1c0698c) #63 0x00007abcf0e0646f clang::CodeGen::CodeGenTypes::ConvertTypeForMem(clang::QualType, bool) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1c0646f) #64 0x00007abcf0d20390 (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1b20390) #65 0x00007abcf0d1cddf (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1b1cddf) #66 0x00007abcf0d1bd88 clang::CodeGen::CodeGenTypes::ComputeRecordLayout(clang::RecordDecl const*, llvm::StructType*) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1b1bd88) #67 0x00007abcf0e07472 clang::CodeGen::CodeGenTypes::ConvertRecordDeclType(clang::RecordDecl const*) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1c07472) #68 0x00007abcf0e06554 clang::CodeGen::CodeGenTypes::ConvertType(clang::QualType) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1c06554) #69 0x00007abcf0e0646f clang::CodeGen::CodeGenTypes::ConvertTypeForMem(clang::QualType, bool) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1c0646f) #70 0x00007abcf0e0698c clang::CodeGen::CodeGenTypes::ConvertType(clang::QualType) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1c0698c) #71 0x00007abcf0e0646f clang::CodeGen::CodeGenTypes::ConvertTypeForMem(clang::QualType, bool) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1c0646f) #72 0x00007abcf0d20390 (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1b20390) #73 0x00007abcf0d1cddf (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1b1cddf) #74 0x00007abcf0d1bd88 clang::CodeGen::CodeGenTypes::ComputeRecordLayout(clang::RecordDecl const*, llvm::StructType*) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1b1bd88) #75 0x00007abcf0e07472 clang::CodeGen::CodeGenTypes::ConvertRecordDeclType(clang::RecordDecl const*) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1c07472) #76 0x00007abcf0e06554 clang::CodeGen::CodeGenTypes::ConvertType(clang::QualType) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1c06554) #77 0x00007abcf0e0646f clang::CodeGen::CodeGenTypes::ConvertTypeForMem(clang::QualType, bool) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1c0646f) #78 0x00007abcf0e06739 clang::CodeGen::CodeGenTypes::ConvertType(clang::QualType) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1c06739) #79 0x00007abcf0e0646f clang::CodeGen::CodeGenTypes::ConvertTypeForMem(clang::QualType, bool) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1c0646f) #80 0x00007abcf0d20390 (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1b20390) #81 0x00007abcf0d1cddf (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1b1cddf) #82 0x00007abcf0d1bd88 clang::CodeGen::CodeGenTypes::ComputeRecordLayout(clang::RecordDecl const*, llvm::StructType*) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1b1bd88) #83 0x00007abcf0e07472 clang::CodeGen::CodeGenTypes::ConvertRecordDeclType(clang::RecordDecl const*) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1c07472) #84 0x00007abcf0e06554 clang::CodeGen::CodeGenTypes::ConvertType(clang::QualType) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1c06554) #85 0x00007abcf0e0646f clang::CodeGen::CodeGenTypes::ConvertTypeForMem(clang::QualType, bool) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1c0646f) #86 0x00007abcf0e0698c clang::CodeGen::CodeGenTypes::ConvertType(clang::QualType) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1c0698c) #87 0x00007abcf0e0646f clang::CodeGen::CodeGenTypes::ConvertTypeForMem(clang::QualType, bool) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1c0646f) #88 0x00007abcf0e066f7 clang::CodeGen::CodeGenTypes::ConvertType(clang::QualType) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1c066f7) #89 0x00007abcf0e0646f clang::CodeGen::CodeGenTypes::ConvertTypeForMem(clang::QualType, bool) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1c0646f) #90 0x00007abcf0d20390 (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1b20390) #91 0x00007abcf0d1cddf (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1b1cddf) #92 0x00007abcf0d1bd88 clang::CodeGen::CodeGenTypes::ComputeRecordLayout(clang::RecordDecl const*, llvm::StructType*) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1b1bd88) #93 0x00007abcf0e07472 clang::CodeGen::CodeGenTypes::ConvertRecordDeclType(clang::RecordDecl const*) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1c07472) #94 0x00007abcf0e06554 clang::CodeGen::CodeGenTypes::ConvertType(clang::QualType) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1c06554) #95 0x00007abcf0e0646f clang::CodeGen::CodeGenTypes::ConvertTypeForMem(clang::QualType, bool) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1c0646f) #96 0x00007abcf0d20390 (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1b20390) #97 0x00007abcf0d1cddf (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1b1cddf) #98 0x00007abcf0d1bd88 clang::CodeGen::CodeGenTypes::ComputeRecordLayout(clang::RecordDecl const*, llvm::StructType*) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1b1bd88) #99 0x00007abcf0e07472 clang::CodeGen::CodeGenTypes::ConvertRecordDeclType(clang::RecordDecl const*) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1c07472) #100 0x00007abcf0e06554 clang::CodeGen::CodeGenTypes::ConvertType(clang::QualType) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1c06554) #101 0x00007abcf0e0646f clang::CodeGen::CodeGenTypes::ConvertTypeForMem(clang::QualType, bool) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1c0646f) #102 0x00007abcf0e0698c clang::CodeGen::CodeGenTypes::ConvertType(clang::QualType) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1c0698c) #103 0x00007abcf0e0646f clang::CodeGen::CodeGenTypes::ConvertTypeForMem(clang::QualType, bool) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1c0646f) #104 0x00007abcf0d20390 (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1b20390) #105 0x00007abcf0d1cddf (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1b1cddf) #106 0x00007abcf0d1bd88 clang::CodeGen::CodeGenTypes::ComputeRecordLayout(clang::RecordDecl const*, llvm::StructType*) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1b1bd88) #107 0x00007abcf0e07472 clang::CodeGen::CodeGenTypes::ConvertRecordDeclType(clang::RecordDecl const*) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1c07472) #108 0x00007abcf0e06554 clang::CodeGen::CodeGenTypes::ConvertType(clang::QualType) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1c06554) #109 0x00007abcf0e0646f clang::CodeGen::CodeGenTypes::ConvertTypeForMem(clang::QualType, bool) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1c0646f) #110 0x00007abcf0d20390 (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1b20390) #111 0x00007abcf0d1cddf (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1b1cddf) #112 0x00007abcf0d1bd88 clang::CodeGen::CodeGenTypes::ComputeRecordLayout(clang::RecordDecl const*, llvm::StructType*) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1b1bd88) #113 0x00007abcf0e07472 clang::CodeGen::CodeGenTypes::ConvertRecordDeclType(clang::RecordDecl const*) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1c07472) #114 0x00007abcf0e06554 clang::CodeGen::CodeGenTypes::ConvertType(clang::QualType) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1c06554) #115 0x00007abcf0e0646f clang::CodeGen::CodeGenTypes::ConvertTypeForMem(clang::QualType, bool) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1c0646f) #116 0x00007abcf0d20390 (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1b20390) #117 0x00007abcf0d1cddf (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1b1cddf) #118 0x00007abcf0d1bd88 clang::CodeGen::CodeGenTypes::ComputeRecordLayout(clang::RecordDecl const*, llvm::StructType*) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1b1bd88) #119 0x00007abcf0e07472 clang::CodeGen::CodeGenTypes::ConvertRecordDeclType(clang::RecordDecl const*) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1c07472) #120 0x00007abcf0e06554 clang::CodeGen::CodeGenTypes::ConvertType(clang::QualType) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1c06554) #121 0x00007abcf0e0646f clang::CodeGen::CodeGenTypes::ConvertTypeForMem(clang::QualType, bool) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1c0646f) #122 0x00007abcf0e0698c clang::CodeGen::CodeGenTypes::ConvertType(clang::QualType) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1c0698c) #123 0x00007abcf0b2fad1 clang::CodeGen::CodeGenTypes::arrangeLLVMFunctionInfo(clang::CanQual<clang::Type>, bool, bool, llvm::ArrayRef<clang::CanQual<clang::Type> >, clang::FunctionType::ExtInfo, llvm::ArrayRef<clang::FunctionType::ExtParameterInfo>, clang::CodeGen::RequiredArgs) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x192fad1) #124 0x00007abcf0b2fedf (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x192fedf) #125 0x00007abcf0b2fc40 clang::CodeGen::CodeGenTypes::arrangeFreeFunctionType(clang::CanQual<clang::FunctionProtoType>) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x192fc40) #126 0x00007abcf0e07a3f clang::CodeGen::CodeGenTypes::ConvertFunctionTypeInternal(clang::QualType) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1c07a3f) #127 0x00007abcf0e066a0 clang::CodeGen::CodeGenTypes::ConvertType(clang::QualType) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1c066a0) #128 0x00007abcf0e0646f clang::CodeGen::CodeGenTypes::ConvertTypeForMem(clang::QualType, bool) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1c0646f) #129 0x00007abcf0e0698c clang::CodeGen::CodeGenTypes::ConvertType(clang::QualType) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1c0698c) #130 0x00007abcf0e0646f clang::CodeGen::CodeGenTypes::ConvertTypeForMem(clang::QualType, bool) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1c0646f) #131 0x00007abcf0d20390 (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1b20390) #132 0x00007abcf0d1cddf (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1b1cddf) #133 0x00007abcf0d1bd88 clang::CodeGen::CodeGenTypes::ComputeRecordLayout(clang::RecordDecl const*, llvm::StructType*) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1b1bd88) #134 0x00007abcf0e07472 clang::CodeGen::CodeGenTypes::ConvertRecordDeclType(clang::RecordDecl const*) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1c07472) #135 0x00007abcf0e06554 clang::CodeGen::CodeGenTypes::ConvertType(clang::QualType) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1c06554) #136 0x00007abcf0e0646f clang::CodeGen::CodeGenTypes::ConvertTypeForMem(clang::QualType, bool) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1c0646f) #137 0x00007abcf0e0698c clang::CodeGen::CodeGenTypes::ConvertType(clang::QualType) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1c0698c) #138 0x00007abcf0b2fa7b clang::CodeGen::CodeGenTypes::arrangeLLVMFunctionInfo(clang::CanQual<clang::Type>, bool, bool, llvm::ArrayRef<clang::CanQual<clang::Type> >, clang::FunctionType::ExtInfo, llvm::ArrayRef<clang::FunctionType::ExtParameterInfo>, clang::CodeGen::RequiredArgs) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x192fa7b) #139 0x00007abcf0b2fedf (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x192fedf) #140 0x00007abcf0b2fc40 clang::CodeGen::CodeGenTypes::arrangeFreeFunctionType(clang::CanQual<clang::FunctionProtoType>) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x192fc40) #141 0x00007abcf0e07a3f clang::CodeGen::CodeGenTypes::ConvertFunctionTypeInternal(clang::QualType) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1c07a3f) #142 0x00007abcf0e066a0 clang::CodeGen::CodeGenTypes::ConvertType(clang::QualType) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1c066a0) #143 0x00007abcf0e0646f clang::CodeGen::CodeGenTypes::ConvertTypeForMem(clang::QualType, bool) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1c0646f) #144 0x00007abcf0e0698c clang::CodeGen::CodeGenTypes::ConvertType(clang::QualType) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1c0698c) #145 0x00007abcf0e0646f clang::CodeGen::CodeGenTypes::ConvertTypeForMem(clang::QualType, bool) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1c0646f) #146 0x00007abcf0d20390 (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1b20390) #147 0x00007abcf0d1cddf (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1b1cddf) #148 0x00007abcf0d1bd88 clang::CodeGen::CodeGenTypes::ComputeRecordLayout(clang::RecordDecl const*, llvm::StructType*) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1b1bd88) #149 0x00007abcf0e07472 clang::CodeGen::CodeGenTypes::ConvertRecordDeclType(clang::RecordDecl const*) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1c07472) #150 0x00007abcf0e06554 clang::CodeGen::CodeGenTypes::ConvertType(clang::QualType) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1c06554) #151 0x00007abcf0e0646f clang::CodeGen::CodeGenTypes::ConvertTypeForMem(clang::QualType, bool) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1c0646f) #152 0x00007abcf0e0698c clang::CodeGen::CodeGenTypes::ConvertType(clang::QualType) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1c0698c) #153 0x00007abcf0e0646f clang::CodeGen::CodeGenTypes::ConvertTypeForMem(clang::QualType, bool) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1c0646f) #154 0x00007abcf0d20390 (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1b20390) #155 0x00007abcf0d1cddf (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1b1cddf) #156 0x00007abcf0d1bd88 clang::CodeGen::CodeGenTypes::ComputeRecordLayout(clang::RecordDecl const*, llvm::StructType*) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1b1bd88) #157 0x00007abcf0e07472 clang::CodeGen::CodeGenTypes::ConvertRecordDeclType(clang::RecordDecl const*) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1c07472) #158 0x00007abcf0e06554 clang::CodeGen::CodeGenTypes::ConvertType(clang::QualType) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1c06554) #159 0x00007abcf0e0646f clang::CodeGen::CodeGenTypes::ConvertTypeForMem(clang::QualType, bool) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1c0646f) #160 0x00007abcf0d20390 (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1b20390) #161 0x00007abcf0d1cddf (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1b1cddf) #162 0x00007abcf0d1bd88 clang::CodeGen::CodeGenTypes::ComputeRecordLayout(clang::RecordDecl const*, llvm::StructType*) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1b1bd88) #163 0x00007abcf0e07472 clang::CodeGen::CodeGenTypes::ConvertRecordDeclType(clang::RecordDecl const*) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1c07472) #164 0x00007abcf0e06554 clang::CodeGen::CodeGenTypes::ConvertType(clang::QualType) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1c06554) #165 0x00007abcf0e0646f clang::CodeGen::CodeGenTypes::ConvertTypeForMem(clang::QualType, bool) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1c0646f) #166 0x00007abcf0d20390 (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1b20390) #167 0x00007abcf0d1cddf (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1b1cddf) #168 0x00007abcf0d1bd88 clang::CodeGen::CodeGenTypes::ComputeRecordLayout(clang::RecordDecl const*, llvm::StructType*) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1b1bd88) #169 0x00007abcf0e07472 clang::CodeGen::CodeGenTypes::ConvertRecordDeclType(clang::RecordDecl const*) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1c07472) #170 0x00007abcf0e06554 clang::CodeGen::CodeGenTypes::ConvertType(clang::QualType) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1c06554) #171 0x00007abcf0e0646f clang::CodeGen::CodeGenTypes::ConvertTypeForMem(clang::QualType, bool) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1c0646f) #172 0x00007abcf0e0698c clang::CodeGen::CodeGenTypes::ConvertType(clang::QualType) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1c0698c) #173 0x00007abcf0e0646f clang::CodeGen::CodeGenTypes::ConvertTypeForMem(clang::QualType, bool) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1c0646f) #174 0x00007abcf0d20390 (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1b20390) #175 0x00007abcf0d1cddf (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1b1cddf) #176 0x00007abcf0d1bd88 clang::CodeGen::CodeGenTypes::ComputeRecordLayout(clang::RecordDecl const*, llvm::StructType*) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1b1bd88) #177 0x00007abcf0e07472 clang::CodeGen::CodeGenTypes::ConvertRecordDeclType(clang::RecordDecl const*) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1c07472) #178 0x00007abcf0e06554 clang::CodeGen::CodeGenTypes::ConvertType(clang::QualType) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1c06554) #179 0x00007abcf0e0646f clang::CodeGen::CodeGenTypes::ConvertTypeForMem(clang::QualType, bool) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1c0646f) #180 0x00007abcf0e0698c clang::CodeGen::CodeGenTypes::ConvertType(clang::QualType) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1c0698c) #181 0x00007abcf0e0646f clang::CodeGen::CodeGenTypes::ConvertTypeForMem(clang::QualType, bool) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1c0646f) #182 0x00007abcf0d20390 (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1b20390) #183 0x00007abcf0d1cddf (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1b1cddf) #184 0x00007abcf0d1bd88 clang::CodeGen::CodeGenTypes::ComputeRecordLayout(clang::RecordDecl const*, llvm::StructType*) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1b1bd88) #185 0x00007abcf0e07472 clang::CodeGen::CodeGenTypes::ConvertRecordDeclType(clang::RecordDecl const*) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1c07472) #186 0x00007abcf0e06554 clang::CodeGen::CodeGenTypes::ConvertType(clang::QualType) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1c06554) #187 0x00007abcf0e0646f clang::CodeGen::CodeGenTypes::ConvertTypeForMem(clang::QualType, bool) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1c0646f) #188 0x00007abcf0e0698c clang::CodeGen::CodeGenTypes::ConvertType(clang::QualType) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1c0698c) #189 0x00007abcf0e0646f clang::CodeGen::CodeGenTypes::ConvertTypeForMem(clang::QualType, bool) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1c0646f) #190 0x00007abcf0d20390 (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1b20390) #191 0x00007abcf0d1cddf (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1b1cddf) #192 0x00007abcf0d1bd88 clang::CodeGen::CodeGenTypes::ComputeRecordLayout(clang::RecordDecl const*, llvm::StructType*) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1b1bd88) #193 0x00007abcf0e07472 clang::CodeGen::CodeGenTypes::ConvertRecordDeclType(clang::RecordDecl const*) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1c07472) #194 0x00007abcf0e06554 clang::CodeGen::CodeGenTypes::ConvertType(clang::QualType) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1c06554) #195 0x00007abcf0e0646f clang::CodeGen::CodeGenTypes::ConvertTypeForMem(clang::QualType, bool) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1c0646f) #196 0x00007abcf0e0698c clang::CodeGen::CodeGenTypes::ConvertType(clang::QualType) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1c0698c) #197 0x00007abcf0e0646f clang::CodeGen::CodeGenTypes::ConvertTypeForMem(clang::QualType, bool) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1c0646f) #198 0x00007abcf0d20390 (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1b20390) #199 0x00007abcf0d1cddf (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1b1cddf) #200 0x00007abcf0d1bd88 clang::CodeGen::CodeGenTypes::ComputeRecordLayout(clang::RecordDecl const*, llvm::StructType*) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1b1bd88) #201 0x00007abcf0e07472 clang::CodeGen::CodeGenTypes::ConvertRecordDeclType(clang::RecordDecl const*) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1c07472) #202 0x00007abcf0e06554 clang::CodeGen::CodeGenTypes::ConvertType(clang::QualType) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1c06554) #203 0x00007abcf0e0646f clang::CodeGen::CodeGenTypes::ConvertTypeForMem(clang::QualType, bool) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1c0646f) #204 0x00007abcf0e0698c clang::CodeGen::CodeGenTypes::ConvertType(clang::QualType) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1c0698c) #205 0x00007abcf0e0646f clang::CodeGen::CodeGenTypes::ConvertTypeForMem(clang::QualType, bool) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1c0646f) #206 0x00007abcf0d20390 (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1b20390) #207 0x00007abcf0d1cddf (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1b1cddf) #208 0x00007abcf0d1bd88 clang::CodeGen::CodeGenTypes::ComputeRecordLayout(clang::RecordDecl const*, llvm::StructType*) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1b1bd88) #209 0x00007abcf0e07472 clang::CodeGen::CodeGenTypes::ConvertRecordDeclType(clang::RecordDecl const*) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1c07472) #210 0x00007abcf0e06554 clang::CodeGen::CodeGenTypes::ConvertType(clang::QualType) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1c06554) #211 0x00007abcf0e0646f clang::CodeGen::CodeGenTypes::ConvertTypeForMem(clang::QualType, bool) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1c0646f) #212 0x00007abcf0d20390 (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1b20390) #213 0x00007abcf0d1cddf (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1b1cddf) #214 0x00007abcf0d1bd88 clang::CodeGen::CodeGenTypes::ComputeRecordLayout(clang::RecordDecl const*, llvm::StructType*) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1b1bd88) #215 0x00007abcf0e07472 clang::CodeGen::CodeGenTypes::ConvertRecordDeclType(clang::RecordDecl const*) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1c07472) #216 0x00007abcf0e06554 clang::CodeGen::CodeGenTypes::ConvertType(clang::QualType) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1c06554) #217 0x00007abcf0e0646f clang::CodeGen::CodeGenTypes::ConvertTypeForMem(clang::QualType, bool) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1c0646f) #218 0x00007abcf0e0698c clang::CodeGen::CodeGenTypes::ConvertType(clang::QualType) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1c0698c) #219 0x00007abcf0e0646f clang::CodeGen::CodeGenTypes::ConvertTypeForMem(clang::QualType, bool) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1c0646f) #220 0x00007abcf0d20390 (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1b20390) #221 0x00007abcf0d1cddf (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1b1cddf) #222 0x00007abcf0d1bd88 clang::CodeGen::CodeGenTypes::ComputeRecordLayout(clang::RecordDecl const*, llvm::StructType*) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1b1bd88) #223 0x00007abcf0e07472 clang::CodeGen::CodeGenTypes::ConvertRecordDeclType(clang::RecordDecl const*) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1c07472) #224 0x00007abcf0e06554 clang::CodeGen::CodeGenTypes::ConvertType(clang::QualType) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1c06554) #225 0x00007abcf0e0646f clang::CodeGen::CodeGenTypes::ConvertTypeForMem(clang::QualType, bool) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1c0646f) #226 0x00007abcf0e0698c clang::CodeGen::CodeGenTypes::ConvertType(clang::QualType) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1c0698c) #227 0x00007abcf0e0646f clang::CodeGen::CodeGenTypes::ConvertTypeForMem(clang::QualType, bool) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1c0646f) #228 0x00007abcf0d20390 (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1b20390) #229 0x00007abcf0d1cddf (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1b1cddf) #230 0x00007abcf0d1bd88 clang::CodeGen::CodeGenTypes::ComputeRecordLayout(clang::RecordDecl const*, llvm::StructType*) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1b1bd88) #231 0x00007abcf0e07472 clang::CodeGen::CodeGenTypes::ConvertRecordDeclType(clang::RecordDecl const*) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1c07472) #232 0x00007abcf0e06554 clang::CodeGen::CodeGenTypes::ConvertType(clang::QualType) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1c06554) #233 0x00007abcf0e0646f clang::CodeGen::CodeGenTypes::ConvertTypeForMem(clang::QualType, bool) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1c0646f) #234 0x00007abcf0d20390 (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1b20390) #235 0x00007abcf0d1cddf (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1b1cddf) #236 0x00007abcf0d1bd88 clang::CodeGen::CodeGenTypes::ComputeRecordLayout(clang::RecordDecl const*, llvm::StructType*) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1b1bd88) #237 0x00007abcf0e07472 clang::CodeGen::CodeGenTypes::ConvertRecordDeclType(clang::RecordDecl const*) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1c07472) #238 0x00007abcf0e06554 clang::CodeGen::CodeGenTypes::ConvertType(clang::QualType) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1c06554) #239 0x00007abcf0e0646f clang::CodeGen::CodeGenTypes::ConvertTypeForMem(clang::QualType, bool) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1c0646f) #240 0x00007abcf0e0698c clang::CodeGen::CodeGenTypes::ConvertType(clang::QualType) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1c0698c) #241 0x00007abcf0b2fad1 clang::CodeGen::CodeGenTypes::arrangeLLVMFunctionInfo(clang::CanQual<clang::Type>, bool, bool, llvm::ArrayRef<clang::CanQual<clang::Type> >, clang::FunctionType::ExtInfo, llvm::ArrayRef<clang::FunctionType::ExtParameterInfo>, clang::CodeGen::RequiredArgs) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x192fad1) #242 0x00007abcf0b2fedf (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x192fedf) #243 0x00007abcf0b2fc40 clang::CodeGen::CodeGenTypes::arrangeFreeFunctionType(clang::CanQual<clang::FunctionProtoType>) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x192fc40) #244 0x00007abcf0e07a3f clang::CodeGen::CodeGenTypes::ConvertFunctionTypeInternal(clang::QualType) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1c07a3f) #245 0x00007abcf0e066a0 clang::CodeGen::CodeGenTypes::ConvertType(clang::QualType) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1c066a0) #246 0x00007abcf0e0646f clang::CodeGen::CodeGenTypes::ConvertTypeForMem(clang::QualType, bool) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1c0646f) #247 0x00007abcf0e0698c clang::CodeGen::CodeGenTypes::ConvertType(clang::QualType) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1c0698c) #248 0x00007abcf0e0646f clang::CodeGen::CodeGenTypes::ConvertTypeForMem(clang::QualType, bool) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1c0646f) #249 0x00007abcf0d20390 (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1b20390) #250 0x00007abcf0d1cddf (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1b1cddf) #251 0x00007abcf0d1bd88 clang::CodeGen::CodeGenTypes::ComputeRecordLayout(clang::RecordDecl const*, llvm::StructType*) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1b1bd88) #252 0x00007abcf0e07472 clang::CodeGen::CodeGenTypes::ConvertRecordDeclType(clang::RecordDecl const*) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1c07472) #253 0x00007abcf0e06554 clang::CodeGen::CodeGenTypes::ConvertType(clang::QualType) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1c06554) #254 0x00007abcf0e0646f clang::CodeGen::CodeGenTypes::ConvertTypeForMem(clang::QualType, bool) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1c0646f) #255 0x00007abcf0e0698c clang::CodeGen::CodeGenTypes::ConvertType(clang::QualType) (/lib/x86_64-linux-gnu/libclang-cpp.so.14+0x1c0698c) clang: error: clang frontend command failed with exit code 139 (use -v to see invocation) Ubuntu clang version 14.0.0-1ubuntu1.1 Target: bpfel Thread model: posix InstalledDir: /usr/bin clang: note: diagnostic msg: Error generating preprocessed source(s). Error: compile: exit status 139
I am a complete beginner to ebpf and llvm and clang, can someone help me out?
@llvm/issue-subscribers-clang-codegen
Author: Sky Singh (Akash-Singh04)
Hey, I am trying to convert the following ebpf code to go code:
This is the error trace:
I am a complete beginner to ebpf and llvm and clang, can someone help me out?