diff options
author | Adam Langley <agl@google.com> | 2015-09-25 10:27:29 -0700 |
---|---|---|
committer | Adam Langley <agl@google.com> | 2015-09-25 10:27:29 -0700 |
commit | 184bc93440dbfefbd499f7164e8a1b22540f5571 (patch) | |
tree | 360ada970b7bb1046ae069d253ba24d9622eb3ad /linux-x86_64 | |
parent | b8494591d1b1a143f3b192d845c238bbf3bc629d (diff) | |
download | external_boringssl-184bc93440dbfefbd499f7164e8a1b22540f5571.zip external_boringssl-184bc93440dbfefbd499f7164e8a1b22540f5571.tar.gz external_boringssl-184bc93440dbfefbd499f7164e8a1b22540f5571.tar.bz2 |
BoringSSL: always build with symbol visibility flags.
When building for shared libraries, setting BORINGSSL_SHARED_LIBRARY,
BORINGSSL_IMPLEMENTATION and setting the default symbol visibility to
“hidden” causes the correct symbol visibility to be set.
This change causes symbol visibility always to be set, even for the
static builds. The reason is the the static builds are often then
included in shared libraries, so they're not really static after all.
Setting the symbol visibility in this case can avoid a lot of references
via the PLT and GOT for internal symbols.
Most importantly, some of the x86 asm code has IP-relative references to
data and, unless the visibility of the target symbol is “hidden”, the
linker believes that it needs a textrel, which breaks linking that code
into shared libraries.
Change-Id: I00e8d045bcece7b872d88bdf965c5baf65c2d639
Diffstat (limited to 'linux-x86_64')
0 files changed, 0 insertions, 0 deletions