OK, thanks, that explains it.

When I compile the test file in question I get a prolog of

   0: 64 48 3b 24 25 70 00 cmp    %fs:0x70,%rsp
   7: 00 00
   9: 73 12                 jae    1d <main+0x1d>

Your prolog on the other hand looks like

   0:   f3 0f 1e fa             *endbr64*
   4:   64 48 3b 24 25 70 00    cmp    %fs:0x70,%rsp
   b:   00 00
   d:   73 16                   jae    25 <main+0x25>


Note the endbr64 -- this is coming from the GCC "-fcf-protection=branch"
command line option -- you aren't specifying this for your build, but most
likely it's being forced on intentionally by the provider of your linux
distro (or whoever built GCC), similar to the way some distros hard-wire on
PIE.

Thank you for reporting this problem.  I tested this scenario with tip of
trunk binutils and it looks as though it is still an issue. I will file a
binutils bug to report the issue and maybe also see about sending a fix if
I can.

In the mean time, one possible workaround would be for you to hard-wire off
this option in your Gollvm configure step.

Instead of running cmake as per the default installation instructions, you
can maybe try:

cmake -DCMAKE_BUILD_TYPE=Debug -DLLVM_USE_LINKER=gold
*-DCMAKE_CXX_FLAGS='-fcf-protection=none'
-DCMAKE_C_FLAGS='-fcf-protection=none'* -G Ninja ../llvm-project/llvm

to see if that gets things back on line for you.

Thanks, Than






On Mon, May 4, 2020 at 8:23 AM Martins Eglitis <mart...@sitilge.id.lv>
wrote:

> Here is the output:
>
> /tmp/CheckSymbolExists.o:     file format elf64-x86-64
>
> SYMBOL TABLE:
> 0000000000000000 l    df *ABS*        0000000000000000 CheckSymbolExists.c
> 0000000000000000 l    d  .text        0000000000000000 .text
> 0000000000000000 l    d  .data        0000000000000000 .data
> 0000000000000000 l    d  .bss 0000000000000000 .bss
> 0000000000000000 l    d  .text.main   0000000000000000 .text.main
> 0000000000000000 l    d  .note.GNU-split-stack        0000000000000000 
> .note.GNU-split-stack
> 0000000000000000 l    d  .note.GNU-stack      0000000000000000 .note.GNU-stack
> 0000000000000000 l    d  .note.gnu.property   0000000000000000 
> .note.gnu.property
> 0000000000000000 l    d  .eh_frame    0000000000000000 .eh_frame
> 0000000000000000 l    d  .comment     0000000000000000 .comment
> 0000000000000000 g     F .text.main   000000000000004b main
> 0000000000000000         *UND*        0000000000000000 __morestack
> 0000000000000000         *UND*        0000000000000000 _GLOBAL_OFFSET_TABLE_
> 0000000000000000         *UND*        0000000000000000 mmap
>
>
>
> Disassembly of section .text.main:
>
> 0000000000000000 <main>:
> main():
>    0: f3 0f 1e fa             endbr64
>    4: 64 48 3b 24 25 70 00    cmp    %fs:0x70,%rsp
>    b: 00 00
>    d: 73 16                   jae    25 <main+0x25>
>    f: 41 ba 08 00 00 00       mov    $0x8,%r10d
>   15: 41 bb 00 00 00 00       mov    $0x0,%r11d
>   1b: e8 00 00 00 00          callq  20 <main+0x20>
>                       1c: R_X86_64_PLT32      __morestack-0x4
>   20: c3                      retq
>   21: f3 0f 1e fa             endbr64
>   25: 55                      push   %rbp
>   26: 48 89 e5                mov    %rsp,%rbp
>   29: 89 7d fc                mov    %edi,-0x4(%rbp)
>   2c: 48 89 75 f0             mov    %rsi,-0x10(%rbp)
>   30: 8b 45 fc                mov    -0x4(%rbp),%eax
>   33: 48 98                   cltq
>   35: 48 8d 14 85 00 00 00    lea    0x0(,%rax,4),%rdx
>   3c: 00
>   3d: 48 8b 05 00 00 00 00    mov    0x0(%rip),%rax        # 44 <main+0x44>
>                       40: R_X86_64_REX_GOTPCRELX      mmap-0x4
>   44: 48 01 d0                add    %rdx,%rax
>   47: 8b 00                   mov    (%rax),%eax
>   49: 5d                      pop    %rbp
>   4a: c3                      retq
>
> On 2020-05-04 14:43, Than McIntosh wrote:
>
> Thanks!
>
> Could you also please run
>
> objdump -tldr /tmp/CheckSymbolExists.o
>
> and send me the output of that?
>
> Cheers, Than
>
>
> On Mon, May 4, 2020 at 7:37 AM Martins Eglitis <mart...@sitilge.id.lv>
> wrote:
>
>> Hi,
>>
>> I am getting output like this:
>>
>> /tmp/CheckSymbolExists.c: In function 'main':
>> /tmp/CheckSymbolExists.c:7:11: warning: ISO C forbids conversion of function 
>> pointer to object pointer type [-Wpedantic]
>>     7 |   return ((int*)(&mmap))[argc];
>>       |           ^
>> Using built-in specs.
>> COLLECT_GCC=/usr/bin/cc
>> COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/9/lto-wrapper
>> OFFLOAD_TARGET_NAMES=nvptx-none:hsa
>> OFFLOAD_TARGET_DEFAULT=1
>> Target: x86_64-linux-gnu
>> Configured with: ../src/configure -v --with-pkgversion='Ubuntu 
>> 9.3.0-10ubuntu2' --with-bugurl=file:///usr/share/doc/gcc-9/README.Bugs 
>> --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++,gm2 
>> --prefix=/usr --with-gcc-major-version-only --program-suffix=-9 
>> --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id 
>> --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix 
>> --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug 
>> --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new 
>> --enable-gnu-unique-object --disable-vtable-verify --enable-plugin 
>> --enable-default-pie --with-system-zlib --with-target-system-zlib=auto 
>> --enable-objc-gc=auto --enable-multiarch --disable-werror 
>> --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 
>> --enable-multilib --with-tune=generic 
>> --enable-offload-targets=nvptx-none,hsa --without-cuda-driver 
>> --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu 
>> --target=x86_64-linux-gnu
>> Thread model: posix
>> gcc version 9.3.0 (Ubuntu 9.3.0-10ubuntu2)
>> COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/
>> LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/9/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/9/../../../:/lib/:/usr/lib/
>> COLLECT_GCC_OPTIONS='-v' '-fPIC' '-fsplit-stack' '-fuse-ld=gold' '-o' 
>> '/tmp/a.out' '-mtune=generic' '-march=x86-64'
>>  /usr/lib/gcc/x86_64-linux-gnu/9/collect2 -plugin 
>> /usr/lib/gcc/x86_64-linux-gnu/9/liblto_plugin.so 
>> -plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/9/lto-wrapper 
>> -plugin-opt=-fresolution=/tmp/ccoxuoxd.res -plugin-opt=-pass-through=-lgcc 
>> -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc 
>> -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id 
>> --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker 
>> /lib64/ld-linux-x86-64.so.2 -pie -z now -fuse-ld=gold -z relro -o /tmp/a.out 
>> /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/Scrt1.o 
>> /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crti.o 
>> /usr/lib/gcc/x86_64-linux-gnu/9/crtbeginS.o 
>> -L/usr/lib/gcc/x86_64-linux-gnu/9 
>> -L/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu 
>> -L/usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib -L/lib/x86_64-linux-gnu 
>> -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib 
>> -L/usr/lib/gcc/x86_64-linux-gnu/9/../../.. -allow-shlib-undefined --debug 
>> all /tmp/CheckSymbolExists.o -lm --wrap=pthread_create -lgcc --push-state 
>> --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s 
>> --pop-state /usr/lib/gcc/x86_64-linux-gnu/9/crtendS.o 
>> /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crtn.o
>> /usr/bin/ld.gold: recording to gold-recording-26rMUl
>> /usr/bin/ld.gold:   0 running   task Dir_cache_task 
>> /usr/lib/gcc/x86_64-linux-gnu/9
>> /usr/bin/ld.gold:   0 completed task Dir_cache_task 
>> /usr/lib/gcc/x86_64-linux-gnu/9 (user: 0.000000 sys: 0.000000 wall: 0.000000)
>> /usr/bin/ld.gold:   0 running   task Dir_cache_task 
>> /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu
>> /usr/bin/ld.gold:   0 completed task Dir_cache_task 
>> /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu (user: 0.000000 
>> sys: 0.000000 wall: 0.000000)
>> /usr/bin/ld.gold:   0 running   task Dir_cache_task 
>> /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib
>> /usr/bin/ld.gold:   0 completed task Dir_cache_task 
>> /usr/lib/gcc/x86_64-linux-gnu/9/../../../../lib (user: 0.000000 sys: 
>> 0.000000 wall: 0.000000)
>> /usr/bin/ld.gold:   0 running   task Dir_cache_task /lib/x86_64-linux-gnu
>> /usr/bin/ld.gold:   0 completed task Dir_cache_task /lib/x86_64-linux-gnu 
>> (user: 0.000000 sys: 0.000000 wall: 0.010000)
>> /usr/bin/ld.gold:   0 running   task Dir_cache_task /lib/../lib
>> /usr/bin/ld.gold:   0 completed task Dir_cache_task /lib/../lib (user: 
>> 0.000000 sys: 0.000000 wall: 0.000000)
>> /usr/bin/ld.gold:   0 running   task Dir_cache_task /usr/lib/x86_64-linux-gnu
>> /usr/bin/ld.gold:   0 completed task Dir_cache_task 
>> /usr/lib/x86_64-linux-gnu (user: 0.000000 sys: 0.000000 wall: 0.000000)
>> /usr/bin/ld.gold:   0 running   task Dir_cache_task /usr/lib/../lib
>> /usr/bin/ld.gold:   0 completed task Dir_cache_task /usr/lib/../lib (user: 
>> 0.000000 sys: 0.000000 wall: 0.000000)
>> /usr/bin/ld.gold:   0 running   task Dir_cache_task 
>> /usr/lib/gcc/x86_64-linux-gnu/9/../../..
>> /usr/bin/ld.gold:   0 completed task Dir_cache_task 
>> /usr/lib/gcc/x86_64-linux-gnu/9/../../.. (user: 0.000000 sys: 0.000000 wall: 
>> 0.000000)
>> /usr/bin/ld.gold:   0 running   task Dir_cache_task //lib/x86_64-linux-gnu
>> /usr/bin/ld.gold:   0 completed task Dir_cache_task //lib/x86_64-linux-gnu 
>> (user: 0.000000 sys: 0.000000 wall: 0.000000)
>> /usr/bin/ld.gold:   0 running   task Dir_cache_task 
>> //usr/lib/x86_64-linux-gnu
>> /usr/bin/ld.gold:   0 completed task Dir_cache_task 
>> //usr/lib/x86_64-linux-gnu (user: 0.000000 sys: 0.000000 wall: 0.000000)
>> /usr/bin/ld.gold:   0 running   task Dir_cache_task //lib
>> /usr/bin/ld.gold:   0 completed task Dir_cache_task //lib (user: 0.000000 
>> sys: 0.000000 wall: 0.000000)
>> /usr/bin/ld.gold:   0 running   task Dir_cache_task //usr/lib
>> /usr/bin/ld.gold:   0 completed task Dir_cache_task //usr/lib (user: 
>> 0.000000 sys: 0.000000 wall: 0.000000)
>> /usr/bin/ld.gold:   0 running   task Read_symbols 
>> /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/Scrt1.o
>> /usr/bin/ld.gold: Opened new descriptor 4 for 
>> "/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/Scrt1.o"
>> /usr/bin/ld.gold: Attempt to open 
>> /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/Scrt1.o succeeded
>> /usr/bin/ld.gold: Unlocking file 
>> "/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/Scrt1.o"
>> /usr/bin/ld.gold: Released descriptor 4 for 
>> "/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/Scrt1.o"
>> /usr/bin/ld.gold:   0 completed task Read_symbols 
>> /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/Scrt1.o (user: 
>> 0.000000 sys: 0.000000 wall: 0.000000)
>> /usr/bin/ld.gold:   0 running   task Add_symbols 
>> /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/Scrt1.o
>> /usr/bin/ld.gold:   0 completed task Add_symbols 
>> /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/Scrt1.o (user: 
>> 0.000000 sys: 0.000000 wall: 0.000000)
>> /usr/bin/ld.gold:   0 running   task Read_symbols 
>> /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crti.o
>> /usr/bin/ld.gold: Opened new descriptor 5 for 
>> "/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crti.o"
>> /usr/bin/ld.gold: Attempt to open 
>> /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crti.o succeeded
>> /usr/bin/ld.gold: Unlocking file 
>> "/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crti.o"
>> /usr/bin/ld.gold: Released descriptor 5 for 
>> "/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crti.o"
>> /usr/bin/ld.gold:   0 completed task Read_symbols 
>> /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crti.o (user: 
>> 0.000000 sys: 0.000000 wall: 0.000000)
>> /usr/bin/ld.gold:   0 running   task Add_symbols 
>> /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crti.o
>> /usr/bin/ld.gold:   0 completed task Add_symbols 
>> /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crti.o (user: 
>> 0.000000 sys: 0.000000 wall: 0.000000)
>> /usr/bin/ld.gold:   0 running   task Read_symbols 
>> /usr/lib/gcc/x86_64-linux-gnu/9/crtbeginS.o
>> /usr/bin/ld.gold: Opened new descriptor 6 for 
>> "/usr/lib/gcc/x86_64-linux-gnu/9/crtbeginS.o"
>> /usr/bin/ld.gold: Attempt to open 
>> /usr/lib/gcc/x86_64-linux-gnu/9/crtbeginS.o succeeded
>> /usr/bin/ld.gold: Unlocking file 
>> "/usr/lib/gcc/x86_64-linux-gnu/9/crtbeginS.o"
>> /usr/bin/ld.gold: Released descriptor 6 for 
>> "/usr/lib/gcc/x86_64-linux-gnu/9/crtbeginS.o"
>> /usr/bin/ld.gold:   0 completed task Read_symbols 
>> /usr/lib/gcc/x86_64-linux-gnu/9/crtbeginS.o (user: 0.000000 sys: 0.000000 
>> wall: 0.000000)
>> /usr/bin/ld.gold:   0 running   task Add_symbols 
>> /usr/lib/gcc/x86_64-linux-gnu/9/crtbeginS.o
>> /usr/bin/ld.gold:   0 completed task Add_symbols 
>> /usr/lib/gcc/x86_64-linux-gnu/9/crtbeginS.o (user: 0.000000 sys: 0.000000 
>> wall: 0.000000)
>> /usr/bin/ld.gold:   0 running   task Read_symbols /tmp/CheckSymbolExists.o
>> /usr/bin/ld.gold: Opened new descriptor 7 for "/tmp/CheckSymbolExists.o"
>> /usr/bin/ld.gold: Attempt to open /tmp/CheckSymbolExists.o succeeded
>> /usr/bin/ld.gold: Unlocking file "/tmp/CheckSymbolExists.o"
>> /usr/bin/ld.gold: Released descriptor 7 for "/tmp/CheckSymbolExists.o"
>> /usr/bin/ld.gold:   0 completed task Read_symbols /tmp/CheckSymbolExists.o 
>> (user: 0.000000 sys: 0.000000 wall: 0.000000)
>> /usr/bin/ld.gold:   0 running   task Add_symbols /tmp/CheckSymbolExists.o
>> /usr/bin/ld.gold:   0 completed task Add_symbols /tmp/CheckSymbolExists.o 
>> (user: 0.000000 sys: 0.000000 wall: 0.000000)
>> /usr/bin/ld.gold:   0 running   task Read_symbols 
>> /usr/lib/gcc/x86_64-linux-gnu/9/crtendS.o
>> /usr/bin/ld.gold: Opened new descriptor 8 for 
>> "/usr/lib/gcc/x86_64-linux-gnu/9/crtendS.o"
>> /usr/bin/ld.gold: Attempt to open /usr/lib/gcc/x86_64-linux-gnu/9/crtendS.o 
>> succeeded
>> /usr/bin/ld.gold: Unlocking file "/usr/lib/gcc/x86_64-linux-gnu/9/crtendS.o"
>> /usr/bin/ld.gold: Released descriptor 8 for 
>> "/usr/lib/gcc/x86_64-linux-gnu/9/crtendS.o"
>> /usr/bin/ld.gold:   0 completed task Read_symbols 
>> /usr/lib/gcc/x86_64-linux-gnu/9/crtendS.o (user: 0.000000 sys: 0.000000 
>> wall: 0.000000)
>> /usr/bin/ld.gold:   0 running   task Read_symbols 
>> /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crtn.o
>> /usr/bin/ld.gold: Opened new descriptor 9 for 
>> "/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crtn.o"
>> /usr/bin/ld.gold: Attempt to open 
>> /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crtn.o succeeded
>> /usr/bin/ld.gold: Unlocking file 
>> "/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crtn.o"
>> /usr/bin/ld.gold: Released descriptor 9 for 
>> "/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crtn.o"
>> /usr/bin/ld.gold:   0 completed task Read_symbols 
>> /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crtn.o (user: 
>> 0.000000 sys: 0.000000 wall: 0.000000)
>> /usr/bin/ld.gold:   0 running   task Read_symbols -lm
>> /usr/bin/ld.gold: Attempt to open /usr/lib/gcc/x86_64-linux-gnu/9/libm.so 
>> failed
>> /usr/bin/ld.gold: Attempt to open /usr/lib/gcc/x86_64-linux-gnu/9/libm.a 
>> failed
>> /usr/bin/ld.gold: Opened new descriptor 10 for 
>> "/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libm.so"
>> /usr/bin/ld.gold: Attempt to open 
>> /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libm.so succeeded
>> /usr/bin/ld.gold:   0 completed task Read_symbols -lm (user: 0.000000 sys: 
>> 0.000000 wall: 0.000000)
>> /usr/bin/ld.gold:   0 running   task Read_script -lm
>> /usr/bin/ld.gold:   0 completed task Read_script -lm (user: 0.000000 sys: 
>> 0.000000 wall: 0.000000)
>> /usr/bin/ld.gold:   0 running   task Read_symbols group 
>> (/lib/x86_64-linux-gnu/libm.so.6 /lib/x86_64-linux-gnu/libmvec.so.1)
>> /usr/bin/ld.gold:   0 completed task Read_symbols group 
>> (/lib/x86_64-linux-gnu/libm.so.6 /lib/x86_64-linux-gnu/libmvec.so.1) (user: 
>> 0.000000 sys: 0.000000 wall: 0.000000)
>> /usr/bin/ld.gold:   0 running   task Start_group
>> /usr/bin/ld.gold:   0 completed task Start_group (user: 0.000000 sys: 
>> 0.000000 wall: 0.000000)
>> /usr/bin/ld.gold:   0 running   task Read_symbols 
>> /lib/x86_64-linux-gnu/libm.so.6
>> /usr/bin/ld.gold: Closed descriptor 9 for 
>> "/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crtn.o"
>> /usr/bin/ld.gold: Opened new descriptor 11 for 
>> "/lib/x86_64-linux-gnu/libm.so.6"
>> /usr/bin/ld.gold: Attempt to open /lib/x86_64-linux-gnu/libm.so.6 succeeded
>> /usr/bin/ld.gold: Unlocking file "/lib/x86_64-linux-gnu/libm.so.6"
>> /usr/bin/ld.gold: Released descriptor 11 for 
>> "/lib/x86_64-linux-gnu/libm.so.6"
>> /usr/bin/ld.gold:   0 completed task Read_symbols 
>> /lib/x86_64-linux-gnu/libm.so.6 (user: 0.000000 sys: 0.000000 wall: 0.010000)
>> /usr/bin/ld.gold:   0 running   task Add_symbols 
>> /lib/x86_64-linux-gnu/libm.so.6
>> /usr/bin/ld.gold:   0 completed task Add_symbols 
>> /lib/x86_64-linux-gnu/libm.so.6 (user: 0.000000 sys: 0.000000 wall: 0.000000)
>> /usr/bin/ld.gold:   0 running   task Read_symbols 
>> /lib/x86_64-linux-gnu/libmvec.so.1
>> /usr/bin/ld.gold: Closed descriptor 11 for "/lib/x86_64-linux-gnu/libm.so.6"
>> /usr/bin/ld.gold: Opened new descriptor 9 for 
>> "/lib/x86_64-linux-gnu/libmvec.so.1"
>> /usr/bin/ld.gold: Attempt to open /lib/x86_64-linux-gnu/libmvec.so.1 
>> succeeded
>> /usr/bin/ld.gold: Unlocking file "/lib/x86_64-linux-gnu/libmvec.so.1"
>> /usr/bin/ld.gold: Released descriptor 9 for 
>> "/lib/x86_64-linux-gnu/libmvec.so.1"
>> /usr/bin/ld.gold:   0 completed task Read_symbols 
>> /lib/x86_64-linux-gnu/libmvec.so.1 (user: 0.000000 sys: 0.000000 wall: 
>> 0.000000)
>> /usr/bin/ld.gold:   0 running   task Add_symbols 
>> /lib/x86_64-linux-gnu/libmvec.so.1
>> /usr/bin/ld.gold:   0 completed task Add_symbols 
>> /lib/x86_64-linux-gnu/libmvec.so.1 (user: 0.000000 sys: 0.000000 wall: 
>> 0.000000)
>> /usr/bin/ld.gold:   0 running   task Finish_group
>> /usr/bin/ld.gold:   0 completed task Finish_group (user: 0.000000 sys: 
>> 0.000000 wall: 0.000000)
>> /usr/bin/ld.gold:   0 running   task Read_symbols -lgcc
>> /usr/bin/ld.gold: Attempt to open /usr/lib/gcc/x86_64-linux-gnu/9/libgcc.so 
>> failed
>> /usr/bin/ld.gold: Closed descriptor 9 for 
>> "/lib/x86_64-linux-gnu/libmvec.so.1"
>> /usr/bin/ld.gold: Opened new descriptor 11 for 
>> "/usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a"
>> /usr/bin/ld.gold: Attempt to open /usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a 
>> succeeded
>> /usr/bin/ld.gold: Unlocking file "/usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a"
>> /usr/bin/ld.gold: Released descriptor 11 for 
>> "/usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a"
>> /usr/bin/ld.gold:   0 completed task Read_symbols -lgcc (user: 0.000000 sys: 
>> 0.000000 wall: 0.000000)
>> /usr/bin/ld.gold:   0 running   task Add_archive_symbols 
>> /usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a
>> /usr/bin/ld.gold: Reused existing descriptor 11 for 
>> "/usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a"
>> /usr/bin/ld.gold:   0 completed task Add_archive_symbols 
>> /usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a (user: 0.000000 sys: 0.000000 wall: 
>> 0.000000)
>> /usr/bin/ld.gold:   0 running   task Read_symbols -lgcc_s
>> /usr/bin/ld.gold: Closed descriptor 8 for 
>> "/usr/lib/gcc/x86_64-linux-gnu/9/crtendS.o"
>> /usr/bin/ld.gold: Opened new descriptor 9 for 
>> "/usr/lib/gcc/x86_64-linux-gnu/9/libgcc_s.so"
>> /usr/bin/ld.gold: Attempt to open 
>> /usr/lib/gcc/x86_64-linux-gnu/9/libgcc_s.so succeeded
>> /usr/bin/ld.gold:   0 completed task Read_symbols -lgcc_s (user: 0.000000 
>> sys: 0.000000 wall: 0.000000)
>> /usr/bin/ld.gold:   0 running   task Read_script -lgcc_s
>> /usr/bin/ld.gold:   0 completed task Read_script -lgcc_s (user: 0.000000 
>> sys: 0.000000 wall: 0.000000)
>> /usr/bin/ld.gold:   0 running   task Read_symbols group (libgcc_s.so.1 gcc)
>> /usr/bin/ld.gold:   0 completed task Read_symbols group (libgcc_s.so.1 gcc) 
>> (user: 0.000000 sys: 0.000000 wall: 0.000000)
>> /usr/bin/ld.gold:   0 running   task Start_group
>> /usr/bin/ld.gold:   0 completed task Start_group (user: 0.000000 sys: 
>> 0.000000 wall: 0.000000)
>> /usr/bin/ld.gold:   0 running   task Read_symbols libgcc_s.so.1
>> /usr/bin/ld.gold: Attempt to open 
>> /usr/lib/gcc/x86_64-linux-gnu/9/libgcc_s.so.1 failed
>> /usr/bin/ld.gold: Closed descriptor 7 for "/tmp/CheckSymbolExists.o"
>> /usr/bin/ld.gold: Opened new descriptor 8 for 
>> "/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libgcc_s.so.1"
>> /usr/bin/ld.gold: Attempt to open 
>> /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libgcc_s.so.1 
>> succeeded
>> /usr/bin/ld.gold: Unlocking file 
>> "/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libgcc_s.so.1"
>> /usr/bin/ld.gold: Released descriptor 8 for 
>> "/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libgcc_s.so.1"
>> /usr/bin/ld.gold:   0 completed task Read_symbols libgcc_s.so.1 (user: 
>> 0.000000 sys: 0.000000 wall: 0.000000)
>> /usr/bin/ld.gold:   0 running   task Add_symbols 
>> /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libgcc_s.so.1
>> /usr/bin/ld.gold:   0 completed task Add_symbols 
>> /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libgcc_s.so.1 
>> (user: 0.000000 sys: 0.000000 wall: 0.000000)
>> /usr/bin/ld.gold:   0 running   task Read_symbols -lgcc
>> /usr/bin/ld.gold: Attempt to open /usr/lib/gcc/x86_64-linux-gnu/9/libgcc.so 
>> failed
>> /usr/bin/ld.gold: Closed descriptor 8 for 
>> "/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libgcc_s.so.1"
>> /usr/bin/ld.gold: Opened new descriptor 7 for 
>> "/usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a"
>> /usr/bin/ld.gold: Attempt to open /usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a 
>> succeeded
>> /usr/bin/ld.gold: Unlocking file "/usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a"
>> /usr/bin/ld.gold: Released descriptor 7 for 
>> "/usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a"
>> /usr/bin/ld.gold:   0 completed task Read_symbols -lgcc (user: 0.000000 sys: 
>> 0.000000 wall: 0.000000)
>> /usr/bin/ld.gold:   0 running   task Add_archive_symbols 
>> /usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a
>> /usr/bin/ld.gold:   0 completed task Add_archive_symbols 
>> /usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a (user: 0.000000 sys: 0.000000 wall: 
>> 0.000000)
>> /usr/bin/ld.gold:   0 running   task Finish_group
>> /usr/bin/ld.gold:   0 completed task Finish_group (user: 0.000000 sys: 
>> 0.000000 wall: 0.000000)
>> /usr/bin/ld.gold:   0 running   task Read_symbols -lc
>> /usr/bin/ld.gold: Attempt to open /usr/lib/gcc/x86_64-linux-gnu/9/libc.so 
>> failed
>> /usr/bin/ld.gold: Attempt to open /usr/lib/gcc/x86_64-linux-gnu/9/libc.a 
>> failed
>> /usr/bin/ld.gold: Closed descriptor 7 for 
>> "/usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a"
>> /usr/bin/ld.gold: Opened new descriptor 8 for 
>> "/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libc.so"
>> /usr/bin/ld.gold: Attempt to open 
>> /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libc.so succeeded
>> /usr/bin/ld.gold:   0 completed task Read_symbols -lc (user: 0.000000 sys: 
>> 0.000000 wall: 0.000000)
>> /usr/bin/ld.gold:   0 running   task Read_script -lc
>> /usr/bin/ld.gold:   0 completed task Read_script -lc (user: 0.000000 sys: 
>> 0.000000 wall: 0.000000)
>> /usr/bin/ld.gold:   0 running   task Read_symbols group 
>> (/lib/x86_64-linux-gnu/libc.so.6 /usr/lib/x86_64-linux-gnu/libc_nonshared.a 
>> /lib/x86_64-linux-gnu/ld-linux-x86-64.so.2)
>> /usr/bin/ld.gold:   0 completed task Read_symbols group 
>> (/lib/x86_64-linux-gnu/libc.so.6 /usr/lib/x86_64-linux-gnu/libc_nonshared.a 
>> /lib/x86_64-linux-gnu/ld-linux-x86-64.so.2) (user: 0.000000 sys: 0.000000 
>> wall: 0.000000)
>> /usr/bin/ld.gold:   0 running   task Start_group
>> /usr/bin/ld.gold:   0 completed task Start_group (user: 0.000000 sys: 
>> 0.000000 wall: 0.000000)
>> /usr/bin/ld.gold:   0 running   task Read_symbols 
>> /lib/x86_64-linux-gnu/libc.so.6
>> /usr/bin/ld.gold: Closed descriptor 6 for 
>> "/usr/lib/gcc/x86_64-linux-gnu/9/crtbeginS.o"
>> /usr/bin/ld.gold: Opened new descriptor 7 for 
>> "/lib/x86_64-linux-gnu/libc.so.6"
>> /usr/bin/ld.gold: Attempt to open /lib/x86_64-linux-gnu/libc.so.6 succeeded
>> /usr/bin/ld.gold: Unlocking file "/lib/x86_64-linux-gnu/libc.so.6"
>> /usr/bin/ld.gold: Released descriptor 7 for "/lib/x86_64-linux-gnu/libc.so.6"
>> /usr/bin/ld.gold:   0 completed task Read_symbols 
>> /lib/x86_64-linux-gnu/libc.so.6 (user: 0.010000 sys: 0.000000 wall: 0.000000)
>> /usr/bin/ld.gold:   0 running   task Add_symbols 
>> /lib/x86_64-linux-gnu/libc.so.6
>> /usr/bin/ld.gold:   0 completed task Add_symbols 
>> /lib/x86_64-linux-gnu/libc.so.6 (user: 0.000000 sys: 0.000000 wall: 0.000000)
>> /usr/bin/ld.gold:   0 running   task Read_symbols 
>> /usr/lib/x86_64-linux-gnu/libc_nonshared.a
>> /usr/bin/ld.gold: Closed descriptor 7 for "/lib/x86_64-linux-gnu/libc.so.6"
>> /usr/bin/ld.gold: Opened new descriptor 6 for 
>> "/usr/lib/x86_64-linux-gnu/libc_nonshared.a"
>> /usr/bin/ld.gold: Attempt to open /usr/lib/x86_64-linux-gnu/libc_nonshared.a 
>> succeeded
>> /usr/bin/ld.gold: Unlocking file "/usr/lib/x86_64-linux-gnu/libc_nonshared.a"
>> /usr/bin/ld.gold: Released descriptor 6 for 
>> "/usr/lib/x86_64-linux-gnu/libc_nonshared.a"
>> /usr/bin/ld.gold:   0 completed task Read_symbols 
>> /usr/lib/x86_64-linux-gnu/libc_nonshared.a (user: 0.000000 sys: 0.000000 
>> wall: 0.000000)
>> /usr/bin/ld.gold:   0 running   task Add_archive_symbols 
>> /usr/lib/x86_64-linux-gnu/libc_nonshared.a
>> /usr/bin/ld.gold: Reused existing descriptor 6 for 
>> "/usr/lib/x86_64-linux-gnu/libc_nonshared.a"
>> /usr/bin/ld.gold: Released descriptor 6 for 
>> "/usr/lib/x86_64-linux-gnu/libc_nonshared.a"
>> /usr/bin/ld.gold:   0 completed task Add_archive_symbols 
>> /usr/lib/x86_64-linux-gnu/libc_nonshared.a (user: 0.000000 sys: 0.000000 
>> wall: 0.000000)
>> /usr/bin/ld.gold:   0 running   task Read_symbols 
>> /lib/x86_64-linux-gnu/ld-linux-x86-64.so.2
>> /usr/bin/ld.gold: Closed descriptor 6 for 
>> "/usr/lib/x86_64-linux-gnu/libc_nonshared.a"
>> /usr/bin/ld.gold: Opened new descriptor 7 for 
>> "/lib/x86_64-linux-gnu/ld-linux-x86-64.so.2"
>> /usr/bin/ld.gold: Attempt to open /lib/x86_64-linux-gnu/ld-linux-x86-64.so.2 
>> succeeded
>> /usr/bin/ld.gold: Unlocking file "/lib/x86_64-linux-gnu/ld-linux-x86-64.so.2"
>> /usr/bin/ld.gold: Released descriptor 7 for 
>> "/lib/x86_64-linux-gnu/ld-linux-x86-64.so.2"
>> /usr/bin/ld.gold:   0 completed task Read_symbols 
>> /lib/x86_64-linux-gnu/ld-linux-x86-64.so.2 (user: 0.000000 sys: 0.000000 
>> wall: 0.000000)
>> /usr/bin/ld.gold:   0 running   task Add_symbols 
>> /lib/x86_64-linux-gnu/ld-linux-x86-64.so.2
>> /usr/bin/ld.gold:   0 completed task Add_symbols 
>> /lib/x86_64-linux-gnu/ld-linux-x86-64.so.2 (user: 0.000000 sys: 0.000000 
>> wall: 0.000000)
>> /usr/bin/ld.gold:   0 running   task Finish_group
>> /usr/bin/ld.gold: Locking file "/usr/lib/x86_64-linux-gnu/libc_nonshared.a"
>> /usr/bin/ld.gold: Unlocking file "/usr/lib/x86_64-linux-gnu/libc_nonshared.a"
>> /usr/bin/ld.gold:   0 completed task Finish_group (user: 0.000000 sys: 
>> 0.000000 wall: 0.000000)
>> /usr/bin/ld.gold:   0 running   task Read_symbols -lgcc
>> /usr/bin/ld.gold: Attempt to open /usr/lib/gcc/x86_64-linux-gnu/9/libgcc.so 
>> failed
>> /usr/bin/ld.gold: Closed descriptor 7 for 
>> "/lib/x86_64-linux-gnu/ld-linux-x86-64.so.2"
>> /usr/bin/ld.gold: Opened new descriptor 6 for 
>> "/usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a"
>> /usr/bin/ld.gold: Attempt to open /usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a 
>> succeeded
>> /usr/bin/ld.gold: Unlocking file "/usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a"
>> /usr/bin/ld.gold: Released descriptor 6 for 
>> "/usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a"
>> /usr/bin/ld.gold:   0 completed task Read_symbols -lgcc (user: 0.000000 sys: 
>> 0.000000 wall: 0.000000)
>> /usr/bin/ld.gold:   0 running   task Add_archive_symbols 
>> /usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a
>> /usr/bin/ld.gold:   0 completed task Add_archive_symbols 
>> /usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a (user: 0.000000 sys: 0.000000 wall: 
>> 0.000000)
>> /usr/bin/ld.gold:   0 running   task Read_symbols -lgcc_s
>> /usr/bin/ld.gold: Closed descriptor 6 for 
>> "/usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a"
>> /usr/bin/ld.gold: Opened new descriptor 7 for 
>> "/usr/lib/gcc/x86_64-linux-gnu/9/libgcc_s.so"
>> /usr/bin/ld.gold: Attempt to open 
>> /usr/lib/gcc/x86_64-linux-gnu/9/libgcc_s.so succeeded
>> /usr/bin/ld.gold:   0 completed task Read_symbols -lgcc_s (user: 0.000000 
>> sys: 0.000000 wall: 0.000000)
>> /usr/bin/ld.gold:   0 running   task Read_script -lgcc_s
>> /usr/bin/ld.gold:   0 completed task Read_script -lgcc_s (user: 0.000000 
>> sys: 0.000000 wall: 0.000000)
>> /usr/bin/ld.gold:   0 running   task Read_symbols group (libgcc_s.so.1 gcc)
>> /usr/bin/ld.gold:   0 completed task Read_symbols group (libgcc_s.so.1 gcc) 
>> (user: 0.000000 sys: 0.000000 wall: 0.000000)
>> /usr/bin/ld.gold:   0 running   task Start_group
>> /usr/bin/ld.gold:   0 completed task Start_group (user: 0.000000 sys: 
>> 0.000000 wall: 0.000000)
>> /usr/bin/ld.gold:   0 running   task Read_symbols libgcc_s.so.1
>> /usr/bin/ld.gold: Attempt to open 
>> /usr/lib/gcc/x86_64-linux-gnu/9/libgcc_s.so.1 failed
>> /usr/bin/ld.gold: Closed descriptor 5 for 
>> "/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crti.o"
>> /usr/bin/ld.gold: Opened new descriptor 6 for 
>> "/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libgcc_s.so.1"
>> /usr/bin/ld.gold: Attempt to open 
>> /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libgcc_s.so.1 
>> succeeded
>> /usr/bin/ld.gold: Unlocking file 
>> "/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libgcc_s.so.1"
>> /usr/bin/ld.gold: Released descriptor 6 for 
>> "/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libgcc_s.so.1"
>> /usr/bin/ld.gold:   0 completed task Read_symbols libgcc_s.so.1 (user: 
>> 0.000000 sys: 0.000000 wall: 0.000000)
>> /usr/bin/ld.gold:   0 running   task Add_symbols 
>> /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libgcc_s.so.1
>> /usr/bin/ld.gold:   0 completed task Add_symbols 
>> /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libgcc_s.so.1 
>> (user: 0.000000 sys: 0.000000 wall: 0.000000)
>> /usr/bin/ld.gold:   0 running   task Read_symbols -lgcc
>> /usr/bin/ld.gold: Attempt to open /usr/lib/gcc/x86_64-linux-gnu/9/libgcc.so 
>> failed
>> /usr/bin/ld.gold: Closed descriptor 6 for 
>> "/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/libgcc_s.so.1"
>> /usr/bin/ld.gold: Opened new descriptor 5 for 
>> "/usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a"
>> /usr/bin/ld.gold: Attempt to open /usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a 
>> succeeded
>> /usr/bin/ld.gold: Unlocking file "/usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a"
>> /usr/bin/ld.gold: Released descriptor 5 for 
>> "/usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a"
>> /usr/bin/ld.gold:   0 completed task Read_symbols -lgcc (user: 0.000000 sys: 
>> 0.000000 wall: 0.000000)
>> /usr/bin/ld.gold:   0 running   task Add_archive_symbols 
>> /usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a
>> /usr/bin/ld.gold:   0 completed task Add_archive_symbols 
>> /usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a (user: 0.000000 sys: 0.000000 wall: 
>> 0.000000)
>> /usr/bin/ld.gold:   0 running   task Finish_group
>> /usr/bin/ld.gold:   0 completed task Finish_group (user: 0.000000 sys: 
>> 0.000000 wall: 0.000000)
>> /usr/bin/ld.gold:   0 running   task Add_symbols 
>> /usr/lib/gcc/x86_64-linux-gnu/9/crtendS.o
>> /usr/bin/ld.gold:   0 completed task Add_symbols 
>> /usr/lib/gcc/x86_64-linux-gnu/9/crtendS.o (user: 0.000000 sys: 0.000000 
>> wall: 0.000000)
>> /usr/bin/ld.gold:   0 running   task Add_symbols 
>> /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crtn.o
>> /usr/bin/ld.gold:   0 completed task Add_symbols 
>> /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crtn.o (user: 
>> 0.000000 sys: 0.000000 wall: 0.000000)
>> /usr/bin/ld.gold:   0 running   task Plugin_hook
>> /usr/bin/ld.gold:   0 completed task Plugin_hook (user: 0.000000 sys: 
>> 0.000000 wall: 0.000000)
>> /usr/bin/ld.gold:   0 running   task Plugin_finish
>> /usr/bin/ld.gold:   0 completed task Plugin_finish (user: 0.000000 sys: 
>> 0.000000 wall: 0.000000)
>> /usr/bin/ld.gold:   0 running   task Task_function Middle_runner
>> /usr/bin/ld.gold: Dumping linker script
>> /usr/bin/ld.gold:   0 completed task Task_function Middle_runner (user: 
>> 0.000000 sys: 0.000000 wall: 0.000000)
>> /usr/bin/ld.gold:   0 running   task Allocate_commons_task
>> /usr/bin/ld.gold:   0 completed task Allocate_commons_task (user: 0.000000 
>> sys: 0.000000 wall: 0.000000)
>> /usr/bin/ld.gold:   0 running   task Read_relocs 
>> /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/Scrt1.o
>> /usr/bin/ld.gold:   0 completed task Read_relocs 
>> /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/Scrt1.o (user: 
>> 0.000000 sys: 0.000000 wall: 0.000000)
>> /usr/bin/ld.gold:   0 running   task Scan_relocs 
>> /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/Scrt1.o
>> /usr/bin/ld.gold:   0 completed task Scan_relocs 
>> /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/Scrt1.o (user: 
>> 0.000000 sys: 0.000000 wall: 0.000000)
>> /usr/bin/ld.gold:   0 running   task Read_relocs 
>> /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crti.o
>> /usr/bin/ld.gold:   0 completed task Read_relocs 
>> /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crti.o (user: 
>> 0.000000 sys: 0.000000 wall: 0.000000)
>> /usr/bin/ld.gold:   0 running   task Scan_relocs 
>> /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crti.o
>> /usr/bin/ld.gold:   0 completed task Scan_relocs 
>> /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crti.o (user: 
>> 0.000000 sys: 0.000000 wall: 0.000000)
>> /usr/bin/ld.gold:   0 running   task Read_relocs 
>> /usr/lib/gcc/x86_64-linux-gnu/9/crtbeginS.o
>> /usr/bin/ld.gold:   0 completed task Read_relocs 
>> /usr/lib/gcc/x86_64-linux-gnu/9/crtbeginS.o (user: 0.000000 sys: 0.000000 
>> wall: 0.000000)
>> /usr/bin/ld.gold:   0 running   task Scan_relocs 
>> /usr/lib/gcc/x86_64-linux-gnu/9/crtbeginS.o
>> /usr/bin/ld.gold:   0 completed task Scan_relocs 
>> /usr/lib/gcc/x86_64-linux-gnu/9/crtbeginS.o (user: 0.000000 sys: 0.000000 
>> wall: 0.000000)
>> /usr/bin/ld.gold:   0 running   task Read_relocs /tmp/CheckSymbolExists.o
>> /usr/bin/ld.gold:   0 completed task Read_relocs /tmp/CheckSymbolExists.o 
>> (user: 0.000000 sys: 0.000000 wall: 0.000000)
>> /usr/bin/ld.gold:   0 running   task Scan_relocs /tmp/CheckSymbolExists.o
>> /usr/bin/ld.gold:   0 completed task Scan_relocs /tmp/CheckSymbolExists.o 
>> (user: 0.000000 sys: 0.000000 wall: 0.000000)
>> /usr/bin/ld.gold:   0 running   task Read_relocs 
>> /usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a(morestack.o)
>> /usr/bin/ld.gold:   0 completed task Read_relocs 
>> /usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a(morestack.o) (user: 0.000000 sys: 
>> 0.000000 wall: 0.000000)
>> /usr/bin/ld.gold:   0 running   task Scan_relocs 
>> /usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a(morestack.o)
>> /usr/bin/ld.gold:   0 completed task Scan_relocs 
>> /usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a(morestack.o) (user: 0.000000 sys: 
>> 0.000000 wall: 0.000000)
>> /usr/bin/ld.gold:   0 running   task Read_relocs 
>> /usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a(generic-morestack.o)
>> /usr/bin/ld.gold:   0 completed task Read_relocs 
>> /usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a(generic-morestack.o) (user: 
>> 0.000000 sys: 0.000000 wall: 0.000000)
>> /usr/bin/ld.gold:   0 running   task Scan_relocs 
>> /usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a(generic-morestack.o)
>> /usr/bin/ld.gold:   0 completed task Scan_relocs 
>> /usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a(generic-morestack.o) (user: 
>> 0.000000 sys: 0.000000 wall: 0.000000)
>> /usr/bin/ld.gold:   0 running   task Read_relocs 
>> /usr/lib/x86_64-linux-gnu/libc_nonshared.a(elf-init.oS)
>> /usr/bin/ld.gold:   0 completed task Read_relocs 
>> /usr/lib/x86_64-linux-gnu/libc_nonshared.a(elf-init.oS) (user: 0.000000 sys: 
>> 0.000000 wall: 0.000000)
>> /usr/bin/ld.gold:   0 running   task Scan_relocs 
>> /usr/lib/x86_64-linux-gnu/libc_nonshared.a(elf-init.oS)
>> /usr/bin/ld.gold:   0 completed task Scan_relocs 
>> /usr/lib/x86_64-linux-gnu/libc_nonshared.a(elf-init.oS) (user: 0.000000 sys: 
>> 0.000000 wall: 0.000000)
>> /usr/bin/ld.gold:   0 running   task Read_relocs 
>> /usr/lib/gcc/x86_64-linux-gnu/9/crtendS.o
>> /usr/bin/ld.gold:   0 completed task Read_relocs 
>> /usr/lib/gcc/x86_64-linux-gnu/9/crtendS.o (user: 0.000000 sys: 0.000000 
>> wall: 0.000000)
>> /usr/bin/ld.gold:   0 running   task Scan_relocs 
>> /usr/lib/gcc/x86_64-linux-gnu/9/crtendS.o
>> /usr/bin/ld.gold:   0 completed task Scan_relocs 
>> /usr/lib/gcc/x86_64-linux-gnu/9/crtendS.o (user: 0.000000 sys: 0.000000 
>> wall: 0.000000)
>> /usr/bin/ld.gold:   0 running   task Read_relocs 
>> /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crtn.o
>> /usr/bin/ld.gold:   0 completed task Read_relocs 
>> /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crtn.o (user: 
>> 0.000000 sys: 0.000000 wall: 0.000000)
>> /usr/bin/ld.gold:   0 running   task Scan_relocs 
>> /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crtn.o
>> /usr/bin/ld.gold:   0 completed task Scan_relocs 
>> /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crtn.o (user: 
>> 0.000000 sys: 0.000000 wall: 0.000000)
>> /usr/bin/ld.gold:   0 running   task Task_function Layout_task_runner
>> /usr/bin/ld.gold: Locking file 
>> "/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/Scrt1.o"
>> /usr/bin/ld.gold: Unlocking file 
>> "/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/Scrt1.o"
>> /usr/bin/ld.gold: Locking file 
>> "/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crti.o"
>> /usr/bin/ld.gold: Unlocking file 
>> "/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crti.o"
>> /usr/bin/ld.gold: Locking file "/usr/lib/gcc/x86_64-linux-gnu/9/crtbeginS.o"
>> /usr/bin/ld.gold: Unlocking file 
>> "/usr/lib/gcc/x86_64-linux-gnu/9/crtbeginS.o"
>> /usr/bin/ld.gold: Locking file "/tmp/CheckSymbolExists.o"
>> /usr/bin/ld.gold: Unlocking file "/tmp/CheckSymbolExists.o"
>> /usr/bin/ld.gold: Locking file "/usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a"
>> /usr/bin/ld.gold: Unlocking file "/usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a"
>> /usr/bin/ld.gold: Locking file "/usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a"
>> /usr/bin/ld.gold: Unlocking file "/usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a"
>> /usr/bin/ld.gold: Locking file "/usr/lib/x86_64-linux-gnu/libc_nonshared.a"
>> /usr/bin/ld.gold: Unlocking file "/usr/lib/x86_64-linux-gnu/libc_nonshared.a"
>> /usr/bin/ld.gold: Locking file "/usr/lib/gcc/x86_64-linux-gnu/9/crtendS.o"
>> /usr/bin/ld.gold: Unlocking file "/usr/lib/gcc/x86_64-linux-gnu/9/crtendS.o"
>> /usr/bin/ld.gold: Locking file 
>> "/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crtn.o"
>> /usr/bin/ld.gold: Unlocking file 
>> "/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crtn.o"
>> /usr/bin/ld.gold: Locking file 
>> "/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/Scrt1.o"
>> /usr/bin/ld.gold: Unlocking file 
>> "/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/Scrt1.o"
>> /usr/bin/ld.gold: Locking file 
>> "/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crti.o"
>> /usr/bin/ld.gold: Unlocking file 
>> "/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crti.o"
>> /usr/bin/ld.gold: Locking file "/usr/lib/gcc/x86_64-linux-gnu/9/crtbeginS.o"
>> /usr/bin/ld.gold: Unlocking file 
>> "/usr/lib/gcc/x86_64-linux-gnu/9/crtbeginS.o"
>> /usr/bin/ld.gold: Locking file "/tmp/CheckSymbolExists.o"
>> /usr/bin/ld.gold: Unlocking file "/tmp/CheckSymbolExists.o"
>> /usr/bin/ld.gold: Locking file "/tmp/CheckSymbolExists.o"
>> /usr/bin/ld.gold: Unlocking file "/tmp/CheckSymbolExists.o"
>> /usr/bin/ld.gold: Locking file "/usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a"
>> /usr/bin/ld.gold: Unlocking file "/usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a"
>> /usr/bin/ld.gold: Locking file "/usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a"
>> /usr/bin/ld.gold: Unlocking file "/usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a"
>> /usr/bin/ld.gold: Locking file "/usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a"
>> /usr/bin/ld.gold: Unlocking file "/usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a"
>> /usr/bin/ld.gold: Locking file "/usr/lib/x86_64-linux-gnu/libc_nonshared.a"
>> /usr/bin/ld.gold: Unlocking file "/usr/lib/x86_64-linux-gnu/libc_nonshared.a"
>> /usr/bin/ld.gold: Locking file "/usr/lib/gcc/x86_64-linux-gnu/9/crtendS.o"
>> /usr/bin/ld.gold: Unlocking file "/usr/lib/gcc/x86_64-linux-gnu/9/crtendS.o"
>> /usr/bin/ld.gold: Locking file 
>> "/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crtn.o"
>> /usr/bin/ld.gold: Unlocking file 
>> "/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crtn.o"
>> /usr/bin/ld.gold: Locking file "/usr/lib/gcc/x86_64-linux-gnu/9/crtbeginS.o"
>> /usr/bin/ld.gold: Unlocking file 
>> "/usr/lib/gcc/x86_64-linux-gnu/9/crtbeginS.o"
>> /usr/bin/ld.gold: Locking file "/usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a"
>> /usr/bin/ld.gold: Unlocking file "/usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a"
>> /usr/bin/ld.gold: Locking file 
>> "/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/Scrt1.o"
>> /usr/bin/ld.gold: Unlocking file 
>> "/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/Scrt1.o"
>> /usr/bin/ld.gold: Locking file 
>> "/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crti.o"
>> /usr/bin/ld.gold: Unlocking file 
>> "/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crti.o"
>> /usr/bin/ld.gold: Locking file "/usr/lib/gcc/x86_64-linux-gnu/9/crtbeginS.o"
>> /usr/bin/ld.gold: Unlocking file 
>> "/usr/lib/gcc/x86_64-linux-gnu/9/crtbeginS.o"
>> /usr/bin/ld.gold: Locking file "/tmp/CheckSymbolExists.o"
>> /usr/bin/ld.gold: Unlocking file "/tmp/CheckSymbolExists.o"
>> /usr/bin/ld.gold: Locking file "/tmp/CheckSymbolExists.o"
>> /usr/bin/ld.gold: Unlocking file "/tmp/CheckSymbolExists.o"
>> /usr/bin/ld.gold: Locking file "/usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a"
>> /usr/bin/ld.gold: Unlocking file "/usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a"
>> /usr/bin/ld.gold: Locking file "/usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a"
>> /usr/bin/ld.gold: Unlocking file "/usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a"
>> /usr/bin/ld.gold: Locking file "/usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a"
>> /usr/bin/ld.gold: Unlocking file "/usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a"
>> /usr/bin/ld.gold: Locking file "/usr/lib/x86_64-linux-gnu/libc_nonshared.a"
>> /usr/bin/ld.gold: Unlocking file "/usr/lib/x86_64-linux-gnu/libc_nonshared.a"
>> /usr/bin/ld.gold: Locking file "/usr/lib/gcc/x86_64-linux-gnu/9/crtendS.o"
>> /usr/bin/ld.gold: Unlocking file "/usr/lib/gcc/x86_64-linux-gnu/9/crtendS.o"
>> /usr/bin/ld.gold: Locking file 
>> "/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crtn.o"
>> /usr/bin/ld.gold: Unlocking file 
>> "/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crtn.o"
>> /usr/bin/ld.gold: Locking file "/usr/lib/gcc/x86_64-linux-gnu/9/crtbeginS.o"
>> /usr/bin/ld.gold: Unlocking file 
>> "/usr/lib/gcc/x86_64-linux-gnu/9/crtbeginS.o"
>> /usr/bin/ld.gold: Locking file "/usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a"
>> /usr/bin/ld.gold: Unlocking file "/usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a"
>> /usr/bin/ld.gold: Closed descriptor 5 for 
>> "/usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a"
>> /usr/bin/ld.gold: Opened new descriptor 3 for "/tmp/a.out"
>> /usr/bin/ld.gold:   0 completed task Task_function Layout_task_runner (user: 
>> 0.000000 sys: 0.010000 wall: 0.000000)
>> /usr/bin/ld.gold:   0 running   task Write_symbols_task
>> /usr/bin/ld.gold:   0 completed task Write_symbols_task (user: 0.000000 sys: 
>> 0.000000 wall: 0.000000)
>> /usr/bin/ld.gold:   0 running   task Write_sections_task
>> /usr/bin/ld.gold:   0 completed task Write_sections_task (user: 0.000000 
>> sys: 0.000000 wall: 0.000000)
>> /usr/bin/ld.gold:   0 running   task Write_data_task
>> /usr/bin/ld.gold:   0 completed task Write_data_task (user: 0.000000 sys: 
>> 0.000000 wall: 0.000000)
>> /usr/bin/ld.gold:   0 running   task Relocate_task 
>> /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crti.o
>> /usr/bin/ld.gold:   0 completed task Relocate_task 
>> /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crti.o (user: 
>> 0.000000 sys: 0.000000 wall: 0.000000)
>> /usr/bin/ld.gold:   0 running   task Relocate_task 
>> /usr/lib/gcc/x86_64-linux-gnu/9/crtbeginS.o
>> /usr/bin/ld.gold:   0 completed task Relocate_task 
>> /usr/lib/gcc/x86_64-linux-gnu/9/crtbeginS.o (user: 0.000000 sys: 0.000000 
>> wall: 0.000000)
>> /usr/bin/ld.gold:   0 running   task Relocate_task 
>> /usr/lib/gcc/x86_64-linux-gnu/9/crtendS.o
>> /usr/bin/ld.gold:   0 completed task Relocate_task 
>> /usr/lib/gcc/x86_64-linux-gnu/9/crtendS.o (user: 0.000000 sys: 0.000000 
>> wall: 0.000000)
>> /usr/bin/ld.gold:   0 running   task Relocate_task 
>> /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crtn.o
>> /usr/bin/ld.gold:   0 completed task Relocate_task 
>> /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/crtn.o (user: 
>> 0.000000 sys: 0.000000 wall: 0.000000)
>> /usr/bin/ld.gold:   0 running   task Relocate_task 
>> /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/Scrt1.o
>> /usr/bin/ld.gold:   0 completed task Relocate_task 
>> /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/Scrt1.o (user: 
>> 0.000000 sys: 0.000000 wall: 0.000000)
>> /usr/bin/ld.gold:   0 running   task Relocate_task /tmp/CheckSymbolExists.o
>> /usr/bin/ld.gold: error: /tmp/CheckSymbolExists.o: failed to match 
>> split-stack sequence at section 4 offset 0
>> /usr/bin/ld.gold:   0 completed task Relocate_task /tmp/CheckSymbolExists.o 
>> (user: 0.000000 sys: 0.000000 wall: 0.000000)
>> /usr/bin/ld.gold:   0 running   task Relocate_task 
>> /usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a(morestack.o)
>> /usr/bin/ld.gold:   0 completed task Relocate_task 
>> /usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a(morestack.o) (user: 0.000000 sys: 
>> 0.000000 wall: 0.000000)
>> /usr/bin/ld.gold:   0 running   task Relocate_task 
>> /usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a(generic-morestack.o)
>> /usr/bin/ld.gold:   0 completed task Relocate_task 
>> /usr/lib/gcc/x86_64-linux-gnu/9/libgcc.a(generic-morestack.o) (user: 
>> 0.000000 sys: 0.000000 wall: 0.000000)
>> /usr/bin/ld.gold:   0 running   task Relocate_task 
>> /usr/lib/x86_64-linux-gnu/libc_nonshared.a(elf-init.oS)
>> /usr/bin/ld.gold:   0 completed task Relocate_task 
>> /usr/lib/x86_64-linux-gnu/libc_nonshared.a(elf-init.oS) (user: 0.000000 sys: 
>> 0.000000 wall: 0.000000)
>> /usr/bin/ld.gold:   0 running   task Write_after_input_sections_task
>> /usr/bin/ld.gold:   0 completed task Write_after_input_sections_task (user: 
>> 0.000000 sys: 0.000000 wall: 0.000000)
>> /usr/bin/ld.gold:   0 running   task Task_function Build_id_task_runner
>> /usr/bin/ld.gold:   0 completed task Task_function Build_id_task_runner 
>> (user: 0.000000 sys: 0.000000 wall: 0.000000)
>> /usr/bin/ld.gold:   0 running   task Task_function Close_task_runner
>> /usr/bin/ld.gold:   0 completed task Task_function Close_task_runner (user: 
>> 0.000000 sys: 0.000000 wall: 0.000000)
>> collect2: error: ld returned 1 exit status
>>
>> On 2020-05-01 17:15, Than McIntosh wrote:
>>
>>
>> Sorry, I wasn't clear on that last email.
>>
>> What I'm asking is if you could rerun the compilation by hand, e.g.
>>
>> $ cat > /tmp/CheckSymbolExists.c << EOF
>> #include <sys/mman.h>
>>
>> int main(int argc, char** argv)
>> {
>>   (void)argv;
>> #ifndef mmap
>>   return ((int*)(&mmap))[argc];
>> #else
>>   (void)argc;
>>   return 0;
>> #endif
>> }
>> EOF
>> $ /usr/bin/cc -fPIC -Werror=date-time -Wall -Wextra -Wno-unused-parameter
>> -Wwrite-strings -Wno-missing-field-initializers -pedantic -Wno-long-long
>> -Wimplicit-fallthrough -Wno-comment -fdiagnostics-color -ffunction-sections
>> -fdata-sections -fuse-ld=gold -fsplit-stack  -fuse-ld=gold
>> -Wl,-allow-shlib-undefined /tmp/CheckSymbolExists.c -c -o
>> /tmp/CheckSymbolExists.o
>> $ /usr/bin/cc -v -fPIC -fuse-ld=gold -fsplit-stack  -fuse-ld=gold
>> -Wl,-allow-shlib-undefined -Wl,--debug,all  /tmp/CheckSymbolExists.o -o
>> /tmp/a.out  -lm
>> $
>>
>> I am hoping that might give me a little more info.
>>
>> Thanks, Than
>>
>>
>> On Fri, May 1, 2020 at 9:41 AM Martins Eglitis <mart...@sitilge.id.lv>
>> wrote:
>>
>>> Sure, I have attached the CMakeOutput.log and CMakeError.log
>>> On 2020-05-01 16:19, Than McIntosh wrote:
>>>
>>>
>>> A little more detail on the error in question. This is a very obscure
>>> error, so please bear with me.
>>>
>>> >>/usr/bin/ld.gold: error:
>>> CMakeFiles/cmTC_81c99.dir/CheckSymbolExists.c.o: failed to match
>>> split-stack sequence at section 4 offset 0
>>>
>>> What's happening here is that the linker (ld.gold) is linking together
>>> two object files, let's call them "a.o" and "b.o".
>>>
>>> The linker detects that one of the objects (let's say "a.o") has a
>>> marker indicating that it was compiled with the "-fsplit-stack" option. The
>>> second object file "b.o" has no such marker (e.g. it apparently wasn't
>>> compiled with -fsplit-stack).
>>>
>>> In addition, the linker sees (from object file relocations) that a
>>> function (let's call it AFunc) in a.o is making a call to BFunc in b.o. In
>>> such instances the gold linker has a feature that will perform a
>>> fixup/rewrite on the calling function to make sure that when the call takes
>>> place, the stack is large enough (so that -split-stack will have the right
>>> effect).
>>>
>>> To apply this fixup, the linker is looking for a specific prolog
>>> instruction sequence-- when it doesn't find that sequence, it issues the
>>> error.
>>>
>>> In the previous LLVM bug I cited, the problem was with the C compiler --
>>> it was marking the object as split-stack, but not consistently emitting the
>>> prolog sequence that the linker looks for.
>>>
>>> Your compiler is an up-to-date version of GCC, however, so it's hard for
>>> me to believe that the compiler is at fault.
>>>
>>> [This is a lot of technical detail, sorry about that].
>>>
>>> Do you think you could rerun the compile by hand and send me some of the
>>> output (e.g. regenerate the file "CheckSymbolExists.c" as it appeared in
>>> the cmake output log?
>>>
>>> Thanks, Than
>>>
>>> On Thu, Apr 30, 2020 at 4:39 PM Martins Eglitis <mart...@sitilge.id.lv>
>>> wrote:
>>>
>>>> Sorry, I should have mentioned that I am running a docker container
>>>> based on the latest Ubuntu, and Ubuntu 18.04 as the host.
>>>>
>>>> On April 30, 2020 11:37:15 PM GMT+03:00, Martins Eglitis <
>>>> mart...@sitilge.id.lv> wrote:
>>>>>
>>>>> Yes,
>>>>>
>>>>> cc (Ubuntu 7.5.0-3ubuntu1~18.04) 7.5.0
>>>>>
>>>>>
>>>>> On April 30, 2020 11:29:07 PM GMT+03:00, Than McIntosh <
>>>>> th...@google.com> wrote:
>>>>>>
>>>>>> >>/usr/bin/ld.gold: error: 
>>>>>> >>CMakeFiles/cmTC_81c99.dir/CheckSymbolExists.c.o:
>>>>>> failed to match split-stack sequence at section 4 offset 0
>>>>>>
>>>>>> OK, now I think we're getting somewhere, this looks suspicious.  For
>>>>>> reference, could you please send me the output of "/usr/bin/cc 
>>>>>> --version"?
>>>>>>
>>>>>> Thanks, Than
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> On Thu, Apr 30, 2020 at 4:26 PM Martins Eglitis <
>>>>>> mart...@sitilge.id.lv> wrote:
>>>>>>
>>>>>>> Hi,
>>>>>>>
>>>>>>> There was something related in "CMakeError.log":
>>>>>>>
>>>>>>> Determining if the mmap exist failed with the following output:
>>>>>>> Change Dir: /home/gopher/workarea/build-debug/CMakeFiles/CMakeTmp
>>>>>>>
>>>>>>> Run Build Command(s):/usr/bin/ninja cmTC_81c99 && [1/2] Building C 
>>>>>>> object CMakeFiles/cmTC_81c99.dir/CheckSymbolExists.c.o
>>>>>>> CheckSymbolExists.c: In function 'main':
>>>>>>> CheckSymbolExists.c:8:11: warning: ISO C forbids conversion of function 
>>>>>>> pointer to object pointer type [-Wpedantic]
>>>>>>>     8 |   return ((int*)(&mmap))[argc];
>>>>>>>       |           ^
>>>>>>> [2/2] Linking C executable cmTC_81c99
>>>>>>> FAILED: cmTC_81c99
>>>>>>> : && /usr/bin/cc -fPIC -Werror=date-time -Wall -Wextra 
>>>>>>> -Wno-unused-parameter -Wwrite-strings -Wno-missing-field-initializers 
>>>>>>> -pedantic -Wno-long-long -Wimplicit-fallthrough -Wno-comment 
>>>>>>> -fdiagnostics-color -ffunction-sections -fdata-sections -fuse-ld=gold 
>>>>>>> -fsplit-stack  -fuse-ld=gold -Wl,-allow-shlib-undefined 
>>>>>>> CMakeFiles/cmTC_81c99.dir/CheckSymbolExists.c.o  -o cmTC_81c99  -lm && :
>>>>>>> /usr/bin/ld.gold: error: 
>>>>>>> CMakeFiles/cmTC_81c99.dir/CheckSymbolExists.c.o: failed to match 
>>>>>>> split-stack sequence at section 4 offset 0
>>>>>>> collect2: error: ld returned 1 exit status
>>>>>>> ninja: build stopped: subcommand failed.
>>>>>>>
>>>>>>>
>>>>>>> File 
>>>>>>> /home/gopher/workarea/build-debug/CMakeFiles/CMakeTmp/CheckSymbolExists.c:
>>>>>>> /* */
>>>>>>> #include <sys/mman.h>
>>>>>>>
>>>>>>> int main(int argc, char** argv)
>>>>>>> {
>>>>>>>   (void)argv;
>>>>>>> #ifndef mmap
>>>>>>>   return ((int*)(&mmap))[argc];
>>>>>>> #else
>>>>>>>   (void)argc;
>>>>>>>   return 0;
>>>>>>> #endif
>>>>>>> }
>>>>>>>
>>>>>>> On 2020-04-30 20:32, Than McIntosh wrote:
>>>>>>>
>>>>>>> Thanks for the email.
>>>>>>>
>>>>>>> Sorry for the delay in responding, this is a very busy time right
>>>>>>> now for our team (release freeze is happening at the end of this week).
>>>>>>>
>>>>>>> Just in general, the gollvm build procedure uses "cmake", and as
>>>>>>> part of this process cmake is running various tests to make sure that 
>>>>>>> the C
>>>>>>> compiler you're using works properly, and to detect whether the system 
>>>>>>> you
>>>>>>> are building on has the right header files, libraries, etc.
>>>>>>>
>>>>>>> Of particular concern is the cmake check for "mmap"-- the mmap()
>>>>>>> routine is definitely available on Ubuntu, so it's puzzling that cmake
>>>>>>> thinks it isn't available.
>>>>>>>
>>>>>>> One thing you might do: after the build fails, try looking at the
>>>>>>> debris in the CMakeFiles dir:
>>>>>>>
>>>>>>> $ ls CMakeFiles
>>>>>>> 3.13.4             cmake.check_cache  feature_tests.bin  src.c
>>>>>>> 3.15.4             CMakeError.log     feature_tests.c
>>>>>>>  TargetDirectories.txt
>>>>>>> CheckIncludeFiles  CMakeOutput.log    feature_tests.cxx  test.o
>>>>>>> CheckTypeSize      CMakeTmp           simple.cc
>>>>>>>
>>>>>>> In that dir, look at "CMakeOutput.log" for the place where this test
>>>>>>> is run:
>>>>>>>
>>>>>>> Look for a section that looks like this:
>>>>>>>
>>>>>>>     Determining if the mmap exist passed with the following output:
>>>>>>>     Change Dir:
>>>>>>> /tmp/llvm-project/build-relwithdbg/CMakeFiles/CMakeTmp
>>>>>>>
>>>>>>>     Run Build Command:"/usr/local/google/home/thanm/bin/ninja"
>>>>>>> "cmTC_feb45"
>>>>>>>     [1/2] Building C object
>>>>>>> CMakeFiles/cmTC_feb45.dir/CheckSymbolExists.c.o
>>>>>>>     CheckSymbolExists.c: In function ‘main’:
>>>>>>>     CheckSymbolExists.c:8:11: warning: ISO C forbids conversion of
>>>>>>> function pointer to object pointer type [-Wpedantic]
>>>>>>>        return ((int*)(&mmap))[argc];
>>>>>>>       ^
>>>>>>>     [2/2] Linking C executable cmTC_feb45
>>>>>>>
>>>>>>>     File
>>>>>>> /tmp/llvm-project/build-relwithdbg/CMakeFiles/CMakeTmp/CheckSymbolExists.c:
>>>>>>>     /* */
>>>>>>>     #include <sys/mman.h>
>>>>>>>
>>>>>>>     int main(int argc, char** argv)
>>>>>>>     {
>>>>>>>       (void)argv;
>>>>>>>     #ifndef mmap
>>>>>>>       return ((int*)(&mmap))[argc];
>>>>>>>     #else
>>>>>>>       (void)argc;
>>>>>>>       return 0;
>>>>>>>     #endif
>>>>>>>     }
>>>>>>>
>>>>>>> Are there any clues there perhaps?
>>>>>>>
>>>>>>> Thanks, Than
>>>>>>>
>>>>>>>
>>>>>>> On Thu, Apr 30, 2020 at 1:05 PM <siti...@gmail.com> wrote:
>>>>>>>
>>>>>>>> Hi,
>>>>>>>>
>>>>>>>> I initially opened an issue, but was suggested to post to the
>>>>>>>> mailing list instead: https://github.com/golang/go/issues/38728
>>>>>>>>
>>>>>>>> Build keeps failing when trying to build (Ubuntu Focal Fossa,
>>>>>>>> amd64) from the latest commit to the master and following the build
>>>>>>>> instructions. Has anyone succeeded to build gollvm recently? I am 
>>>>>>>> getting
>>>>>>>> errors like this:
>>>>>>>>
>>>>>>>> -- Could NOT find LibXml2 (missing: LIBXML2_LIBRARY 
>>>>>>>> LIBXML2_INCLUDE_DIR)
>>>>>>>> -- Native target architecture is X86
>>>>>>>> -- Threads enabled.
>>>>>>>> -- Doxygen disabled.
>>>>>>>> -- Go bindings disabled.
>>>>>>>> -- Ninja version: 1.10.0
>>>>>>>> -- Could NOT find OCaml (missing: OCAMLFIND OCAML_VERSION 
>>>>>>>> OCAML_STDLIB_PATH)
>>>>>>>> -- Could NOT find OCaml (missing: OCAMLFIND OCAML_VERSION 
>>>>>>>> OCAML_STDLIB_PATH)
>>>>>>>> -- OCaml bindings disabled.
>>>>>>>> -- LLVM host triple: x86_64-unknown-linux-gnu
>>>>>>>> -- LLVM default target triple: x86_64-unknown-linux-gnu
>>>>>>>> -- Building with -fPIC
>>>>>>>> -- Constructing LLVMBuild project information
>>>>>>>> -- Targeting AArch64
>>>>>>>> -- Targeting AMDGPU
>>>>>>>> -- Targeting ARM
>>>>>>>> -- Targeting AVR
>>>>>>>> -- Targeting BPF
>>>>>>>> -- Targeting Hexagon
>>>>>>>> -- Targeting Lanai
>>>>>>>> -- Targeting Mips
>>>>>>>> -- Targeting MSP430
>>>>>>>> -- Targeting NVPTX
>>>>>>>> -- Targeting PowerPC
>>>>>>>> -- Targeting RISCV
>>>>>>>> -- Targeting Sparc
>>>>>>>> -- Targeting SystemZ
>>>>>>>> -- Targeting WebAssembly
>>>>>>>> -- Targeting X86
>>>>>>>> -- Targeting XCore
>>>>>>>> CMake Error at tools/gollvm/cmake/modules/AddGollvm.cmake:37 (message):
>>>>>>>>   C compiler does not support -fsplit-stack
>>>>>>>> Call Stack (most recent call first):
>>>>>>>>   tools/gollvm/CMakeLists.txt:21 (include)
>>>>>>>>
>>>>>>>>
>>>>>>>> -- starting libgo configuration.
>>>>>>>> CMake Error at tools/gollvm/cmake/modules/LibbacktraceUtils.cmake:19 
>>>>>>>> (message):
>>>>>>>>   Support for mmap() is required -- setup failed.
>>>>>>>> Call Stack (most recent call first):
>>>>>>>>   tools/gollvm/libgo/CMakeLists.txt:45 (setup_libbacktrace)
>>>>>>>>
>>>>>>>>
>>>>>>>> CMake Error at tools/gollvm/cmake/modules/LibffiUtils.cmake:27 
>>>>>>>> (message):
>>>>>>>>   Support for mmap() is required -- setup failed.
>>>>>>>> Call Stack (most recent call first):
>>>>>>>>   tools/gollvm/libgo/CMakeLists.txt:49 (setup_libffi)
>>>>>>>>
>>>>>>>>
>>>>>>>> -- Libgo: creating stdlib package targets
>>>>>>>> -- Libgo: generating check targets
>>>>>>>> -- libgo configuration complete.
>>>>>>>> -- starting gotools configuration.
>>>>>>>> -- gotools: generating check targets
>>>>>>>> -- gotools configuration complete.
>>>>>>>> -- Registering Bye as a pass plugin (static build: OFF)
>>>>>>>> -- Failed to find LLVM FileCheck
>>>>>>>> -- Version: 0.0.0
>>>>>>>> -- Performing Test HAVE_GNU_POSIX_REGEX -- failed to compile
>>>>>>>> -- Performing Test HAVE_POSIX_REGEX -- success
>>>>>>>> -- Performing Test HAVE_STEADY_CLOCK -- success
>>>>>>>> -- Configuring incomplete, errors occurred!
>>>>>>>> See also 
>>>>>>>> "/home/gopher/workarea/build-debug/CMakeFiles/CMakeOutput.log".
>>>>>>>> See also "/home/gopher/workarea/build-debug/CMakeFiles/CMakeError.log".
>>>>>>>> ninja: error: loading 'build.ninja': No such file or directory
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> --
>>>>>>>> You received this message because you are subscribed to the Google
>>>>>>>> Groups "golang-nuts" group.
>>>>>>>> To unsubscribe from this group and stop receiving emails from it,
>>>>>>>> send an email to golang-nuts+unsubscr...@googlegroups.com.
>>>>>>>> To view this discussion on the web visit
>>>>>>>> https://groups.google.com/d/msgid/golang-nuts/cdb72cf2-2fe2-4f44-87fb-5cc2058dd58a%40googlegroups.com
>>>>>>>> <https://groups.google.com/d/msgid/golang-nuts/cdb72cf2-2fe2-4f44-87fb-5cc2058dd58a%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>>>>>> .
>>>>>>>>
>>>>>>> --
>>>>>>> Best regards,
>>>>>>> Martins Eglitis
>>>>>>>
>>>>>>>
>>>> --
>>>> Sent from my Android device with K-9 Mail. Please excuse my brevity.
>>>>
>>> --
>>> Best regards,
>>> Martins Eglitis
>>>
>>> --
>> Best regards,
>> Martins Eglitis
>>
>> --
> Best regards,
> Martins Eglitis
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/golang-nuts/CA%2BUr55HtmzZ7b9Xr3Z9kJXFuYAGbe%2B_559P%2Bcsit0sOX7WwyFA%40mail.gmail.com.

Reply via email to