ref: 71ccd103bd7ec1c6d34ea03417debfc558e64e05
parent: 1be46ef6b57525dca8e98eb3a6840bedca5ef446
author: Johann <johannkoenig@google.com>
date: Wed Feb 17 13:08:13 EST 2016
Set 'private_extern' visibility for macho targets Do not set it when building with 'nasm' Change-Id: Iff2acf22543f5899f6eefa7624821cc6270a0923
--- a/third_party/x86inc/README.libvpx
+++ b/third_party/x86inc/README.libvpx
@@ -13,3 +13,4 @@
Manage name mangling (prefixing with '_') manually because 'PREFIX' does not
exist in libvpx.
Expand PIC default to macho64 and respect CONFIG_PIC from libvpx
+Set 'private_extern' visibility for macho targets.
--- a/third_party/x86inc/x86inc.asm
+++ b/third_party/x86inc/x86inc.asm
@@ -75,6 +75,13 @@
%define FORMAT_ELF 1
%endif
+%define FORMAT_MACHO 0
+%ifidn __OUTPUT_FORMAT__,macho32
+ %define FORMAT_MACHO 1
+%elifidn __OUTPUT_FORMAT__,macho64
+ %define FORMAT_MACHO 1
+%endif
+
; Set PREFIX for libvpx builds.
%if FORMAT_ELF
%undef PREFIX
@@ -709,6 +716,12 @@
%xdefine current_function_section __SECT__
%if FORMAT_ELF
global %2:function %%VISIBILITY
+ %elif FORMAT_MACHO
+ %ifdef __NASM_VER__
+ global %2
+ %else
+ global %2:private_extern
+ %endif
%else
global %2
%endif