From 71ccd103bd7ec1c6d34ea03417debfc558e64e05 Mon Sep 17 00:00:00 2001 From: Johann Date: Wed, 17 Feb 2016 18:08:13 -0800 Subject: [PATCH] Set 'private_extern' visibility for macho targets Do not set it when building with 'nasm' Change-Id: Iff2acf22543f5899f6eefa7624821cc6270a0923 --- third_party/x86inc/README.libvpx | 1 + third_party/x86inc/x86inc.asm | 13 +++++++++++++ 2 files changed, 14 insertions(+) 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