diff options
author | Peter Collingbourne <peter@pcc.me.uk> | 2016-04-12 20:41:42 +0000 |
---|---|---|
committer | Peter Collingbourne <peter@pcc.me.uk> | 2016-04-12 20:41:42 +0000 |
commit | 173ee84530ece36de821a00db1ecee1070323f52 (patch) | |
tree | 6e8316c9b685ee553324aa164605b435470b7f71 /lldb/packages/Python/lldbsuite/test/expression_command/expr-in-syscall/main.cpp | |
parent | 2e379fc76733b7dfded8c0487c44073c8e484fa2 (diff) | |
download | bcm5719-llvm-173ee84530ece36de821a00db1ecee1070323f52.tar.gz bcm5719-llvm-173ee84530ece36de821a00db1ecee1070323f52.zip |
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
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test/expression_command/expr-in-syscall/main.cpp')
0 files changed, 0 insertions, 0 deletions