llvm / llvm-project

The LLVM Project is a collection of modular and reusable compiler and toolchain technologies.
http://llvm.org
Other
29.33k stars 12.12k forks source link

Error Trying to run bpf2go using clang and llvm #106848

Closed SkySingh04 closed 1 month ago

SkySingh04 commented 2 months 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?

llvmbot commented 2 months ago

@llvm/issue-subscribers-clang-codegen

Author: Sky Singh (Akash-Singh04)

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?