[PATCH] D18959: [lld] Implement --dynamic-list

Adhemerval Zanella via llvm-commits llvm-commits at lists.llvm.org
Mon Apr 11 05:37:29 PDT 2016


zatrazz created this revision.
zatrazz added reviewers: ruiu, rafael.
zatrazz added subscribers: llvm-commits, lld.
zatrazz set the repository for this revision to rL LLVM.
zatrazz added a project: lld.

This patch implements the --dynamic-list option, which adds a list of
global symbol that either should not be bounded by default definition
when creating shared libraries, or add in dynamic symbol table in the
case of creating executables.

The patch modifies the ScriptParserBase class to use a list of Token
instead of StringRef, which contains information if the token is a
quoted or unquoted strings. It is used to use a faster search for
exact match symbol name.

The input file follow a similar format of linker script with some
simplifications (it does not have scope or node names). It leads
to a simplified parser define in DynamicList.{cpp,h}.

Different from ld/gold neither glob pattern nor mangled names
(extern 'C++') are currently supported.

Repository:
  rL LLVM

http://reviews.llvm.org/D18959

Files:
  ELF/CMakeLists.txt
  ELF/Config.h
  ELF/Driver.cpp
  ELF/Driver.h
  ELF/DynamicList.cpp
  ELF/DynamicList.h
  ELF/Options.td
  ELF/ScriptParser.h
  ELF/Writer.cpp
  test/ELF/dynamic-list.s
  test/ELF/invalid-dynamic-list.test

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D18959.53225.patch
Type: text/x-patch
Size: 14393 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160411/8d62cecd/attachment.bin>


More information about the llvm-commits mailing list