llvm / llvm-project

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

[Trunk][LLVM, OpenMP, Offload] Running program built with `--offload-arch` causes CommandLine Error #113326

Open Thyre opened 1 day ago

Thyre commented 1 day ago

On my workstation (specs at the end) I do a daily build of LLVM/Clang for testing and development. A few weeks ago, I ran into the issue that offloading to my AMD GPU in the workstation stopped working. Compilation works fine, but actually running the program ends in with following error message:

: CommandLine Error: Option 'abort-on-max-devirt-iterations-reached' registered more than once!
LLVM ERROR: inconsistency in registered CommandLine options
[1]    4146084 IOT instruction (core dumped)  ./a.out

This error has persisted since then and happens independently of the ROCm version used. For a reproducer, an empty main function is sufficient. Testing AOMP 20.0-0, ROCm 6.2.0, Clang 18.1.8, all work totally fine.


I build LLVM with the following build commands:

cd /opt/apps/sources/LLVM/llvm-project
git fetch && git checkout -f main && git pull
rm -rf _crontab && mkdir -p _crontab && cd _crontab

cmake -G "Ninja" ../llvm  \
    -DCMAKE_BUILD_TYPE=Release \
    -DLLVM_ENABLE_PROJECTS="clang;flang;lld" \
    -DLLVM_ENABLE_RUNTIMES:STRING="openmp;offload;libunwind;libcxxabi;libcxx;compiler-rt" \
    -DLLVM_LINK_LLVM_DYLIB:BOOL=On \
    -DCLANG_LINK_CLANG_DYLIB:BOOL=On \
    -DLLVM_CCACHE_BUILD=On \
    -DLLVM_ENABLE_ASSERTIONS:BOOL=ON \
    -DLLVM_PARALLEL_LINK_JOBS=4 \
    -DLLVM_TARGETS_TO_BUILD="X86;AMDGPU" \
    -DLLVM_ENABLE_PLUGINS:BOOL=On \
    -DCLANG_ENABLE_PLUGINS:BOOL=On \
    -DCMAKE_INSTALL_PREFIX=/opt/apps/software/Clang/trunk/ \
    -DLLVM_ENABLE_RTTI=ON

ninja -j20 && rm -rf /opt/apps/software/Clang/trunk && ninja install

Using this Clang installation (and ROCm 6.2.0 for example), the following steps can reproduce the issue:

$ echo "int main(){}" > test.c
$ clang -fopenmp --offload-arch=gfx1101 --rocm-path=/opt/apps/software/ROCm/6.2.0 minimal.c
$ ldd ./a.out
    linux-vdso.so.1 (0x00007ffd87db8000)
    libomp.so => /opt/apps/software/Clang/trunk/lib/x86_64-unknown-linux-gnu/libomp.so (0x00007cf78ef6b000)
    libomptarget.so.20.0git => /opt/apps/software/Clang/trunk/lib/x86_64-unknown-linux-gnu/libomptarget.so.20.0git (0x00007cf78ee65000)
    libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007cf78ec00000)
    /lib64/ld-linux-x86-64.so.2 (0x00007cf78f071000)
    libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007cf78eb19000)
    libLLVM.so.20.0git => /opt/apps/software/Clang/trunk/lib/libLLVM.so.20.0git (0x00007cf787400000)
    libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007cf78ee33000)
    libstdc++.so.6 => /lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007cf787000000)
    libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007cf78eaf9000)
$ ./a.out
: CommandLine Error: Option 'abort-on-max-devirt-iterations-reached' registered more than once!
LLVM ERROR: inconsistency in registered CommandLine options
[1]    4146695 IOT instruction (core dumped)  ./a.out

Here's also the verbose compile output:

Click to open ```console $ clang --verbose -fopenmp --offload-arch=gfx1101 --rocm-path=/opt/apps/software/ROCm/6.2.0 minimal.c clang version 20.0.0git (https://github.com/llvm/llvm-project.git d6e714b10e102eb32e64e04bf177226dbe16d0e7) Target: x86_64-unknown-linux-gnu Thread model: posix InstalledDir: /opt/apps/software/Clang/trunk/bin Build config: +assertions Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/11 Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/12 Selected GCC installation: /usr/lib/gcc/x86_64-linux-gnu/12 Candidate multilib: .;@m64 Selected multilib: .;@m64 Found HIP installation: /opt/apps/software/ROCm/6.2.0, version 6.2.41133 "/opt/apps/software/Clang/trunk/bin/clang-20" -cc1 -triple x86_64-unknown-linux-gnu -emit-llvm-bc -emit-llvm-uselists -dumpdir a- -disable-free -clear-ast-before-backend -main-file-name minimal.c -mrelocation-model pic -pic-level 2 -pic-is-pie -mframe-pointer=all -fmath-errno -ffp-contract=on -fno-rounding-math -mconstructor-aliases -funwind-tables=2 -target-cpu x86-64 -tune-cpu generic -debugger-tuning=gdb -fdebug-compilation-dir=/home/jreuter -v -fcoverage-compilation-dir=/home/jreuter -resource-dir /opt/apps/software/Clang/trunk/lib/clang/20 -I/opt/apps/software/Clang/trunk/include -internal-isystem /opt/apps/software/Clang/trunk/lib/clang/20/include/llvm_libc_wrappers -internal-isystem /opt/apps/software/Clang/trunk/lib/clang/20/include -internal-isystem /usr/local/include -internal-isystem /usr/lib/gcc/x86_64-linux-gnu/12/../../../../x86_64-linux-gnu/include -internal-externc-isystem /usr/include/x86_64-linux-gnu -internal-externc-isystem /include -internal-externc-isystem /usr/include -internal-isystem /opt/apps/software/Clang/trunk/lib/clang/20/include -internal-isystem /usr/local/include -internal-isystem /usr/lib/gcc/x86_64-linux-gnu/12/../../../../x86_64-linux-gnu/include -internal-externc-isystem /usr/include/x86_64-linux-gnu -internal-externc-isystem /include -internal-externc-isystem /usr/include -ferror-limit 19 -fopenmp -fgnuc-version=4.2.1 -fskip-odr-check-in-gmf -fcolor-diagnostics -disable-llvm-passes -fopenmp-targets=amdgcn-amd-amdhsa -faddrsig -D__GCC_HAVE_DWARF2_CFI_ASM=1 -o /tmp/minimal-aae8fd.bc -x c minimal.c clang -cc1 version 20.0.0git based upon LLVM 20.0.0git default target x86_64-unknown-linux-gnu ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/12/../../../../x86_64-linux-gnu/include" ignoring nonexistent directory "/include" ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/12/../../../../x86_64-linux-gnu/include" ignoring nonexistent directory "/include" ignoring duplicate directory "/opt/apps/software/Clang/trunk/lib/clang/20/include" ignoring duplicate directory "/usr/local/include" ignoring duplicate directory "/usr/include/x86_64-linux-gnu" ignoring duplicate directory "/usr/include" #include "..." search starts here: #include <...> search starts here: /opt/apps/software/Clang/trunk/include /opt/apps/software/Clang/trunk/lib/clang/20/include/llvm_libc_wrappers /opt/apps/software/Clang/trunk/lib/clang/20/include /usr/local/include /usr/include/x86_64-linux-gnu /usr/include End of search list. "/opt/apps/software/Clang/trunk/bin/clang-20" -cc1 -triple amdgcn-amd-amdhsa -aux-triple x86_64-unknown-linux-gnu -Werror=atomic-alignment -emit-llvm-bc -emit-llvm-uselists -dumpdir a- -disable-free -clear-ast-before-backend -main-file-name minimal.c -mrelocation-model pic -pic-level 2 -fhalf-no-semantic-interposition -mframe-pointer=all -ffp-contract=on -fno-rounding-math -mconstructor-aliases -mlink-builtin-bitcode /opt/apps/software/ROCm/6.2.0/amdgcn/bitcode/ocml.bc -mlink-builtin-bitcode /opt/apps/software/ROCm/6.2.0/amdgcn/bitcode/oclc_daz_opt_off.bc -mlink-builtin-bitcode /opt/apps/software/ROCm/6.2.0/amdgcn/bitcode/oclc_unsafe_math_off.bc -mlink-builtin-bitcode /opt/apps/software/ROCm/6.2.0/amdgcn/bitcode/oclc_finite_only_off.bc -mlink-builtin-bitcode /opt/apps/software/ROCm/6.2.0/amdgcn/bitcode/oclc_correctly_rounded_sqrt_on.bc -mlink-builtin-bitcode /opt/apps/software/ROCm/6.2.0/amdgcn/bitcode/oclc_wavefrontsize64_off.bc -mlink-builtin-bitcode /opt/apps/software/ROCm/6.2.0/amdgcn/bitcode/oclc_isa_version_1101.bc -mlink-builtin-bitcode /opt/apps/software/ROCm/6.2.0/amdgcn/bitcode/oclc_abi_version_400.bc -target-cpu gfx1101 -debugger-tuning=gdb -fdebug-compilation-dir=/home/jreuter -v -resource-dir /opt/apps/software/Clang/trunk/lib/clang/20 -internal-isystem /opt/apps/software/Clang/trunk/lib/clang/20/include/openmp_wrappers -include __clang_openmp_device_functions.h -I/opt/apps/software/Clang/trunk/include -internal-isystem /opt/apps/software/Clang/trunk/lib/clang/20/include/llvm_libc_wrappers -internal-isystem /opt/apps/software/Clang/trunk/lib/clang/20/include -internal-isystem /usr/local/include -internal-isystem /usr/lib/gcc/x86_64-linux-gnu/12/../../../../x86_64-linux-gnu/include -internal-externc-isystem /usr/include/x86_64-linux-gnu -internal-externc-isystem /include -internal-externc-isystem /usr/include -internal-isystem /opt/apps/software/Clang/trunk/lib/clang/20/include -internal-isystem /usr/local/include -internal-isystem /usr/lib/gcc/x86_64-linux-gnu/12/../../../../x86_64-linux-gnu/include -internal-externc-isystem /usr/include/x86_64-linux-gnu -internal-externc-isystem /include -internal-externc-isystem /usr/include -ferror-limit 19 -fvisibility=protected -fopenmp -fgnuc-version=4.2.1 -fskip-odr-check-in-gmf -fcolor-diagnostics -fopenmp-is-target-device -fopenmp-host-ir-file-path /tmp/minimal-aae8fd.bc -faddrsig -o /tmp/minimal-gfx1101-6fd2e8.bc -x c minimal.c clang -cc1 version 20.0.0git based upon LLVM 20.0.0git default target x86_64-unknown-linux-gnu ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/12/../../../../x86_64-linux-gnu/include" ignoring nonexistent directory "/include" ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/12/../../../../x86_64-linux-gnu/include" ignoring nonexistent directory "/include" ignoring duplicate directory "/opt/apps/software/Clang/trunk/lib/clang/20/include" ignoring duplicate directory "/usr/local/include" ignoring duplicate directory "/usr/include/x86_64-linux-gnu" ignoring duplicate directory "/usr/include" ignoring duplicate directory "/usr/local/include" ignoring duplicate directory "/opt/apps/software/Clang/trunk/lib/clang/20/include" ignoring duplicate directory "/usr/include" #include "..." search starts here: #include <...> search starts here: /opt/apps/software/Clang/trunk/include /opt/apps/software/Clang/trunk/lib/clang/20/include/openmp_wrappers /opt/apps/software/Clang/trunk/lib/clang/20/include/llvm_libc_wrappers /opt/apps/software/Clang/trunk/lib/clang/20/include /usr/local/include /usr/include/x86_64-linux-gnu /usr/include End of search list. "/opt/apps/software/Clang/trunk/bin/clang-offload-packager" -o /tmp/minimal-d3830b.out --image=file=/tmp/minimal-gfx1101-6fd2e8.bc,triple=amdgcn-amd-amdhsa,arch=gfx1101,kind=openmp "/opt/apps/software/Clang/trunk/bin/clang-20" -cc1 -triple x86_64-unknown-linux-gnu -emit-obj -dumpdir a- -disable-free -clear-ast-before-backend -main-file-name minimal.c -mrelocation-model pic -pic-level 2 -pic-is-pie -mframe-pointer=all -fmath-errno -ffp-contract=on -fno-rounding-math -mconstructor-aliases -funwind-tables=2 -target-cpu x86-64 -tune-cpu generic -debugger-tuning=gdb -fdebug-compilation-dir=/home/jreuter -v -fcoverage-compilation-dir=/home/jreuter -resource-dir /opt/apps/software/Clang/trunk/lib/clang/20 -ferror-limit 19 -fopenmp -fgnuc-version=4.2.1 -fskip-odr-check-in-gmf -fcolor-diagnostics -fembed-offload-object=/tmp/minimal-d3830b.out -fopenmp-targets=amdgcn-amd-amdhsa -faddrsig -D__GCC_HAVE_DWARF2_CFI_ASM=1 -o /tmp/minimal-c5e49f.o -x ir /tmp/minimal-aae8fd.bc clang -cc1 version 20.0.0git based upon LLVM 20.0.0git default target x86_64-unknown-linux-gnu "/opt/apps/software/Clang/trunk/bin/clang-linker-wrapper" --host-triple=x86_64-unknown-linux-gnu --wrapper-verbose --linker-path=/usr/bin/ld -z relro --hash-style=gnu --eh-frame-hdr -m elf_x86_64 -pie -dynamic-linker /lib64/ld-linux-x86-64.so.2 -o a.out /lib/x86_64-linux-gnu/Scrt1.o /lib/x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/12/crtbeginS.o -L/opt/apps/software/Clang/trunk/bin/../lib/x86_64-unknown-linux-gnu -L/opt/apps/software/Clang/trunk/lib/clang/20/lib/x86_64-unknown-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/12 -L/usr/lib/gcc/x86_64-linux-gnu/12/../../../../lib64 -L/lib/x86_64-linux-gnu -L/lib/../lib64 -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib64 -L/lib -L/usr/lib -L/opt/apps/software/Clang/trunk/lib/x86_64-unknown-linux-gnu -L/opt/apps/software/Clang/trunk/lib /tmp/minimal-c5e49f.o -lomp -lomptarget -lomptarget.devicertl -L/opt/apps/software/Clang/trunk/lib -lgcc --as-needed -lgcc_s --no-as-needed -lpthread -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/gcc/x86_64-linux-gnu/12/crtendS.o /lib/x86_64-linux-gnu/crtn.o -verbose "/opt/apps/software/Clang/trunk/bin/clang" --no-default-config -o /tmp/a.out.amdgcn.gfx1101-2c151a.img --target=amdgcn-amd-amdhsa -mcpu=gfx1101 -O2 -flto -Wl,--no-undefined /tmp/minimal-c5e49f-amdgcn-amd-amdhsa-gfx1101-9ecd48.o /tmp/devicertl-amdgpu-gfx1101-amdgcn-amd-amdhsa-gfx1101-405c53.o -v clang version 20.0.0git (https://github.com/llvm/llvm-project.git d6e714b10e102eb32e64e04bf177226dbe16d0e7) Target: amdgcn-amd-amdhsa Thread model: posix InstalledDir: /opt/apps/software/Clang/trunk/bin Build config: +assertions "/opt/apps/software/Clang/trunk/bin/ld.lld" --no-undefined -shared --no-undefined /tmp/minimal-c5e49f-amdgcn-amd-amdhsa-gfx1101-9ecd48.o /tmp/devicertl-amdgpu-gfx1101-amdgcn-amd-amdhsa-gfx1101-405c53.o -plugin-opt=mcpu=gfx1101 -plugin-opt=O2 --lto-CGO2 -o /tmp/a.out.amdgcn.gfx1101-2c151a.img "/usr/bin/ld" -z relro --hash-style=gnu --eh-frame-hdr -m elf_x86_64 -pie -dynamic-linker /lib64/ld-linux-x86-64.so.2 -o a.out /tmp/a.out.openmp.image.wrapper-4d8850.o /lib/x86_64-linux-gnu/Scrt1.o /lib/x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/12/crtbeginS.o -L /opt/apps/software/Clang/trunk/bin/../lib/x86_64-unknown-linux-gnu -L /opt/apps/software/Clang/trunk/lib/clang/20/lib/x86_64-unknown-linux-gnu -L /usr/lib/gcc/x86_64-linux-gnu/12 -L /usr/lib/gcc/x86_64-linux-gnu/12/../../../../lib64 -L /lib/x86_64-linux-gnu -L /lib/../lib64 -L /usr/lib/x86_64-linux-gnu -L /usr/lib/../lib64 -L /lib -L /usr/lib -L /opt/apps/software/Clang/trunk/lib/x86_64-unknown-linux-gnu -L /opt/apps/software/Clang/trunk/lib /tmp/minimal-c5e49f.o -l omp -l omptarget -l omptarget.devicertl -L /opt/apps/software/Clang/trunk/lib -l gcc --as-needed -l gcc_s --no-as-needed -l pthread -l c -l gcc --as-needed -l gcc_s --no-as-needed /usr/lib/gcc/x86_64-linux-gnu/12/crtendS.o /lib/x86_64-linux-gnu/crtn.o -verbose GNU ld (GNU Binutils for Ubuntu) 2.38 Supported emulations: elf_x86_64 elf32_x86_64 elf_i386 elf_iamcu elf_l1om elf_k1om i386pep i386pe using internal linker script: ================================================== /* Script for -pie -z combreloc -z separate-code */ /* Copyright (C) 2014-2022 Free Software Foundation, Inc. Copying and distribution of this script, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. */ OUTPUT_FORMAT("elf64-x86-64", "elf64-x86-64", "elf64-x86-64") OUTPUT_ARCH(i386:x86-64) ENTRY(_start) SEARCH_DIR("=/usr/local/lib/x86_64-linux-gnu"); SEARCH_DIR("=/lib/x86_64-linux-gnu"); SEARCH_DIR("=/usr/lib/x86_64-linux-gnu"); SEARCH_DIR("=/usr/lib/x86_64-linux-gnu64"); SEARCH_DIR("=/usr/local/lib64"); SEARCH_DIR("=/lib64"); SEARCH_DIR("=/usr/lib64"); SEARCH_DIR("=/usr/local/lib"); SEARCH_DIR("=/lib"); SEARCH_DIR("=/usr/lib"); SEARCH_DIR("=/usr/x86_64-linux-gnu/lib64"); SEARCH_DIR("=/usr/x86_64-linux-gnu/lib"); SECTIONS { PROVIDE (__executable_start = SEGMENT_START("text-segment", 0)); . = SEGMENT_START("text-segment", 0) + SIZEOF_HEADERS; .interp : { *(.interp) } .note.gnu.build-id : { *(.note.gnu.build-id) } .hash : { *(.hash) } .gnu.hash : { *(.gnu.hash) } .dynsym : { *(.dynsym) } .dynstr : { *(.dynstr) } .gnu.version : { *(.gnu.version) } .gnu.version_d : { *(.gnu.version_d) } .gnu.version_r : { *(.gnu.version_r) } .rela.dyn : { *(.rela.init) *(.rela.text .rela.text.* .rela.gnu.linkonce.t.*) *(.rela.fini) *(.rela.rodata .rela.rodata.* .rela.gnu.linkonce.r.*) *(.rela.data .rela.data.* .rela.gnu.linkonce.d.*) *(.rela.tdata .rela.tdata.* .rela.gnu.linkonce.td.*) *(.rela.tbss .rela.tbss.* .rela.gnu.linkonce.tb.*) *(.rela.ctors) *(.rela.dtors) *(.rela.got) *(.rela.bss .rela.bss.* .rela.gnu.linkonce.b.*) *(.rela.ldata .rela.ldata.* .rela.gnu.linkonce.l.*) *(.rela.lbss .rela.lbss.* .rela.gnu.linkonce.lb.*) *(.rela.lrodata .rela.lrodata.* .rela.gnu.linkonce.lr.*) *(.rela.ifunc) } .rela.plt : { *(.rela.plt) *(.rela.iplt) } .relr.dyn : { *(.relr.dyn) } . = ALIGN(CONSTANT (MAXPAGESIZE)); .init : { KEEP (*(SORT_NONE(.init))) } .plt : { *(.plt) *(.iplt) } .plt.got : { *(.plt.got) } .plt.sec : { *(.plt.sec) } .text : { *(.text.unlikely .text.*_unlikely .text.unlikely.*) *(.text.exit .text.exit.*) *(.text.startup .text.startup.*) *(.text.hot .text.hot.*) *(SORT(.text.sorted.*)) *(.text .stub .text.* .gnu.linkonce.t.*) /* .gnu.warning sections are handled specially by elf.em. */ *(.gnu.warning) } .fini : { KEEP (*(SORT_NONE(.fini))) } PROVIDE (__etext = .); PROVIDE (_etext = .); PROVIDE (etext = .); . = ALIGN(CONSTANT (MAXPAGESIZE)); /* Adjust the address for the rodata segment. We want to adjust up to the same address within the page on the next page up. */ . = SEGMENT_START("rodata-segment", ALIGN(CONSTANT (MAXPAGESIZE)) + (. & (CONSTANT (MAXPAGESIZE) - 1))); .rodata : { *(.rodata .rodata.* .gnu.linkonce.r.*) } .rodata1 : { *(.rodata1) } .eh_frame_hdr : { *(.eh_frame_hdr) *(.eh_frame_entry .eh_frame_entry.*) } .eh_frame : ONLY_IF_RO { KEEP (*(.eh_frame)) *(.eh_frame.*) } .gcc_except_table : ONLY_IF_RO { *(.gcc_except_table .gcc_except_table.*) } .gnu_extab : ONLY_IF_RO { *(.gnu_extab*) } /* These sections are generated by the Sun/Oracle C++ compiler. */ .exception_ranges : ONLY_IF_RO { *(.exception_ranges*) } /* Adjust the address for the data segment. We want to adjust up to the same address within the page on the next page up. */ . = DATA_SEGMENT_ALIGN (CONSTANT (MAXPAGESIZE), CONSTANT (COMMONPAGESIZE)); /* Exception handling */ .eh_frame : ONLY_IF_RW { KEEP (*(.eh_frame)) *(.eh_frame.*) } .gnu_extab : ONLY_IF_RW { *(.gnu_extab) } .gcc_except_table : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) } .exception_ranges : ONLY_IF_RW { *(.exception_ranges*) } /* Thread Local Storage sections */ .tdata : { PROVIDE_HIDDEN (__tdata_start = .); *(.tdata .tdata.* .gnu.linkonce.td.*) } .tbss : { *(.tbss .tbss.* .gnu.linkonce.tb.*) *(.tcommon) } .preinit_array : { PROVIDE_HIDDEN (__preinit_array_start = .); KEEP (*(.preinit_array)) PROVIDE_HIDDEN (__preinit_array_end = .); } .init_array : { PROVIDE_HIDDEN (__init_array_start = .); KEEP (*(SORT_BY_INIT_PRIORITY(.init_array.*) SORT_BY_INIT_PRIORITY(.ctors.*))) KEEP (*(.init_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .ctors)) PROVIDE_HIDDEN (__init_array_end = .); } .fini_array : { PROVIDE_HIDDEN (__fini_array_start = .); KEEP (*(SORT_BY_INIT_PRIORITY(.fini_array.*) SORT_BY_INIT_PRIORITY(.dtors.*))) KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors)) PROVIDE_HIDDEN (__fini_array_end = .); } .ctors : { /* gcc uses crtbegin.o to find the start of the constructors, so we make sure it is first. Because this is a wildcard, it doesn't matter if the user does not actually link against crtbegin.o; the linker won't look for a file to match a wildcard. The wildcard also means that it doesn't matter which directory crtbegin.o is in. */ KEEP (*crtbegin.o(.ctors)) KEEP (*crtbegin?.o(.ctors)) /* We don't want to include the .ctor section from the crtend.o file until after the sorted ctors. The .ctor section from the crtend file contains the end of ctors marker and it must be last */ KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors)) KEEP (*(SORT(.ctors.*))) KEEP (*(.ctors)) } .dtors : { KEEP (*crtbegin.o(.dtors)) KEEP (*crtbegin?.o(.dtors)) KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .dtors)) KEEP (*(SORT(.dtors.*))) KEEP (*(.dtors)) } .jcr : { KEEP (*(.jcr)) } .data.rel.ro : { *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*) *(.data.rel.ro .data.rel.ro.* .gnu.linkonce.d.rel.ro.*) } .dynamic : { *(.dynamic) } .got : { *(.got) *(.igot) } . = DATA_SEGMENT_RELRO_END (SIZEOF (.got.plt) >= 24 ? 24 : 0, .); .got.plt : { *(.got.plt) *(.igot.plt) } .data : { *(.data .data.* .gnu.linkonce.d.*) SORT(CONSTRUCTORS) } .data1 : { *(.data1) } _edata = .; PROVIDE (edata = .); . = .; __bss_start = .; .bss : { *(.dynbss) *(.bss .bss.* .gnu.linkonce.b.*) *(COMMON) /* Align here to ensure that the .bss section occupies space up to _end. Align after .bss to ensure correct alignment even if the .bss section disappears because there are no input sections. FIXME: Why do we need it? When there is no .bss section, we do not pad the .data section. */ . = ALIGN(. != 0 ? 64 / 8 : 1); } .lbss : { *(.dynlbss) *(.lbss .lbss.* .gnu.linkonce.lb.*) *(LARGE_COMMON) } . = ALIGN(64 / 8); . = SEGMENT_START("ldata-segment", .); .lrodata ALIGN(CONSTANT (MAXPAGESIZE)) + (. & (CONSTANT (MAXPAGESIZE) - 1)) : { *(.lrodata .lrodata.* .gnu.linkonce.lr.*) } .ldata ALIGN(CONSTANT (MAXPAGESIZE)) + (. & (CONSTANT (MAXPAGESIZE) - 1)) : { *(.ldata .ldata.* .gnu.linkonce.l.*) . = ALIGN(. != 0 ? 64 / 8 : 1); } . = ALIGN(64 / 8); _end = .; PROVIDE (end = .); . = DATA_SEGMENT_END (.); /* Stabs debugging sections. */ .stab 0 : { *(.stab) } .stabstr 0 : { *(.stabstr) } .stab.excl 0 : { *(.stab.excl) } .stab.exclstr 0 : { *(.stab.exclstr) } .stab.index 0 : { *(.stab.index) } .stab.indexstr 0 : { *(.stab.indexstr) } .comment 0 : { *(.comment) } .gnu.build.attributes : { *(.gnu.build.attributes .gnu.build.attributes.*) } /* DWARF debug sections. Symbols in the DWARF debugging sections are relative to the beginning of the section so we begin them at 0. */ /* DWARF 1. */ .debug 0 : { *(.debug) } .line 0 : { *(.line) } /* GNU DWARF 1 extensions. */ .debug_srcinfo 0 : { *(.debug_srcinfo) } .debug_sfnames 0 : { *(.debug_sfnames) } /* DWARF 1.1 and DWARF 2. */ .debug_aranges 0 : { *(.debug_aranges) } .debug_pubnames 0 : { *(.debug_pubnames) } /* DWARF 2. */ .debug_info 0 : { *(.debug_info .gnu.linkonce.wi.*) } .debug_abbrev 0 : { *(.debug_abbrev) } .debug_line 0 : { *(.debug_line .debug_line.* .debug_line_end) } .debug_frame 0 : { *(.debug_frame) } .debug_str 0 : { *(.debug_str) } .debug_loc 0 : { *(.debug_loc) } .debug_macinfo 0 : { *(.debug_macinfo) } /* SGI/MIPS DWARF 2 extensions. */ .debug_weaknames 0 : { *(.debug_weaknames) } .debug_funcnames 0 : { *(.debug_funcnames) } .debug_typenames 0 : { *(.debug_typenames) } .debug_varnames 0 : { *(.debug_varnames) } /* DWARF 3. */ .debug_pubtypes 0 : { *(.debug_pubtypes) } .debug_ranges 0 : { *(.debug_ranges) } /* DWARF 5. */ .debug_addr 0 : { *(.debug_addr) } .debug_line_str 0 : { *(.debug_line_str) } .debug_loclists 0 : { *(.debug_loclists) } .debug_macro 0 : { *(.debug_macro) } .debug_names 0 : { *(.debug_names) } .debug_rnglists 0 : { *(.debug_rnglists) } .debug_str_offsets 0 : { *(.debug_str_offsets) } .debug_sup 0 : { *(.debug_sup) } .gnu.attributes 0 : { KEEP (*(.gnu.attributes)) } /DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) } } ================================================== /usr/bin/ld: mode elf_x86_64 attempt to open /tmp/a.out.openmp.image.wrapper-4d8850.o succeeded /tmp/a.out.openmp.image.wrapper-4d8850.o attempt to open /lib/x86_64-linux-gnu/Scrt1.o succeeded /lib/x86_64-linux-gnu/Scrt1.o attempt to open /lib/x86_64-linux-gnu/crti.o succeeded /lib/x86_64-linux-gnu/crti.o attempt to open /usr/lib/gcc/x86_64-linux-gnu/12/crtbeginS.o succeeded /usr/lib/gcc/x86_64-linux-gnu/12/crtbeginS.o attempt to open /tmp/minimal-c5e49f.o succeeded /tmp/minimal-c5e49f.o attempt to open /opt/apps/software/Clang/trunk/bin/../lib/x86_64-unknown-linux-gnu/libomp.so succeeded /opt/apps/software/Clang/trunk/bin/../lib/x86_64-unknown-linux-gnu/libomp.so attempt to open /opt/apps/software/Clang/trunk/bin/../lib/x86_64-unknown-linux-gnu/libomptarget.so succeeded /opt/apps/software/Clang/trunk/bin/../lib/x86_64-unknown-linux-gnu/libomptarget.so attempt to open /opt/apps/software/Clang/trunk/bin/../lib/x86_64-unknown-linux-gnu/libomptarget.devicertl.so failed attempt to open /opt/apps/software/Clang/trunk/bin/../lib/x86_64-unknown-linux-gnu/libomptarget.devicertl.a succeeded /opt/apps/software/Clang/trunk/bin/../lib/x86_64-unknown-linux-gnu/libomptarget.devicertl.a attempt to open /opt/apps/software/Clang/trunk/bin/../lib/x86_64-unknown-linux-gnu/libgcc.so failed attempt to open /opt/apps/software/Clang/trunk/bin/../lib/x86_64-unknown-linux-gnu/libgcc.a failed attempt to open /opt/apps/software/Clang/trunk/lib/clang/20/lib/x86_64-unknown-linux-gnu/libgcc.so failed attempt to open /opt/apps/software/Clang/trunk/lib/clang/20/lib/x86_64-unknown-linux-gnu/libgcc.a failed attempt to open /usr/lib/gcc/x86_64-linux-gnu/12/libgcc.so failed attempt to open /usr/lib/gcc/x86_64-linux-gnu/12/libgcc.a succeeded /usr/lib/gcc/x86_64-linux-gnu/12/libgcc.a attempt to open /opt/apps/software/Clang/trunk/bin/../lib/x86_64-unknown-linux-gnu/libgcc_s.so failed attempt to open /opt/apps/software/Clang/trunk/bin/../lib/x86_64-unknown-linux-gnu/libgcc_s.a failed attempt to open /opt/apps/software/Clang/trunk/lib/clang/20/lib/x86_64-unknown-linux-gnu/libgcc_s.so failed attempt to open /opt/apps/software/Clang/trunk/lib/clang/20/lib/x86_64-unknown-linux-gnu/libgcc_s.a failed attempt to open /usr/lib/gcc/x86_64-linux-gnu/12/libgcc_s.so succeeded opened script file /usr/lib/gcc/x86_64-linux-gnu/12/libgcc_s.so /usr/lib/gcc/x86_64-linux-gnu/12/libgcc_s.so opened script file /usr/lib/gcc/x86_64-linux-gnu/12/libgcc_s.so attempt to open /usr/lib/gcc/x86_64-linux-gnu/12/libgcc_s.so.1 failed attempt to open libgcc_s.so.1 failed attempt to open /opt/apps/software/Clang/trunk/bin/../lib/x86_64-unknown-linux-gnu/libgcc_s.so.1 failed attempt to open /opt/apps/software/Clang/trunk/lib/clang/20/lib/x86_64-unknown-linux-gnu/libgcc_s.so.1 failed attempt to open /usr/lib/gcc/x86_64-linux-gnu/12/libgcc_s.so.1 failed attempt to open /usr/lib/gcc/x86_64-linux-gnu/12/../../../../lib64/libgcc_s.so.1 failed attempt to open /lib/x86_64-linux-gnu/libgcc_s.so.1 succeeded /lib/x86_64-linux-gnu/libgcc_s.so.1 attempt to open /opt/apps/software/Clang/trunk/bin/../lib/x86_64-unknown-linux-gnu/libgcc.so failed attempt to open /opt/apps/software/Clang/trunk/bin/../lib/x86_64-unknown-linux-gnu/libgcc.a failed attempt to open /opt/apps/software/Clang/trunk/lib/clang/20/lib/x86_64-unknown-linux-gnu/libgcc.so failed attempt to open /opt/apps/software/Clang/trunk/lib/clang/20/lib/x86_64-unknown-linux-gnu/libgcc.a failed attempt to open /usr/lib/gcc/x86_64-linux-gnu/12/libgcc.so failed attempt to open /usr/lib/gcc/x86_64-linux-gnu/12/libgcc.a succeeded /usr/lib/gcc/x86_64-linux-gnu/12/libgcc.a attempt to open /opt/apps/software/Clang/trunk/bin/../lib/x86_64-unknown-linux-gnu/libpthread.so failed attempt to open /opt/apps/software/Clang/trunk/bin/../lib/x86_64-unknown-linux-gnu/libpthread.a failed attempt to open /opt/apps/software/Clang/trunk/lib/clang/20/lib/x86_64-unknown-linux-gnu/libpthread.so failed attempt to open /opt/apps/software/Clang/trunk/lib/clang/20/lib/x86_64-unknown-linux-gnu/libpthread.a failed attempt to open /usr/lib/gcc/x86_64-linux-gnu/12/libpthread.so failed attempt to open /usr/lib/gcc/x86_64-linux-gnu/12/libpthread.a failed attempt to open /usr/lib/gcc/x86_64-linux-gnu/12/../../../../lib64/libpthread.so failed attempt to open /usr/lib/gcc/x86_64-linux-gnu/12/../../../../lib64/libpthread.a failed attempt to open /lib/x86_64-linux-gnu/libpthread.so failed attempt to open /lib/x86_64-linux-gnu/libpthread.a succeeded /lib/x86_64-linux-gnu/libpthread.a attempt to open /opt/apps/software/Clang/trunk/bin/../lib/x86_64-unknown-linux-gnu/libc.so failed attempt to open /opt/apps/software/Clang/trunk/bin/../lib/x86_64-unknown-linux-gnu/libc.a failed attempt to open /opt/apps/software/Clang/trunk/lib/clang/20/lib/x86_64-unknown-linux-gnu/libc.so failed attempt to open /opt/apps/software/Clang/trunk/lib/clang/20/lib/x86_64-unknown-linux-gnu/libc.a failed attempt to open /usr/lib/gcc/x86_64-linux-gnu/12/libc.so failed attempt to open /usr/lib/gcc/x86_64-linux-gnu/12/libc.a failed attempt to open /usr/lib/gcc/x86_64-linux-gnu/12/../../../../lib64/libc.so failed attempt to open /usr/lib/gcc/x86_64-linux-gnu/12/../../../../lib64/libc.a failed attempt to open /lib/x86_64-linux-gnu/libc.so succeeded opened script file /lib/x86_64-linux-gnu/libc.so /lib/x86_64-linux-gnu/libc.so opened script file /lib/x86_64-linux-gnu/libc.so attempt to open /lib/x86_64-linux-gnu/libc.so.6 succeeded /lib/x86_64-linux-gnu/libc.so.6 attempt to open /usr/lib/x86_64-linux-gnu/libc_nonshared.a succeeded /usr/lib/x86_64-linux-gnu/libc_nonshared.a (/usr/lib/x86_64-linux-gnu/libc_nonshared.a)atexit.oS attempt to open /lib64/ld-linux-x86-64.so.2 succeeded /lib64/ld-linux-x86-64.so.2 /usr/lib/x86_64-linux-gnu/libc_nonshared.a /lib64/ld-linux-x86-64.so.2 attempt to open /opt/apps/software/Clang/trunk/bin/../lib/x86_64-unknown-linux-gnu/libgcc.so failed attempt to open /opt/apps/software/Clang/trunk/bin/../lib/x86_64-unknown-linux-gnu/libgcc.a failed attempt to open /opt/apps/software/Clang/trunk/lib/clang/20/lib/x86_64-unknown-linux-gnu/libgcc.so failed attempt to open /opt/apps/software/Clang/trunk/lib/clang/20/lib/x86_64-unknown-linux-gnu/libgcc.a failed attempt to open /usr/lib/gcc/x86_64-linux-gnu/12/libgcc.so failed attempt to open /usr/lib/gcc/x86_64-linux-gnu/12/libgcc.a succeeded /usr/lib/gcc/x86_64-linux-gnu/12/libgcc.a attempt to open /opt/apps/software/Clang/trunk/bin/../lib/x86_64-unknown-linux-gnu/libgcc_s.so failed attempt to open /opt/apps/software/Clang/trunk/bin/../lib/x86_64-unknown-linux-gnu/libgcc_s.a failed attempt to open /opt/apps/software/Clang/trunk/lib/clang/20/lib/x86_64-unknown-linux-gnu/libgcc_s.so failed attempt to open /opt/apps/software/Clang/trunk/lib/clang/20/lib/x86_64-unknown-linux-gnu/libgcc_s.a failed attempt to open /usr/lib/gcc/x86_64-linux-gnu/12/libgcc_s.so succeeded opened script file /usr/lib/gcc/x86_64-linux-gnu/12/libgcc_s.so /usr/lib/gcc/x86_64-linux-gnu/12/libgcc_s.so opened script file /usr/lib/gcc/x86_64-linux-gnu/12/libgcc_s.so attempt to open /usr/lib/gcc/x86_64-linux-gnu/12/libgcc_s.so.1 failed attempt to open libgcc_s.so.1 failed attempt to open /opt/apps/software/Clang/trunk/bin/../lib/x86_64-unknown-linux-gnu/libgcc_s.so.1 failed attempt to open /opt/apps/software/Clang/trunk/lib/clang/20/lib/x86_64-unknown-linux-gnu/libgcc_s.so.1 failed attempt to open /usr/lib/gcc/x86_64-linux-gnu/12/libgcc_s.so.1 failed attempt to open /usr/lib/gcc/x86_64-linux-gnu/12/../../../../lib64/libgcc_s.so.1 failed attempt to open /lib/x86_64-linux-gnu/libgcc_s.so.1 succeeded /lib/x86_64-linux-gnu/libgcc_s.so.1 attempt to open /opt/apps/software/Clang/trunk/bin/../lib/x86_64-unknown-linux-gnu/libgcc.so failed attempt to open /opt/apps/software/Clang/trunk/bin/../lib/x86_64-unknown-linux-gnu/libgcc.a failed attempt to open /opt/apps/software/Clang/trunk/lib/clang/20/lib/x86_64-unknown-linux-gnu/libgcc.so failed attempt to open /opt/apps/software/Clang/trunk/lib/clang/20/lib/x86_64-unknown-linux-gnu/libgcc.a failed attempt to open /usr/lib/gcc/x86_64-linux-gnu/12/libgcc.so failed attempt to open /usr/lib/gcc/x86_64-linux-gnu/12/libgcc.a succeeded /usr/lib/gcc/x86_64-linux-gnu/12/libgcc.a attempt to open /usr/lib/gcc/x86_64-linux-gnu/12/crtendS.o succeeded /usr/lib/gcc/x86_64-linux-gnu/12/crtendS.o attempt to open /lib/x86_64-linux-gnu/crtn.o succeeded /lib/x86_64-linux-gnu/crtn.o ld-linux-x86-64.so.2 needed by /opt/apps/software/Clang/trunk/bin/../lib/x86_64-unknown-linux-gnu/libomp.so found ld-linux-x86-64.so.2 at /lib64/ld-linux-x86-64.so.2 libm.so.6 needed by /opt/apps/software/Clang/trunk/bin/../lib/x86_64-unknown-linux-gnu/libomptarget.so attempt to open /opt/apps/software/Clang/trunk/lib/x86_64-unknown-linux-gnu/libm.so.6 failed attempt to open /opt/apps/software/Clang/trunk/lib/libm.so.6 failed attempt to open /opt/apps/software/Clang/trunk/bin/../lib/x86_64-unknown-linux-gnu/libm.so.6 failed attempt to open /opt/amdgpu/lib/x86_64-linux-gnu/libm.so.6 failed attempt to open /opt/amdgpu/lib/i386-linux-gnu/libm.so.6 failed attempt to open /usr/lib/x86_64-linux-gnu/libfakeroot/libm.so.6 failed attempt to open /usr/local/lib/i386-linux-gnu/libm.so.6 failed attempt to open /usr/local/lib/i686-linux-gnu/libm.so.6 failed attempt to open /lib/i686-linux-gnu/libm.so.6 failed attempt to open /usr/lib/i686-linux-gnu/libm.so.6 failed attempt to open /usr/local/lib/libm.so.6 failed attempt to open /usr/local/lib/x86_64-linux-gnu/libm.so.6 failed found libm.so.6 at /lib/x86_64-linux-gnu/libm.so.6 libLLVM.so.20.0git needed by /opt/apps/software/Clang/trunk/bin/../lib/x86_64-unknown-linux-gnu/libomptarget.so attempt to open /opt/apps/software/Clang/trunk/lib/x86_64-unknown-linux-gnu/libLLVM.so.20.0git failed found libLLVM.so.20.0git at /opt/apps/software/Clang/trunk/lib/libLLVM.so.20.0git libz.so.1 needed by /opt/apps/software/Clang/trunk/bin/../lib/x86_64-unknown-linux-gnu/libomptarget.so attempt to open /opt/apps/software/Clang/trunk/lib/x86_64-unknown-linux-gnu/libz.so.1 failed attempt to open /opt/apps/software/Clang/trunk/lib/libz.so.1 failed attempt to open /opt/apps/software/Clang/trunk/bin/../lib/x86_64-unknown-linux-gnu/libz.so.1 failed attempt to open /opt/amdgpu/lib/x86_64-linux-gnu/libz.so.1 failed attempt to open /opt/amdgpu/lib/i386-linux-gnu/libz.so.1 failed attempt to open /usr/lib/x86_64-linux-gnu/libfakeroot/libz.so.1 failed attempt to open /usr/local/lib/i386-linux-gnu/libz.so.1 failed attempt to open /usr/local/lib/i686-linux-gnu/libz.so.1 failed attempt to open /lib/i686-linux-gnu/libz.so.1 failed attempt to open /usr/lib/i686-linux-gnu/libz.so.1 failed attempt to open /usr/local/lib/libz.so.1 failed attempt to open /usr/local/lib/x86_64-linux-gnu/libz.so.1 failed found libz.so.1 at /lib/x86_64-linux-gnu/libz.so.1 libstdc++.so.6 needed by /opt/apps/software/Clang/trunk/bin/../lib/x86_64-unknown-linux-gnu/libomptarget.so attempt to open /opt/apps/software/Clang/trunk/lib/x86_64-unknown-linux-gnu/libstdc++.so.6 failed attempt to open /opt/apps/software/Clang/trunk/lib/libstdc++.so.6 failed attempt to open /opt/apps/software/Clang/trunk/bin/../lib/x86_64-unknown-linux-gnu/libstdc++.so.6 failed attempt to open /opt/amdgpu/lib/x86_64-linux-gnu/libstdc++.so.6 failed attempt to open /opt/amdgpu/lib/i386-linux-gnu/libstdc++.so.6 failed attempt to open /usr/lib/x86_64-linux-gnu/libfakeroot/libstdc++.so.6 failed attempt to open /usr/local/lib/i386-linux-gnu/libstdc++.so.6 failed attempt to open /usr/local/lib/i686-linux-gnu/libstdc++.so.6 failed attempt to open /lib/i686-linux-gnu/libstdc++.so.6 failed attempt to open /usr/lib/i686-linux-gnu/libstdc++.so.6 failed attempt to open /usr/local/lib/libstdc++.so.6 failed attempt to open /usr/local/lib/x86_64-linux-gnu/libstdc++.so.6 failed found libstdc++.so.6 at /lib/x86_64-linux-gnu/libstdc++.so.6 libgcc_s.so.1 needed by /opt/apps/software/Clang/trunk/bin/../lib/x86_64-unknown-linux-gnu/libomptarget.so found libgcc_s.so.1 at /lib/x86_64-linux-gnu/libgcc_s.so.1 ```

System information

(Sanitized) environment

PATH=/opt/apps/software/Clang/trunk/bin:/home/jreuter/.local/bin:/home/jreuter/bin:/usr/local/bin:/usr/local/sbin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
MODULEPATH_ROOT=/opt/apps/modules
LMOD_PACKAGE_PATH=/opt/apps/config
LMOD_AVAIL_STYLE=en_grouped
MODULEPATH=/opt/apps/modules/Compiler/MPI/Clang/trunk:/opt/apps/modules/Core/Compilers:/opt/apps/modules/Core/Tools:/opt/apps/modules/Core/Libraries:/opt/apps/modules/Core/SWAT
BASH_ENV=/opt/apps/lmod/lmod/init/bash
MANPATH=/opt/apps/software/Clang/trunk/share/man:/opt/apps/lmod/lmod/share/man::
LMOD_ROOT=/opt/apps/lmod
LMOD_PKG=/opt/apps/lmod/lmod
LMOD_DIR=/opt/apps/lmod/lmod/libexec
LMOD_CMD=/opt/apps/lmod/lmod/libexec/lmod
MODULESHOME=/opt/apps/lmod/lmod
LMOD_SETTARG_FULL_SUPPORT=no
LMOD_VERSION=8.7
__LMOD_REF_COUNT_MANPATH=/opt/apps/software/Clang/trunk/share/man:1;/opt/apps/lmod/lmod/share/man:1
__LMOD_REF_COUNT_MODULEPATH=/opt/apps/modules/Compiler/MPI/Clang/trunk:1;/opt/apps/modules/Core/Compilers:1;/opt/apps/modules/Core/Tools:1;/opt/apps/modules/Core/Libraries:1;/opt/apps/modules/Core/SWAT:1
__LMOD_REF_COUNT_PATH=/opt/apps/software/Clang/trunk/bin:1;/home/jreuter/.local/bin:1;/home/jreuter/bin:1;/usr/local/bin:2;/usr/local/sbin:1;/usr/sbin:1;/usr/bin:1;/sbin:1;/bin:1;/usr/games:1;/usr/local/games:1;/snap/bin:1
_ModuleTable001_=X01vZHVsZVRhYmxlXyA9IHsKTVR2ZXJzaW9uID0gMywKY19yZWJ1aWxkVGltZSA9IGZhbHNlLApjX3Nob3J0VGltZSA9IGZhbHNlLApkZXB0aFQgPSB7fSwKZmFtaWx5ID0gewpDb21waWxlciA9ICJDbGFuZyIsCn0sCm1UID0gewpDbGFuZyA9IHsKZm4gPSAiL29wdC9hcHBzL21vZHVsZXMvQ29yZS9Db21waWxlcnMvQ2xhbmcvdHJ1bmsubHVhIiwKZnVsbE5hbWUgPSAiQ2xhbmcvdHJ1bmsiLApsb2FkT3JkZXIgPSAxLApwcm9wVCA9IHt9LApzdGFja0RlcHRoID0gMCwKc3RhdHVzID0gImFjdGl2ZSIsCnVzZXJOYW1lID0gIkNsYW5nL3RydW5rIiwKd1YgPSAiKnRydW5rLip6ZmluYWwiLAp9LAp9LAptcGF0aEEgPSB7CiIvb3B0L2FwcHMvbW9kdWxlcy9Db21waWxlci9NUEkv
_ModuleTable002_=Q2xhbmcvdHJ1bmsiLCAiL29wdC9hcHBzL21vZHVsZXMvQ29yZS9Db21waWxlcnMiLCAiL29wdC9hcHBzL21vZHVsZXMvQ29yZS9Ub29scyIsICIvb3B0L2FwcHMvbW9kdWxlcy9Db3JlL0xpYnJhcmllcyIsICIvb3B0L2FwcHMvbW9kdWxlcy9Db3JlL1NXQVQiLAp9LApzeXN0ZW1CYXNlTVBBVEggPSAiL29wdC9hcHBzL21vZHVsZXMvQ29yZS9Db21waWxlcnM6L29wdC9hcHBzL21vZHVsZXMvQ29yZS9Ub29sczovb3B0L2FwcHMvbW9kdWxlcy9Db3JlL0xpYnJhcmllczovb3B0L2FwcHMvbW9kdWxlcy9Db3JlL1NXQVQiLAp9Cg==
_ModuleTable_Sz_=2
_ModuleTable003_=PSAiL29wdC9hcHBzL21vZHVsZXMvQ29yZS9Db21waWxlcnM6L29wdC9hcHBzL21vZHVsZXMvQ29yZS9Ub29sczovb3B0L2FwcHMvbW9kdWxlcy9Db3JlL0xpYnJhcmllczovb3B0L2FwcHMvbW9kdWxlcy9Db3JlL1NXQVQiLAp9Cg==
__LMOD_REF_COUNT_CMAKE_PREFIX_PATH=/opt/apps/software/Clang/trunk:1
CMAKE_PREFIX_PATH=/opt/apps/software/Clang/trunk
__LMOD_REF_COUNT_CPATH=/opt/apps/software/Clang/trunk/include:1
CPATH=/opt/apps/software/Clang/trunk/include
__LMOD_REF_COUNT_LD_LIBRARY_PATH=/opt/apps/software/Clang/trunk/lib/x86_64-unknown-linux-gnu:1;/opt/apps/software/Clang/trunk/lib:1
LD_LIBRARY_PATH=/opt/apps/software/Clang/trunk/lib/x86_64-unknown-linux-gnu:/opt/apps/software/Clang/trunk/lib
__LMOD_REF_COUNT_LIBRARY_PATH=/opt/apps/software/Clang/trunk/lib/x86_64-unknown-linux-gnu:1;/opt/apps/software/Clang/trunk/lib:1
LIBRARY_PATH=/opt/apps/software/Clang/trunk/lib/x86_64-unknown-linux-gnu:/opt/apps/software/Clang/trunk/lib
LMOD_FAMILY_COMPILER=Clang
LMOD_FAMILY_COMPILER_VERSION=trunk
LOADEDMODULES=Clang/trunk
Thyre commented 1 day ago

I don't know if the actual backtrace of GDB is helpful, but here it is:

: CommandLine Error: Option 'abort-on-max-devirt-iterations-reached' registered more than once!
LLVM ERROR: inconsistency in registered CommandLine options

Program received signal SIGABRT, Aborted.
__pthread_kill_implementation (no_tid=0, signo=6, threadid=140737350440960) at ./nptl/pthread_kill.c:44
44  ./nptl/pthread_kill.c: No such file or directory.
(gdb) bt
#0  __pthread_kill_implementation (no_tid=0, signo=6, threadid=140737350440960) at ./nptl/pthread_kill.c:44
#1  __pthread_kill_internal (signo=6, threadid=140737350440960) at ./nptl/pthread_kill.c:78
#2  __GI___pthread_kill (threadid=140737350440960, signo=signo@entry=6) at ./nptl/pthread_kill.c:89
#3  0x00007ffff7a42476 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
#4  0x00007ffff7a287f3 in __GI_abort () at ./stdlib/abort.c:79
#5  0x00007ffff0c59690 in llvm::report_fatal_error(llvm::Twine const&, bool) [clone .cold] () from /opt/apps/software/Clang/trunk/lib/libLLVM.so.20.0git
#6  0x00007ffff0e005ce in llvm::report_fatal_error(char const*, bool) () from /opt/apps/software/Clang/trunk/lib/libLLVM.so.20.0git
#7  0x00007ffff0dd8df0 in (anonymous namespace)::CommandLineParser::addOption(llvm::cl::Option*, llvm::cl::SubCommand*) () from /opt/apps/software/Clang/trunk/lib/libLLVM.so.20.0git
#8  0x00007ffff0dd94e6 in llvm::cl::Option::addArgument() () from /opt/apps/software/Clang/trunk/lib/libLLVM.so.20.0git
#9  0x00007ffff7dca344 in _GLOBAL__sub_I_CGSCCPassManager.cpp () from /opt/apps/software/Clang/trunk/lib/x86_64-unknown-linux-gnu/libomptarget.so.20.0git
#10 0x00007ffff7fc947e in call_init (l=<optimized out>, argc=argc@entry=1, argv=argv@entry=0x7fffffffd568, env=env@entry=0x7fffffffd578) at ./elf/dl-init.c:70
#11 0x00007ffff7fc9568 in call_init (env=0x7fffffffd578, argv=0x7fffffffd568, argc=1, l=<optimized out>) at ./elf/dl-init.c:33
#12 _dl_init (main_map=0x7ffff7ffe2e0, argc=1, argv=0x7fffffffd568, env=0x7fffffffd578) at ./elf/dl-init.c:117
#13 0x00007ffff7fe32ca in _dl_start_user () from /lib64/ld-linux-x86-64.so.2
#14 0x0000000000000001 in ?? ()
#15 0x00007fffffffd956 in ?? ()
#16 0x0000000000000000 in ?? ()