You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gentoo-overlay/media-libs/libvpx/files/libvpx-1.1.0-x32.patch

65 lines
1.7 KiB

https://bugs.gentoo.org/426248
From c769945318b84b5c823091213634a4db0cdc5be5 Mon Sep 17 00:00:00 2001
From: Mike Frysinger <vapier@gentoo.org>
Date: Tue, 25 Sep 2012 00:37:11 -0400
Subject: [PATCH] check for x32 targets
Add configure detection of the new x32 ABI.
---
build/make/configure.sh | 5 +++++
vpx_ports/x86_abi_support.asm | 10 ++++++++++
2 files changed, 15 insertions(+)
diff --git a/build/make/configure.sh b/build/make/configure.sh
index eeb959a..05bbabe 100755
--- a/build/make/configure.sh
+++ b/build/make/configure.sh
@@ -989,6 +989,11 @@ process_common_toolchain() {
x86*)
bits=32
enabled x86_64 && bits=64
+ check_cpp <<EOF && bits=x32
+#ifndef __ILP32__
+#error "not x32"
+#endif
+EOF
soft_enable runtime_cpu_detect
soft_enable mmx
soft_enable sse
diff --git a/vpx_ports/x86_abi_support.asm b/vpx_ports/x86_abi_support.asm
index e1a540c..0c9fe37 100644
--- a/vpx_ports/x86_abi_support.asm
+++ b/vpx_ports/x86_abi_support.asm
@@ -88,6 +88,8 @@
%define sym(x) x
%elifidn __OUTPUT_FORMAT__,elf64
%define sym(x) x
+%elifidn __OUTPUT_FORMAT__,elfx32
+%define sym(x) x
%elifidn __OUTPUT_FORMAT__,x64
%define sym(x) x
%else
@@ -223,6 +227,9 @@
%ifidn __OUTPUT_FORMAT__,elf64
%define WRT_PLT wrt ..plt
%define HIDDEN_DATA(x) x:data hidden
+ %elifidn __OUTPUT_FORMAT__,elfx32
+ %define WRT_PLT wrt ..plt
+ %define HIDDEN_DATA(x) x:data hidden
%else
%define HIDDEN_DATA(x) x
%endif
@@ -364,5 +371,8 @@ section .text
%elifidn __OUTPUT_FORMAT__,elf64
section .note.GNU-stack noalloc noexec nowrite progbits
section .text
+%elifidn __OUTPUT_FORMAT__,elfx32
+section .note.GNU-stack noalloc noexec nowrite progbits
+section .text
%endif
--
1.7.12