George Rimar
e1937bb524
[ELF] - Give automatically generated __start_* and __stop_* symbols default visibility.
...
This patch is opposite to D19024, which made this symbols to be hidden by default.
Unfortunately FreeBSD loader wants to see
start_set_modmetadata_set/stop_set_modmetadata_set in the dynamic symbol table.
They were not placed there because had hidden visibility.
Patch makes them to have default visibility again.
Differential revision: https://reviews.llvm.org/D23552
llvm-svn: 279262
2016-08-19 15:36:32 +00:00
Rafael Espindola
ac95264d62
Don't depend on dynamic relocatinos in ro sections.
...
Currently we don't check when creating relative relocations if the
section is read only or not. I am about to fix that, so first update the
patches that depend on the current behavior.
llvm-svn: 268542
2016-05-04 20:25:19 +00:00
Peter Collingbourne
173ee84530
ELF: Give automatically generated __start_* and __stop_* symbols hidden visibility.
...
These symbols describe a property of a linkage unit, so it seems reasonable
to limit their visibility to the linkage unit. Furthermore the use cases I
am aware of do not require more than hidden visibility.
This is a departure from the behavior of the bfd and gold linkers. However,
it is unclear that the decision to give these symbols default visibility
in those linkers was made deliberately. The __start_*/__stop_* feature
was added to the bfd linker in 1994 [1], while the visibility feature was
added about five years later [2], so it may have been that the visibility
of these symbols was not considered. The feature was implemented in gold
[3] in the same way; the behavior may have simply been copied from bfd.
The only related discussion I could find on the binutils mailing list [4]
was a user issue which would most likely not have occurred if the symbols
had hidden visibility.
[1] https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=commit;h=5efddb2e7c3229b569a862205f61d42860af678b
[2] https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=commit;h=0fc731e447cd01e7fc35197b487ff0e4fd25afca
[3] https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=commit;h=bfd58944a64b0997a310b95fbe0423338961e71c
[4] https://sourceware.org/ml/binutils/2014-05/msg00011.html
Differential Revision: http://reviews.llvm.org/D19024
llvm-svn: 266121
2016-04-12 20:41:42 +00:00
Rafael Espindola
f7085871fd
Delete broken code.
...
A synthetic symbol can be global or local, and with the current
infrastructure we don't need any special code for it.
Fixes PR27228.
llvm-svn: 265478
2016-04-05 22:08:39 +00:00
Rafael Espindola
9c8904fb38
Rename ld.lld2 to ld.lld since it is the default.
...
llvm-svn: 253437
2015-11-18 06:11:01 +00:00
Rafael Espindola
4b1285c55a
Rename test/elf2 to test/ELF.
...
llvm-svn: 253313
2015-11-17 05:36:42 +00:00