[PATCH] D23803: [ELF] - Fix for: PR29093 - version script does not support [chars] wildcards

George Rimar via llvm-commits llvm-commits at lists.llvm.org
Tue Aug 23 07:48:46 PDT 2016


grimar created this revision.
grimar added reviewers: ruiu, rafael.
grimar added subscribers: llvm-commits, grimar, evgeny777, emaste.
grimar added dependencies: D23794: [ELF] - Versionscript: support wildcards for extern "c++"  tag., D23793: [ELF] - Cleanup of scanVersionScript(): do not change local Demangled variable..

From PR29093 description:

GNU ld supports [chars] wildcards in version scripts, to match a single instance of any of the chars.

Here is an excerpt from libstdc++'s version script in FreeBSD:

    extern "C++"
    {
...
      std::locale::_[T-Za-z]*;                                                                                                       
      std::[A-Zm]*;                                                            
      std::n[^u]*;                                                             
      std::nu[^m]*;                                                            
      std::num[^e]*;                                                           
...
    }

Patch adds support for scripts above. Patch itself is little but depends on D23793 and D23794
what makes it looks bigger than it is.

https://reviews.llvm.org/D23803

Files:
  ELF/ScriptParser.cpp
  ELF/Strings.cpp
  ELF/SymbolTable.cpp
  test/ELF/version-script-complex-wildcards.s

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D23803.68992.patch
Type: text/x-patch
Size: 9106 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160823/95b7afef/attachment.bin>


More information about the llvm-commits mailing list