<div dir="ltr">Yes, that works:<div><br><div><div>$ clang++ -v -fuse-ld=lld main.cpp -o main</div><div>clang version 6.0.0 (tags/RELEASE_600/final)</div><div>Target: x86_64-pc-linux-gnu</div><div>Thread model: posix</div><div>InstalledDir: /usr/bin</div><div>Found candidate GCC installation: /usr/bin/../lib/gcc/x86_64-pc-linux-gnu/8.1.1</div><div>Found candidate GCC installation: /usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/8.1.1</div><div>Found candidate GCC installation: /usr/lib/gcc/x86_64-pc-linux-gnu/8.1.1</div><div>Found candidate GCC installation: /usr/lib64/gcc/x86_64-pc-linux-gnu/8.1.1</div><div>Selected GCC installation: /usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/8.1.1</div><div>Candidate multilib: .;@m64</div><div>Candidate multilib: 32;@m32</div><div>Selected multilib: .;@m64</div><div> "/usr/bin/clang-6.0" -cc1 -triple x86_64-pc-linux-gnu -emit-obj -mrelax-all -disable-free -disable-llvm-verifier -discard-value-names -main-file-name main.cpp -mrelocation-model pic -pic-level 2 -pic-is-pie -mthread-model posix -mdisable-fp-elim -fmath-errno -masm-verbose -mconstructor-aliases -munwind-tables -fuse-init-array -target-cpu x86-64 -dwarf-column-info -debugger-tuning=gdb -v -resource-dir /usr/lib/clang/6.0.0 -internal-isystem /usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/8.1.1/../../../../include/c++/8.1.1 -internal-isystem /usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/8.1.1/../../../../include/c++/8.1.1/x86_64-pc-linux-gnu -internal-isystem /usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/8.1.1/../../../../include/c++/8.1.1/backward -internal-isystem /usr/local/include -internal-isystem /usr/lib/clang/6.0.0/include -internal-externc-isystem /include -internal-externc-isystem /usr/include -fdeprecated-macro -fdebug-compilation-dir /home/wink/prgs/explore-cpp-static-linking -ferror-limit 19 -fmessage-length 121 -stack-protector 2 -fobjc-runtime=gcc -fcxx-exceptions -fexceptions -fdiagnostics-show-option -fcolor-diagnostics -o /tmp/main-ff3943.o -x c++ main.cpp</div><div>clang -cc1 version 6.0.0 based upon LLVM 6.0.0 default target x86_64-pc-linux-gnu</div><div>ignoring nonexistent directory "/include"</div><div>#include "..." search starts here:</div><div>#include <...> search starts here:</div><div> /usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/8.1.1/../../../../include/c++/8.1.1</div><div> /usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/8.1.1/../../../../include/c++/8.1.1/x86_64-pc-linux-gnu</div><div> /usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/8.1.1/../../../../include/c++/8.1.1/backward</div><div> /usr/local/include</div><div> /usr/lib/clang/6.0.0/include</div><div> /usr/include</div><div>End of search list.</div><div> "/usr/bin/ld.lld" -pie --eh-frame-hdr -m elf_x86_64 -dynamic-linker /lib64/ld-linux-x86-64.so.2 -o main /usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/8.1.1/../../../../lib64/Scrt1.o /usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/8.1.1/../../../../lib64/crti.o /usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/8.1.1/crtbeginS.o -L/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/8.1.1 -L/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/8.1.1/../../../../lib64 -L/usr/bin/../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 -L/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/8.1.1/../../.. -L/usr/bin/../lib -L/lib -L/usr/lib /tmp/main-ff3943.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/8.1.1/crtendS.o /usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/8.1.1/../../../../lib64/crtn.o</div><div><br></div><div>wink@wink-desktop:~/prgs/explore-cpp-static-linking (master)</div><div>$ ./main 1 2 </div><div>argv[0]: ./main</div><div>argv[1]: 1</div><div>argv[2]: 2</div></div><div><br></div></div><div><br></div><div><br></div><div>And here is the static linking output:</div><div><br></div><div><div>$ clang++ -v -static -fuse-ld=lld main.cpp -o main.static</div><div>clang version 6.0.0 (tags/RELEASE_600/final)</div><div>Target: x86_64-pc-linux-gnu</div><div>Thread model: posix</div><div>InstalledDir: /usr/bin</div><div>Found candidate GCC installation: /usr/bin/../lib/gcc/x86_64-pc-linux-gnu/8.1.1</div><div>Found candidate GCC installation: /usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/8.1.1</div><div>Found candidate GCC installation: /usr/lib/gcc/x86_64-pc-linux-gnu/8.1.1</div><div>Found candidate GCC installation: /usr/lib64/gcc/x86_64-pc-linux-gnu/8.1.1</div><div>Selected GCC installation: /usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/8.1.1</div><div>Candidate multilib: .;@m64</div><div>Candidate multilib: 32;@m32</div><div>Selected multilib: .;@m64</div><div> "/usr/bin/clang-6.0" -cc1 -triple x86_64-pc-linux-gnu -emit-obj -mrelax-all -disable-free -disable-llvm-verifier -discard-value-names -main-file-name main.cpp -static-define -mrelocation-model pic -pic-level 2 -pic-is-pie -mthread-model posix -mdisable-fp-elim -fmath-errno -masm-verbose -mconstructor-aliases -munwind-tables -fuse-init-array -target-cpu x86-64 -dwarf-column-info -debugger-tuning=gdb -v -resource-dir /usr/lib/clang/6.0.0 -internal-isystem /usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/8.1.1/../../../../include/c++/8.1.1 -internal-isystem /usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/8.1.1/../../../../include/c++/8.1.1/x86_64-pc-linux-gnu -internal-isystem /usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/8.1.1/../../../../include/c++/8.1.1/backward -internal-isystem /usr/local/include -internal-isystem /usr/lib/clang/6.0.0/include -internal-externc-isystem /include -internal-externc-isystem /usr/include -fdeprecated-macro -fdebug-compilation-dir /home/wink/prgs/explore-cpp-static-linking -ferror-limit 19 -fmessage-length 121 -stack-protector 2 -fobjc-runtime=gcc -fcxx-exceptions -fexceptions -fdiagnostics-show-option -fcolor-diagnostics -o /tmp/main-7949e4.o -x c++ main.cpp</div><div>clang -cc1 version 6.0.0 based upon LLVM 6.0.0 default target x86_64-pc-linux-gnu</div><div>ignoring nonexistent directory "/include"</div><div>#include "..." search starts here:</div><div>#include <...> search starts here:</div><div> /usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/8.1.1/../../../../include/c++/8.1.1</div><div> /usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/8.1.1/../../../../include/c++/8.1.1/x86_64-pc-linux-gnu</div><div> /usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/8.1.1/../../../../include/c++/8.1.1/backward</div><div> /usr/local/include</div><div> /usr/lib/clang/6.0.0/include</div><div> /usr/include</div><div>End of search list.</div><div> "/usr/bin/ld.lld" -m elf_x86_64 -static -o main.static /usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/8.1.1/../../../../lib64/crt1.o /usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/8.1.1/../../../../lib64/crti.o /usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/8.1.1/crtbeginT.o -L/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/8.1.1 -L/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/8.1.1/../../../../lib64 -L/usr/bin/../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 -L/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/8.1.1/../../.. -L/usr/bin/../lib -L/lib -L/usr/lib /tmp/main-7949e4.o -lstdc++ -lm --start-group -lgcc -lgcc_eh -lc --end-group /usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/8.1.1/crtend.o /usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/8.1.1/../../../../lib64/crtn.o</div><div><br></div><div>wink@wink-desktop:~/prgs/explore-cpp-static-linking (master)</div><div>$ ls -al</div><div>total 23340</div><div>drwxr-xr-x  4 wink users     4096 Jun 28 08:29 .</div><div>drwxr-xr-x 64 wink users     4096 Jun 26 13:58 ..</div><div>drwxr-xr-x  8 wink users     4096 Jun 26 23:01 .git</div><div>-rw-r--r--  1 wink users        9 Jun 26 13:58 .gitignore</div><div>-rw-r--r--  1 wink users     1210 Jun 26 13:58 LICENSE</div><div>-rwxr-xr-x  1 wink users    16880 Jun 28 08:28 main</div><div>-rw-r--r--  1 wink users      159 Jun 26 14:06 main.cpp</div><div>-rwxr-xr-x  1 wink users     9016 Jun 28 08:23 main.o</div><div>-rwxr-xr-x  1 wink users  2161040 Jun 28 08:29 main.static</div><div>-rw-r--r--  1 wink users     1492 Jun 28 08:22 Makefile</div><div>-rw-r--r--  1 wink users     5876 Jun 26 22:55 README.md</div><div>drwxr-xr-x  4 wink users     4096 Jun 27 08:57 repro</div><div>-rw-r--r--  1 wink users 16947712 Jun 27 08:57 repro.tar</div><div>-rw-r--r--  1 wink users  4711749 Jun 27 08:58 repro.tar.bzip2</div><div><br></div><div>wink@wink-desktop:~/prgs/explore-cpp-static-linking (master)</div><div>$ ./main.static 1 2 3</div><div>Segmentation fault (core dumped)</div><div><br></div><div>wink@wink-desktop:~/prgs/explore-cpp-static-linking (master)</div><div>$ coredumpctl gdb</div><div>           PID: 18099 (main.static)</div><div>           UID: 1000 (wink)</div><div>           GID: 100 (users)</div><div>        Signal: 11 (SEGV)</div><div>     Timestamp: Thu 2018-06-28 08:29:47 PDT (8min ago)</div><div>  Command Line: ./main.static 1 2 3</div><div>    Executable: /home/wink/prgs/explore-cpp-static-linking/main.static</div><div> Control Group: /user.slice/user-1000.slice/session-c2.scope</div><div>          Unit: session-c2.scope</div><div>         Slice: user-1000.slice</div><div>       Session: c2</div><div>     Owner UID: 1000 (wink)</div><div>       Boot ID: 65910f0244bf4b62905c0198842b62d4</div><div>    Machine ID: 8f80fd742eae4659baed812cd07a9439</div><div>      Hostname: wink-desktop</div><div>       Storage: /var/lib/systemd/coredump/core.main\x2estatic.1000.65910f0244bf4b62905c0198842b62d4.18099.1530199787000000.lz4</div><div>       Message: Process 18099 (main.static) of user 1000 dumped core.</div><div>                </div><div>                Stack trace of thread 18099:</div><div>                #0  0x0000000000383dc6 n/a (/home/wink/prgs/explore-cpp-static-linking/main.static)</div><div><br></div><div>GNU gdb (GDB) 8.1</div><div>Copyright (C) 2018 Free Software Foundation, Inc.</div><div>License GPLv3+: GNU GPL version 3 or later <<a href="http://gnu.org/licenses/gpl.html">http://gnu.org/licenses/gpl.html</a>></div><div>This is free software: you are free to change and redistribute it.</div><div>There is NO WARRANTY, to the extent permitted by law.  Type "show copying"</div><div>and "show warranty" for details.</div><div>This GDB was configured as "x86_64-pc-linux-gnu".</div><div>Type "show configuration" for configuration details.</div><div>For bug reporting instructions, please see:</div><div><<a href="http://www.gnu.org/software/gdb/bugs/">http://www.gnu.org/software/gdb/bugs/</a>>.</div><div>Find the GDB manual and other documentation resources online at:</div><div><<a href="http://www.gnu.org/software/gdb/documentation/">http://www.gnu.org/software/gdb/documentation/</a>>.</div><div>For help, type "help".</div><div>Type "apropos word" to search for commands related to "word"...</div><div>Reading symbols from /home/wink/prgs/explore-cpp-static-linking/main.static...(no debugging symbols found)...done.</div><div>[New LWP 18099]</div><div>Core was generated by `./main.static 1 2 3'.</div><div>Program terminated with signal SIGSEGV, Segmentation fault.</div><div>#0  0x0000000000383dc6 in _dl_get_origin ()</div><div>(gdb) bt</div><div>#0  0x0000000000383dc6 in _dl_get_origin ()</div><div>#1  0x000000000038342f in _dl_non_dynamic_init ()</div><div>#2  0x00000000002eecd1 in __libc_init_first ()</div><div>#3  0x00000000002ee9c7 in __libc_start_main ()</div><div>#4  0x000000000025302a in _start ()</div></div><div><br></div></div><br><div class="gmail_quote"><div dir="ltr">On Thu, Jun 28, 2018 at 1:25 AM Rui Ueyama <<a href="mailto:ruiu@google.com">ruiu@google.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Thanks for sharing the file with me. Does lld work if you remove -static from the command line?</div><br><div class="gmail_quote"><div dir="ltr">On Thu, Jun 28, 2018 at 1:04 AM Wink Saville <<a href="mailto:wink@saville.com" target="_blank">wink@saville.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On Wed, Jun 27, 2018 at 8:02 AM, mats petersson <<a href="mailto:mats@planetcatfish.com" target="_blank">mats@planetcatfish.com</a>> wrote:<br>
> Just to make sure this is NOT the issue: You are compiling and running<br>
> "main" on the same machine [physical, virtual or docker], and the compiler &<br>
> libraries you use are built for/on the machine you are running "main" on?<br>
<br>
Everything is being done on my physical Arch Linux box updated yesterday.<br>
<br>
> Not copying [or sharing over network filesystem] so that "main" is being run<br>
> on a different version of Linux? I've seen similar issues from trying to use<br>
> "wrong" versions of library on different versions/variants of Linux<br>
> (presumably because system calls, ABI or something else changed between<br>
> Release X of Linux A and Release Y of Linux B).<br>
><br>
> --<br>
> Mats<br>
><br>
> On 27 June 2018 at 07:44, Rui Ueyama via cfe-dev <<a href="mailto:cfe-dev@lists.llvm.org" target="_blank">cfe-dev@lists.llvm.org</a>><br>
> wrote:<br>
>><br>
>> It works for me, but there might be some bug in lld that occurs in your<br>
>> environment but not in mine. Could you run the same command line with<br>
>> -Wl,--reproduce=repro.tar and share a resulting repro.tar with me? repro.tar<br>
>> contanis all input files fed to the linker, so I can run the same command<br>
>> with the same input as yours on my machine.<br>
>><br>
>> On Wed, Jun 27, 2018 at 2:59 PM Wink Saville via cfe-dev<br>
>> <<a href="mailto:cfe-dev@lists.llvm.org" target="_blank">cfe-dev@lists.llvm.org</a>> wrote:<br>
>>><br>
>>> Thanks everyone, using "clang++ -v -static main.cpp" as a model worked,<br>
>>> see: <a href="https://github.com/winksaville/explore-cpp-static-linking" rel="noreferrer" target="_blank">https://github.com/winksaville/explore-cpp-static-linking</a><br>
>>><br>
>>> But a curious thing, if I ask to use lld linker it compiles and links<br>
>>> fine, but it<br>
>>> fails with Segmentation fault. What have I done wrong now?<br>
>>><br>
>>> $ clang++ -v -fuse-ld=lld -static main.cpp -o main<br>
>>> clang version 6.0.0 (tags/RELEASE_600/final)<br>
>>> Target: x86_64-pc-linux-gnu<br>
>>> Thread model: posix<br>
>>> InstalledDir: /usr/bin<br>
>>> Found candidate GCC installation:<br>
>>> /usr/bin/../lib/gcc/x86_64-pc-linux-gnu/8.1.1<br>
>>> Found candidate GCC installation:<br>
>>> /usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/8.1.1<br>
>>> Found candidate GCC installation: /usr/lib/gcc/x86_64-pc-linux-gnu/8.1.1<br>
>>> Found candidate GCC installation:<br>
>>> /usr/lib64/gcc/x86_64-pc-linux-gnu/8.1.1<br>
>>> Selected GCC installation:<br>
>>> /usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/8.1.1<br>
>>> Candidate multilib: .;@m64<br>
>>> Candidate multilib: 32;@m32<br>
>>> Selected multilib: .;@m64<br>
>>>  "/usr/bin/clang-6.0" -cc1 -triple x86_64-pc-linux-gnu -emit-obj<br>
>>> -mrelax-all -disable-free -disable-llvm-verifier -discard-value-names<br>
>>> -main-file-name main.cpp -static-define -mrelocation-model pic<br>
>>> -pic-level 2 -pic-is-pie -mthread-model posix -mdisable-fp-elim<br>
>>> -fmath-errno -masm-verbose -mconstructor-aliases -munwind-tables<br>
>>> -fuse-init-array -target-cpu x86-64 -dwarf-column-info<br>
>>> -debugger-tuning=gdb -v -resource-dir /usr/lib/clang/6.0.0<br>
>>> -internal-isystem<br>
>>><br>
>>> /usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/8.1.1/../../../../include/c++/8.1.1<br>
>>> -internal-isystem<br>
>>><br>
>>> /usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/8.1.1/../../../../include/c++/8.1.1/x86_64-pc-linux-gnu<br>
>>> -internal-isystem<br>
>>><br>
>>> /usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/8.1.1/../../../../include/c++/8.1.1/backward<br>
>>> -internal-isystem /usr/local/include -internal-isystem<br>
>>> /usr/lib/clang/6.0.0/include -internal-externc-isystem /include<br>
>>> -internal-externc-isystem /usr/include -fdeprecated-macro<br>
>>> -fdebug-compilation-dir /home/wink/prgs/explore-cpp-static-linking<br>
>>> -ferror-limit 19 -fmessage-length 121 -stack-protector 2<br>
>>> -fobjc-runtime=gcc -fcxx-exceptions -fexceptions<br>
>>> -fdiagnostics-show-option -fcolor-diagnostics -o /tmp/main-e6f2d0.o -x<br>
>>> c++ main.cpp<br>
>>> clang -cc1 version 6.0.0 based upon LLVM 6.0.0 default target<br>
>>> x86_64-pc-linux-gnu<br>
>>> ignoring nonexistent directory "/include"<br>
>>> #include "..." search starts here:<br>
>>> #include <...> search starts here:<br>
>>><br>
>>> /usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/8.1.1/../../../../include/c++/8.1.1<br>
>>><br>
>>> /usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/8.1.1/../../../../include/c++/8.1.1/x86_64-pc-linux-gnu<br>
>>><br>
>>> /usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/8.1.1/../../../../include/c++/8.1.1/backward<br>
>>>  /usr/local/include<br>
>>>  /usr/lib/clang/6.0.0/include<br>
>>>  /usr/include<br>
>>> End of search list.<br>
>>>  "/usr/bin/ld.lld" -m elf_x86_64 -static -o main<br>
>>> /usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/8.1.1/../../../../lib64/crt1.o<br>
>>> /usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/8.1.1/../../../../lib64/crti.o<br>
>>> /usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/8.1.1/crtbeginT.o<br>
>>> -L/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/8.1.1<br>
>>> -L/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/8.1.1/../../../../lib64<br>
>>> -L/usr/bin/../lib64 -L/lib/../lib64 -L/usr/lib/../lib64<br>
>>> -L/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/8.1.1/../../..<br>
>>> -L/usr/bin/../lib -L/lib -L/usr/lib /tmp/main-e6f2d0.o -lstdc++ -lm<br>
>>> --start-group -lgcc -lgcc_eh -lc --end-group<br>
>>> /usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/8.1.1/crtend.o<br>
>>> /usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/8.1.1/../../../../lib64/crtn.o<br>
>>><br>
>>> $ ./main 1 2 3<br>
>>> Segmentation fault (core dumped)<br>
>>><br>
>>> $ coredumpctl gdb<br>
>>>            PID: 5870 (main)<br>
>>>            UID: 1000 (wink)<br>
>>>            GID: 100 (users)<br>
>>>         Signal: 11 (SEGV)<br>
>>>      Timestamp: Tue 2018-06-26 22:40:56 PDT (6s ago)<br>
>>>   Command Line: ./main 1 2 3<br>
>>>     Executable: /home/wink/prgs/explore-cpp-static-linking/main<br>
>>>  Control Group: /user.slice/user-1000.slice/session-c2.scope<br>
>>>           Unit: session-c2.scope<br>
>>>          Slice: user-1000.slice<br>
>>>        Session: c2<br>
>>>      Owner UID: 1000 (wink)<br>
>>>        Boot ID: 65910f0244bf4b62905c0198842b62d4<br>
>>>     Machine ID: 8f80fd742eae4659baed812cd07a9439<br>
>>>       Hostname: wink-desktop<br>
>>>        Storage:<br>
>>><br>
>>> /var/lib/systemd/coredump/core.main.1000.65910f0244bf4b62905c0198842b62d4.5870.1530078056000000.lz4<br>
>>>        Message: Process 5870 (main) of user 1000 dumped core.<br>
>>><br>
>>>                 Stack trace of thread 5870:<br>
>>>                 #0  0x0000000000383dc6 n/a<br>
>>> (/home/wink/prgs/explore-cpp-static-linking/main)<br>
>>><br>
>>> GNU gdb (GDB) 8.1<br>
>>> Copyright (C) 2018 Free Software Foundation, Inc.<br>
>>> License GPLv3+: GNU GPL version 3 or later<br>
>>> <<a href="http://gnu.org/licenses/gpl.html" rel="noreferrer" target="_blank">http://gnu.org/licenses/gpl.html</a>><br>
>>> This is free software: you are free to change and redistribute it.<br>
>>> There is NO WARRANTY, to the extent permitted by law.  Type "show<br>
>>> copying"<br>
>>> and "show warranty" for details.<br>
>>> This GDB was configured as "x86_64-pc-linux-gnu".<br>
>>> Type "show configuration" for configuration details.<br>
>>> For bug reporting instructions, please see:<br>
>>> <<a href="http://www.gnu.org/software/gdb/bugs/" rel="noreferrer" target="_blank">http://www.gnu.org/software/gdb/bugs/</a>>.<br>
>>> Find the GDB manual and other documentation resources online at:<br>
>>> <<a href="http://www.gnu.org/software/gdb/documentation/" rel="noreferrer" target="_blank">http://www.gnu.org/software/gdb/documentation/</a>>.<br>
>>> For help, type "help".<br>
>>> Type "apropos word" to search for commands related to "word"...<br>
>>> Reading symbols from<br>
>>> /home/wink/prgs/explore-cpp-static-linking/main...(no debugging<br>
>>> symbols found)...done.<br>
>>> [New LWP 5870]<br>
>>> Core was generated by `./main 1 2 3'.<br>
>>> Program terminated with signal SIGSEGV, Segmentation fault.<br>
>>> #0  0x0000000000383dc6 in _dl_get_origin ()<br>
>>> (gdb) bt<br>
>>> #0  0x0000000000383dc6 in _dl_get_origin ()<br>
>>> #1  0x000000000038342f in _dl_non_dynamic_init ()<br>
>>> #2  0x00000000002eecd1 in __libc_init_first ()<br>
>>> #3  0x00000000002ee9c7 in __libc_start_main ()<br>
>>> #4  0x000000000025302a in _start ()<br>
>>><br>
>>> On Tue, Jun 26, 2018 at 2:58 PM, Joerg Sonnenberger via cfe-dev<br>
>>> <<a href="mailto:cfe-dev@lists.llvm.org" target="_blank">cfe-dev@lists.llvm.org</a>> wrote:<br>
>>> > On Tue, Jun 26, 2018 at 09:36:18PM +0000, Shoaib Meenai via cfe-dev<br>
>>> > wrote:<br>
>>> >> I do see that you're linking all the start files yourself, but the<br>
>>> >> ordering can also make a difference.<br>
>>> ><br>
>>> > crt0.o / crt1.o was missing.<br>
>>> ><br>
>>> > Joerg<br>
>>> > _______________________________________________<br>
>>> > cfe-dev mailing list<br>
>>> > <a href="mailto:cfe-dev@lists.llvm.org" target="_blank">cfe-dev@lists.llvm.org</a><br>
>>> > <a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev</a><br>
>>> _______________________________________________<br>
>>> cfe-dev mailing list<br>
>>> <a href="mailto:cfe-dev@lists.llvm.org" target="_blank">cfe-dev@lists.llvm.org</a><br>
>>> <a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev</a><br>
>><br>
>><br>
>> _______________________________________________<br>
>> cfe-dev mailing list<br>
>> <a href="mailto:cfe-dev@lists.llvm.org" target="_blank">cfe-dev@lists.llvm.org</a><br>
>> <a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev</a><br>
>><br>
><br>
</blockquote></div>
</blockquote></div>