summaryrefslogtreecommitdiff
path: root/third_party/x86inc
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/x86inc')
-rw-r--r--third_party/x86inc/README.libvpx1
-rw-r--r--third_party/x86inc/x86inc.asm13
2 files changed, 14 insertions, 0 deletions
diff --git a/third_party/x86inc/README.libvpx b/third_party/x86inc/README.libvpx
index d7d5bf28d..2a75c4ad1 100644
--- a/third_party/x86inc/README.libvpx
+++ b/third_party/x86inc/README.libvpx
@@ -13,3 +13,4 @@ Prefix functions with vpx by default.
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.
diff --git a/third_party/x86inc/x86inc.asm b/third_party/x86inc/x86inc.asm
index 229446f79..112e37288 100644
--- 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 @@ BRANCH_INSTR jz, je, jnz, jne, jl, jle, jnl, jnle, jg, jge, jng, jnge, ja, jae,
%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