[PATCH] D27578: Change the implementation of --dynamic-list to use linker script parsing

Rafael Ávila de Espíndola via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Dec 8 09:25:14 PST 2016


rafael created this revision.
rafael added a reviewer: ruiu.
rafael added a subscriber: llvm-commits.

The feature is documented as

-----------------------------

  The format of the dynamic list is the same as the version node
    without scope and node name.  See *note VERSION:: for more
    information.

--------------------------------

And indeed qt uses a dynamic list with an 'extern "C++"' in it. With this patch we support that

The change to gc-sections-shared makes us match bfd. Just because we kept bar doesn't mean it has to be in the dynamic symbol table.

The changes to invalid-dynamic-list.test and reproduce.s are because of the new parser.

The changes to version-script.s  are the only case where we change behavior with regards to bfd, but I would like to see a mix of --version-script and --dynamic-list used in the wild before complicating the code.


https://reviews.llvm.org/D27578

Files:
  ELF/Config.h
  ELF/Driver.cpp
  ELF/Driver.h
  ELF/DriverUtils.cpp
  ELF/LinkerScript.cpp
  ELF/LinkerScript.h
  ELF/SymbolTable.cpp
  ELF/SymbolTable.h
  test/ELF/gc-sections-shared.s
  test/ELF/invalid-dynamic-list.test
  test/ELF/reproduce.s
  test/ELF/version-script.s

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D27578.80769.patch
Type: text/x-patch
Size: 8691 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20161208/922f8700/attachment.bin>


More information about the llvm-commits mailing list