[cfe-dev] Static linking a program

Wink Saville via cfe-dev cfe-dev at lists.llvm.org
Thu Jun 28 08:40:23 PDT 2018


Yes, that works:

$ clang++ -v -fuse-ld=lld main.cpp -o main
clang version 6.0.0 (tags/RELEASE_600/final)
Target: x86_64-pc-linux-gnu
Thread model: posix
InstalledDir: /usr/bin
Found candidate GCC installation:
/usr/bin/../lib/gcc/x86_64-pc-linux-gnu/8.1.1
Found candidate GCC installation:
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/8.1.1
Found candidate GCC installation: /usr/lib/gcc/x86_64-pc-linux-gnu/8.1.1
Found candidate GCC installation: /usr/lib64/gcc/x86_64-pc-linux-gnu/8.1.1
Selected GCC installation: /usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/8.1.1
Candidate multilib: .;@m64
Candidate multilib: 32;@m32
Selected multilib: .;@m64
 "/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
clang -cc1 version 6.0.0 based upon LLVM 6.0.0 default target
x86_64-pc-linux-gnu
ignoring nonexistent directory "/include"
#include "..." search starts here:
#include <...> search starts here:
 /usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/8.1.1/../../../../include/c++/8.1.1
 /usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/8.1.1/../../../../include/c++/8.1.1/x86_64-pc-linux-gnu
 /usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/8.1.1/../../../../include/c++/8.1.1/backward
 /usr/local/include
 /usr/lib/clang/6.0.0/include
 /usr/include
End of search list.
 "/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

wink at wink-desktop:~/prgs/explore-cpp-static-linking (master)
$ ./main 1 2
argv[0]: ./main
argv[1]: 1
argv[2]: 2



And here is the static linking output:

$ clang++ -v -static -fuse-ld=lld main.cpp -o main.static
clang version 6.0.0 (tags/RELEASE_600/final)
Target: x86_64-pc-linux-gnu
Thread model: posix
InstalledDir: /usr/bin
Found candidate GCC installation:
/usr/bin/../lib/gcc/x86_64-pc-linux-gnu/8.1.1
Found candidate GCC installation:
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/8.1.1
Found candidate GCC installation: /usr/lib/gcc/x86_64-pc-linux-gnu/8.1.1
Found candidate GCC installation: /usr/lib64/gcc/x86_64-pc-linux-gnu/8.1.1
Selected GCC installation: /usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/8.1.1
Candidate multilib: .;@m64
Candidate multilib: 32;@m32
Selected multilib: .;@m64
 "/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
clang -cc1 version 6.0.0 based upon LLVM 6.0.0 default target
x86_64-pc-linux-gnu
ignoring nonexistent directory "/include"
#include "..." search starts here:
#include <...> search starts here:
 /usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/8.1.1/../../../../include/c++/8.1.1
 /usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/8.1.1/../../../../include/c++/8.1.1/x86_64-pc-linux-gnu
 /usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/8.1.1/../../../../include/c++/8.1.1/backward
 /usr/local/include
 /usr/lib/clang/6.0.0/include
 /usr/include
End of search list.
 "/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

wink at wink-desktop:~/prgs/explore-cpp-static-linking (master)
$ ls -al
total 23340
drwxr-xr-x  4 wink users     4096 Jun 28 08:29 .
drwxr-xr-x 64 wink users     4096 Jun 26 13:58 ..
drwxr-xr-x  8 wink users     4096 Jun 26 23:01 .git
-rw-r--r--  1 wink users        9 Jun 26 13:58 .gitignore
-rw-r--r--  1 wink users     1210 Jun 26 13:58 LICENSE
-rwxr-xr-x  1 wink users    16880 Jun 28 08:28 main
-rw-r--r--  1 wink users      159 Jun 26 14:06 main.cpp
-rwxr-xr-x  1 wink users     9016 Jun 28 08:23 main.o
-rwxr-xr-x  1 wink users  2161040 Jun 28 08:29 main.static
-rw-r--r--  1 wink users     1492 Jun 28 08:22 Makefile
-rw-r--r--  1 wink users     5876 Jun 26 22:55 README.md
drwxr-xr-x  4 wink users     4096 Jun 27 08:57 repro
-rw-r--r--  1 wink users 16947712 Jun 27 08:57 repro.tar
-rw-r--r--  1 wink users  4711749 Jun 27 08:58 repro.tar.bzip2

wink at wink-desktop:~/prgs/explore-cpp-static-linking (master)
$ ./main.static 1 2 3
Segmentation fault (core dumped)

wink at wink-desktop:~/prgs/explore-cpp-static-linking (master)
$ coredumpctl gdb
           PID: 18099 (main.static)
           UID: 1000 (wink)
           GID: 100 (users)
        Signal: 11 (SEGV)
     Timestamp: Thu 2018-06-28 08:29:47 PDT (8min ago)
  Command Line: ./main.static 1 2 3
    Executable: /home/wink/prgs/explore-cpp-static-linking/main.static
 Control Group: /user.slice/user-1000.slice/session-c2.scope
          Unit: session-c2.scope
         Slice: user-1000.slice
       Session: c2
     Owner UID: 1000 (wink)
       Boot ID: 65910f0244bf4b62905c0198842b62d4
    Machine ID: 8f80fd742eae4659baed812cd07a9439
      Hostname: wink-desktop
       Storage:
/var/lib/systemd/coredump/core.main\x2estatic.1000.65910f0244bf4b62905c0198842b62d4.18099.1530199787000000.lz4
       Message: Process 18099 (main.static) of user 1000 dumped core.

                Stack trace of thread 18099:
                #0  0x0000000000383dc6 n/a
(/home/wink/prgs/explore-cpp-static-linking/main.static)

GNU gdb (GDB) 8.1
Copyright (C) 2018 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html
>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-pc-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from
/home/wink/prgs/explore-cpp-static-linking/main.static...(no debugging
symbols found)...done.
[New LWP 18099]
Core was generated by `./main.static 1 2 3'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x0000000000383dc6 in _dl_get_origin ()
(gdb) bt
#0  0x0000000000383dc6 in _dl_get_origin ()
#1  0x000000000038342f in _dl_non_dynamic_init ()
#2  0x00000000002eecd1 in __libc_init_first ()
#3  0x00000000002ee9c7 in __libc_start_main ()
#4  0x000000000025302a in _start ()


On Thu, Jun 28, 2018 at 1:25 AM Rui Ueyama <ruiu at google.com> wrote:

> Thanks for sharing the file with me. Does lld work if you remove -static
> from the command line?
>
> On Thu, Jun 28, 2018 at 1:04 AM Wink Saville <wink at saville.com> wrote:
>
>> On Wed, Jun 27, 2018 at 8:02 AM, mats petersson <mats at planetcatfish.com>
>> wrote:
>> > Just to make sure this is NOT the issue: You are compiling and running
>> > "main" on the same machine [physical, virtual or docker], and the
>> compiler &
>> > libraries you use are built for/on the machine you are running "main"
>> on?
>>
>> Everything is being done on my physical Arch Linux box updated yesterday.
>>
>> > Not copying [or sharing over network filesystem] so that "main" is
>> being run
>> > on a different version of Linux? I've seen similar issues from trying
>> to use
>> > "wrong" versions of library on different versions/variants of Linux
>> > (presumably because system calls, ABI or something else changed between
>> > Release X of Linux A and Release Y of Linux B).
>> >
>> > --
>> > Mats
>> >
>> > On 27 June 2018 at 07:44, Rui Ueyama via cfe-dev <
>> cfe-dev at lists.llvm.org>
>> > wrote:
>> >>
>> >> It works for me, but there might be some bug in lld that occurs in your
>> >> environment but not in mine. Could you run the same command line with
>> >> -Wl,--reproduce=repro.tar and share a resulting repro.tar with me?
>> repro.tar
>> >> contanis all input files fed to the linker, so I can run the same
>> command
>> >> with the same input as yours on my machine.
>> >>
>> >> On Wed, Jun 27, 2018 at 2:59 PM Wink Saville via cfe-dev
>> >> <cfe-dev at lists.llvm.org> wrote:
>> >>>
>> >>> Thanks everyone, using "clang++ -v -static main.cpp" as a model
>> worked,
>> >>> see: https://github.com/winksaville/explore-cpp-static-linking
>> >>>
>> >>> But a curious thing, if I ask to use lld linker it compiles and links
>> >>> fine, but it
>> >>> fails with Segmentation fault. What have I done wrong now?
>> >>>
>> >>> $ clang++ -v -fuse-ld=lld -static main.cpp -o main
>> >>> clang version 6.0.0 (tags/RELEASE_600/final)
>> >>> Target: x86_64-pc-linux-gnu
>> >>> Thread model: posix
>> >>> InstalledDir: /usr/bin
>> >>> Found candidate GCC installation:
>> >>> /usr/bin/../lib/gcc/x86_64-pc-linux-gnu/8.1.1
>> >>> Found candidate GCC installation:
>> >>> /usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/8.1.1
>> >>> Found candidate GCC installation:
>> /usr/lib/gcc/x86_64-pc-linux-gnu/8.1.1
>> >>> Found candidate GCC installation:
>> >>> /usr/lib64/gcc/x86_64-pc-linux-gnu/8.1.1
>> >>> Selected GCC installation:
>> >>> /usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/8.1.1
>> >>> Candidate multilib: .;@m64
>> >>> Candidate multilib: 32;@m32
>> >>> Selected multilib: .;@m64
>> >>>  "/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-e6f2d0.o -x
>> >>> c++ main.cpp
>> >>> clang -cc1 version 6.0.0 based upon LLVM 6.0.0 default target
>> >>> x86_64-pc-linux-gnu
>> >>> ignoring nonexistent directory "/include"
>> >>> #include "..." search starts here:
>> >>> #include <...> search starts here:
>> >>>
>> >>>
>> /usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/8.1.1/../../../../include/c++/8.1.1
>> >>>
>> >>>
>> /usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/8.1.1/../../../../include/c++/8.1.1/x86_64-pc-linux-gnu
>> >>>
>> >>>
>> /usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/8.1.1/../../../../include/c++/8.1.1/backward
>> >>>  /usr/local/include
>> >>>  /usr/lib/clang/6.0.0/include
>> >>>  /usr/include
>> >>> End of search list.
>> >>>  "/usr/bin/ld.lld" -m elf_x86_64 -static -o main
>> >>>
>> /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-e6f2d0.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
>> >>>
>> >>> $ ./main 1 2 3
>> >>> Segmentation fault (core dumped)
>> >>>
>> >>> $ coredumpctl gdb
>> >>>            PID: 5870 (main)
>> >>>            UID: 1000 (wink)
>> >>>            GID: 100 (users)
>> >>>         Signal: 11 (SEGV)
>> >>>      Timestamp: Tue 2018-06-26 22:40:56 PDT (6s ago)
>> >>>   Command Line: ./main 1 2 3
>> >>>     Executable: /home/wink/prgs/explore-cpp-static-linking/main
>> >>>  Control Group: /user.slice/user-1000.slice/session-c2.scope
>> >>>           Unit: session-c2.scope
>> >>>          Slice: user-1000.slice
>> >>>        Session: c2
>> >>>      Owner UID: 1000 (wink)
>> >>>        Boot ID: 65910f0244bf4b62905c0198842b62d4
>> >>>     Machine ID: 8f80fd742eae4659baed812cd07a9439
>> >>>       Hostname: wink-desktop
>> >>>        Storage:
>> >>>
>> >>>
>> /var/lib/systemd/coredump/core.main.1000.65910f0244bf4b62905c0198842b62d4.5870.1530078056000000.lz4
>> >>>        Message: Process 5870 (main) of user 1000 dumped core.
>> >>>
>> >>>                 Stack trace of thread 5870:
>> >>>                 #0  0x0000000000383dc6 n/a
>> >>> (/home/wink/prgs/explore-cpp-static-linking/main)
>> >>>
>> >>> GNU gdb (GDB) 8.1
>> >>> Copyright (C) 2018 Free Software Foundation, Inc.
>> >>> License GPLv3+: GNU GPL version 3 or later
>> >>> <http://gnu.org/licenses/gpl.html>
>> >>> This is free software: you are free to change and redistribute it.
>> >>> There is NO WARRANTY, to the extent permitted by law.  Type "show
>> >>> copying"
>> >>> and "show warranty" for details.
>> >>> This GDB was configured as "x86_64-pc-linux-gnu".
>> >>> Type "show configuration" for configuration details.
>> >>> For bug reporting instructions, please see:
>> >>> <http://www.gnu.org/software/gdb/bugs/>.
>> >>> Find the GDB manual and other documentation resources online at:
>> >>> <http://www.gnu.org/software/gdb/documentation/>.
>> >>> For help, type "help".
>> >>> Type "apropos word" to search for commands related to "word"...
>> >>> Reading symbols from
>> >>> /home/wink/prgs/explore-cpp-static-linking/main...(no debugging
>> >>> symbols found)...done.
>> >>> [New LWP 5870]
>> >>> Core was generated by `./main 1 2 3'.
>> >>> Program terminated with signal SIGSEGV, Segmentation fault.
>> >>> #0  0x0000000000383dc6 in _dl_get_origin ()
>> >>> (gdb) bt
>> >>> #0  0x0000000000383dc6 in _dl_get_origin ()
>> >>> #1  0x000000000038342f in _dl_non_dynamic_init ()
>> >>> #2  0x00000000002eecd1 in __libc_init_first ()
>> >>> #3  0x00000000002ee9c7 in __libc_start_main ()
>> >>> #4  0x000000000025302a in _start ()
>> >>>
>> >>> On Tue, Jun 26, 2018 at 2:58 PM, Joerg Sonnenberger via cfe-dev
>> >>> <cfe-dev at lists.llvm.org> wrote:
>> >>> > On Tue, Jun 26, 2018 at 09:36:18PM +0000, Shoaib Meenai via cfe-dev
>> >>> > wrote:
>> >>> >> I do see that you're linking all the start files yourself, but the
>> >>> >> ordering can also make a difference.
>> >>> >
>> >>> > crt0.o / crt1.o was missing.
>> >>> >
>> >>> > Joerg
>> >>> > _______________________________________________
>> >>> > cfe-dev mailing list
>> >>> > cfe-dev at lists.llvm.org
>> >>> > http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev
>> >>> _______________________________________________
>> >>> cfe-dev mailing list
>> >>> cfe-dev at lists.llvm.org
>> >>> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev
>> >>
>> >>
>> >> _______________________________________________
>> >> cfe-dev mailing list
>> >> cfe-dev at lists.llvm.org
>> >> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev
>> >>
>> >
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20180628/c13488b7/attachment.html>


More information about the cfe-dev mailing list