]> granicus.if.org Git - libvpx/commitdiff
x86inc.asm: only set visibility for chromium builds
authorJames Zern <jzern@google.com>
Wed, 19 Aug 2015 23:24:31 +0000 (16:24 -0700)
committerJames Zern <jzern@google.com>
Wed, 19 Aug 2015 23:26:48 +0000 (16:26 -0700)
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: If37c70d9bd81de85a8e112457b9819a5cac6129d

third_party/x86inc/README.libvpx
third_party/x86inc/x86inc.asm

index 9a911711a69a9f86cf6378081a7de5958bcaeb15..fe5b076111edb0d1b42b2a7504f132d1cde9df1b 100644 (file)
@@ -19,3 +19,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
index e88c851233300175d75a32fd1d01119ae82781e9..77a58f295b33f3ca3d9d9c687c8abff468f423dc 100644 (file)
@@ -762,7 +762,14 @@ BRANCH_INSTR jz, je, jnz, jne, jl, jle, jnl, jnle, jg, jge, jng, jnge, ja, jae,
 %macro cglobal_internal 2-3+
     %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