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