llvm/tools
Rafael Espindola 7e667c56cf Use LTO_SYMBOL_SCOPE_DEFAULT_CAN_BE_HIDDEN instead of the "dso list".
There are two ways one could implement hiding of linkonce_odr symbols in LTO:
* LLVM tells the linker which symbols can be hidden if not used from native
  files.
* The linker tells LLVM which symbols are not used from other object files,
  but will be put in the dso symbol table if present.

GOLD's API is the second option. It was implemented almost 1:1 in llvm by
passing the list down to internalize.

LLVM already had partial support for the first option. It is also very similar
to how ld64 handles hiding these symbols when *not* doing LTO.

This patch then
* removes the APIs for the DSO list.
* marks LTO_SYMBOL_SCOPE_DEFAULT_CAN_BE_HIDDEN all linkonce_odr unnamed_addr
  global values and other linkonce_odr whose address is not used.
* makes the gold plugin responsible for handling the API mismatch.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193800 91177308-0d34-0410-b5e6-96231b3b80d8
2013-10-31 20:51:58 +00:00
..
bugpoint [bugpoint] Increase the default memory limit for subprocesses to 300MB. 2013-10-25 17:41:41 +00:00
bugpoint-passes
gold Use LTO_SYMBOL_SCOPE_DEFAULT_CAN_BE_HIDDEN instead of the "dso list". 2013-10-31 20:51:58 +00:00
llc
lli Cleaning up comments in lli 2013-10-29 01:33:14 +00:00
llvm-ar Support names like llvm-ar-3.4 and llvm-ranlib-3.4. 2013-10-29 14:25:43 +00:00
llvm-as
llvm-bcanalyzer
llvm-c-test llvm-c-test: Don't leak memory buffers. 2013-10-25 15:58:58 +00:00
llvm-config
llvm-cov Updated llvm-cov's OVERVIEW description 2013-10-31 02:01:24 +00:00
llvm-diff
llvm-dis
llvm-dwarfdump
llvm-extract
llvm-jitlistener
llvm-link
llvm-lto Use LTO_SYMBOL_SCOPE_DEFAULT_CAN_BE_HIDDEN instead of the "dso list". 2013-10-31 20:51:58 +00:00
llvm-mc
llvm-mcmarkup
llvm-nm
llvm-objdump
llvm-readobj
llvm-rtdyld
llvm-shlib Rules adjustments in order to build on DragonFly BSD. 2013-10-31 14:35:00 +00:00
llvm-size
llvm-stress
llvm-symbolizer
lto Use LTO_SYMBOL_SCOPE_DEFAULT_CAN_BE_HIDDEN instead of the "dso list". 2013-10-31 20:51:58 +00:00
macho-dump
msbuild
obj2yaml
opt
yaml2obj
CMakeLists.txt llvm/tools/llvm-c-test should be built also on msvc. 2013-10-23 17:56:59 +00:00
LLVMBuild.txt
Makefile Add llvm-c-test tool for testing llvm-c 2013-10-23 08:10:20 +00:00