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