From 1f9943ab1aaeef91e54f05f0c096950b0a718e53 Mon Sep 17 00:00:00 2001 From: "Ronald S. Bultje" <rbultje@google.com> Date: Mon, 18 Jun 2012 12:34:51 -0700 Subject: [PATCH] x86inc.asm: fix symbol mangling and PIC handling on Win64/Mac64. Change-Id: I97aa175346683184f9430d880593b291a563e04f --- vpx_ports/x86inc.asm | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/vpx_ports/x86inc.asm b/vpx_ports/x86inc.asm index ed4eb82df2..a7066b6daf 100644 --- a/vpx_ports/x86inc.asm +++ b/vpx_ports/x86inc.asm @@ -46,15 +46,21 @@ %define WIN64 1 %elifidn __OUTPUT_FORMAT__,win64 %define WIN64 1 + %elifidn __OUTPUT_FORMAT__,x64 + %define WIN64 1 %else %define UNIX64 1 %endif %endif -%ifdef PREFIX - %define mangle(x) _ %+ x -%else +%ifidn __OUTPUT_FORMAT__,elf32 + %define mangle(x) x +%elifidn __OUTPUT_FORMAT__,elf64 + %define mangle(x) x +%elifidn __OUTPUT_FORMAT__,x64 %define mangle(x) x +%else + %define mangle(x) _ %+ x %endif ; FIXME: All of the 64bit asm functions that take a stride as an argument @@ -89,11 +95,15 @@ %if WIN64 %define PIC +%elifidn __OUTPUT_FORMAT__,macho64 + %define PIC %elif ARCH_X86_64 == 0 ; x86_32 doesn't require PIC. ; Some distros prefer shared objects to be PIC, but nothing breaks if ; the code contains a few textrels, so we'll skip that complexity. %undef PIC +%elif CONFIG_PIC + %define PIC %endif %ifdef PIC default rel -- GitLab