shithub: libvpx

Download patch

ref: 7fa5223444bddf4cf646de03aa83d0b994eeeade
parent: 6a21ca20cc77918dc5b4d8ffeae81474978be8f6
author: James Zern <jzern@google.com>
date: Wed Aug 19 12:24:31 EDT 2015

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: If37c70d9bd81de85a8e112457b9819a5cac6129d

--- a/third_party/x86inc/README.libvpx
+++ b/third_party/x86inc/README.libvpx
@@ -19,3 +19,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
@@ -762,7 +762,14 @@
 %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