From a4b47b89fd73bcd7f59f94907fef7d43bedd625b Mon Sep 17 00:00:00 2001 From: James Zern Date: Wed, 17 Feb 2016 18:32:57 -0800 Subject: [PATCH] x86inc.asm: only set visibility for chromium builds this restores the previous version's behavior avoiding issues with builds that may split sources on directory boundaries; protected visibility may work in this case. Change-Id: Ie759bd96c9ea5b45613f450dffa6e67eb45f5a8b --- third_party/x86inc/README.libvpx | 1 + third_party/x86inc/x86inc.asm | 9 ++++++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/third_party/x86inc/README.libvpx b/third_party/x86inc/README.libvpx index d0f57163f..8d3cd966d 100644 --- a/third_party/x86inc/README.libvpx +++ b/third_party/x86inc/README.libvpx @@ -17,3 +17,4 @@ Set 'private_extern' visibility for macho targets. Copy PIC 'GLOBAL' macros from x86_abi_support.asm Use .text instead of .rodata on macho to avoid broken tables in PIC mode. Use .text with no alignment for aout +Only use 'hidden' visibility with Chromium diff --git a/third_party/x86inc/x86inc.asm b/third_party/x86inc/x86inc.asm index 0694d21af..fc65bd3c8 100644 --- a/third_party/x86inc/x86inc.asm +++ b/third_party/x86inc/x86inc.asm @@ -786,7 +786,14 @@ BRANCH_INSTR jz, je, jnz, jne, jl, jle, jnl, jnle, jg, jge, jng, jnge, ja, jae, annotate_function_size %if %1 %xdefine %%FUNCTION_PREFIX private_prefix - %xdefine %%VISIBILITY hidden + ; libvpx explicitly sets visibility in shared object builds. Avoid + ; setting visibility to hidden as it may break builds that split + ; sources on e.g., directory boundaries. + %ifdef CHROMIUM + %xdefine %%VISIBILITY hidden + %else + %xdefine %%VISIBILITY + %endif %else %xdefine %%FUNCTION_PREFIX public_prefix %xdefine %%VISIBILITY -- 2.49.0