Skip to content
  1. Nov 16, 2016
  2. Nov 15, 2016
  3. Nov 14, 2016
  4. Nov 12, 2016
    • George Rimar's avatar
      [ELF] - Add support for locals list in version script. · bb6c01e7
      George Rimar authored
      Previously we did not support anything except "local: *", patch changes that.
      
      Actually GNU rules of proccessing wildcards are more complex than that (http://www.airs.com/blog/archives/300):
      There are 2 iteration for wildcards, at first iteration "*" wildcards are ignored and handled at second iteration.
      
      Since we previously decided not to implement such complex rules,
      I suggest solution that is implemented in this patch. So for "local: *" case nothing changes,
      but if we have wildcarded locals,
      they are processed before wildcarded globals. 
      
      This should fix several FreeBSD ports, one of them is jpeg-turbo-1.5.1 and
      currently blocks about 5k of ports.
      
      Differential revision: https://reviews.llvm.org/D26395
      
      llvm-svn: 286713
      bb6c01e7
    • Rui Ueyama's avatar
      Remove dead code. · da139f79
      Rui Ueyama authored
      llvm-svn: 286698
      da139f79
  5. Nov 11, 2016
  6. Nov 10, 2016
    • Rui Ueyama's avatar
      Include version string into ".comment" section. · 3da3f06d
      Rui Ueyama authored
      Summary:
      This patch adds a ".comment" section to an output. The comment
      section contains the linker's version string. You can now
      find out whether a binary is created by LLD or not using objdump
      command like this.
      
        $ objdump -s -j .comment foo
      
        foo:     file format elf64-x86-64
      
        Contents of section .comment:
         0000 00474343 3a202855 62756e74 7520342e  .GCC: (Ubuntu 4.
         0010 382e342d 32756275 6e747531 7e31342e  8.4-2ubuntu1~14.
         ...
         00c0 766d2f74 72756e6b 20323835 38343629  vm/trunk 285846)
         00d0 004c696e 6b65723a 204c4c44 20342e30  .Linker: LLD 4.0
         00e0 2e302028 7472756e 6b203238 36343036  .0 (trunk 286406
         00f0 2900                                 ).
      
      Compilers emits .comment section as well, so the output contains
      both compiler and linker information.
      
      Alternative considered:
      
      I first tried to add a SHT_NOTE section because GNU gold does that.
      A NOTE section starts with a header which contains content type.
      It turned out that ld.gold sets type NT_GNU_GOLD_VERSION to their
      NOTE section. So the NOTE type is only for GNU gold (surprise!)
      
      Next, I tried to create ".linker-version" section. However, it seems
      that reusing the existing ".comment" section is better because 1)
      other tools already know about .comment section and is able to strip
      it and 2) the result contans not only linker info but also compiler
      info.
      
      Differential Revision: https://reviews.llvm.org/D26487
      
      llvm-svn: 286496
      3da3f06d
Loading