ref: a4b47b89fd73bcd7f59f94907fef7d43bedd625b
parent: a97c83f7a4b580dc8f7f96b22d135a9e9bd6dd07
author: James Zern <[email protected]>
date: Wed Feb 17 13:32:57 EST 2016
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
--- a/third_party/x86inc/README.libvpx
+++ b/third_party/x86inc/README.libvpx
@@ -17,3 +17,4 @@
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
--- a/third_party/x86inc/x86inc.asm
+++ b/third_party/x86inc/x86inc.asm
@@ -786,7 +786,14 @@
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