[PATCH] [ELF] Make -init/-fini options compatible with the gnu linker

Simon Atanasyan simon at atanasyan.com
Mon Dec 8 23:05:36 PST 2014


Hi shankarke, ruiu, Bigcheese, joerg,

The LLD linker searches initializer and finalizer function names and emits `DT_INIT`/`DT_FINI` dynamic table tags to point to these symbols. The `-init`/`-fini` command line options override initializer ("_init") and finalizer ("_fini") function names used by default.                    
                                                                       
Now the `-init`/`-fini` options do not affect `.init_array`/`.fini_array` sections. The corresponding code has been removed.

http://reviews.llvm.org/D6578

Files:
  include/lld/ReaderWriter/ELFLinkingContext.h
  lib/Driver/GnuLdDriver.cpp
  lib/ReaderWriter/ELF/AArch64/AArch64LinkingContext.cpp
  lib/ReaderWriter/ELF/AArch64/AArch64LinkingContext.h
  lib/ReaderWriter/ELF/ELFLinkingContext.cpp
  lib/ReaderWriter/ELF/Hexagon/HexagonLinkingContext.cpp
  lib/ReaderWriter/ELF/Hexagon/HexagonLinkingContext.h
  lib/ReaderWriter/ELF/SectionChunks.h
  lib/ReaderWriter/ELF/X86_64/X86_64LinkingContext.cpp
  lib/ReaderWriter/ELF/X86_64/X86_64LinkingContext.h
  test/elf/AArch64/initfini-alignment.test
  test/elf/AArch64/initfini-option.test
  test/elf/Hexagon/Inputs/initfini-option.c
  test/elf/Hexagon/Inputs/initfini-option.o
  test/elf/Hexagon/initfini-option.test
  test/elf/X86_64/initfini-alignment.test
  test/elf/X86_64/initfini-option.test
  test/elf/initfini-options.test
  unittests/DriverTests/GnuLdDriverTest.cpp
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D6578.17071.patch
Type: text/x-patch
Size: 26624 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20141209/3556f699/attachment.bin>


More information about the llvm-commits mailing list