summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'media-libs/x264/files/x264-x32.patch')
-rw-r--r--media-libs/x264/files/x264-x32.patch34
1 files changed, 34 insertions, 0 deletions
diff --git a/media-libs/x264/files/x264-x32.patch b/media-libs/x264/files/x264-x32.patch
new file mode 100644
index 000000000000..7af4405a8472
--- /dev/null
+++ b/media-libs/x264/files/x264-x32.patch
@@ -0,0 +1,34 @@
+https://bugs.gentoo.org/420241
+
+initial x32 support -- no asm code, just pure C
+
+--- a/configure
++++ b/configure
+@@ -567,7 +567,13 @@ case $host_cpu in
+ x86_64)
+ ARCH="X86_64"
+ AS="yasm"
+- [ $compiler = GNU ] && CFLAGS="-m64 $CFLAGS" && LDFLAGS="-m64 $LDFLAGS"
++ if [ $compiler = GNU ]; then
++ if cpp_check "" "" "__ILP32__" ; then
++ CFLAGS="-mx32 $CFLAGS" && LDFLAGS="-mx32 $LDFLAGS"
++ else
++ CFLAGS="-m64 $CFLAGS" && LDFLAGS="-m64 $LDFLAGS"
++ fi
++ fi
+ if [ "$SYS" = MACOSX ]; then
+ ASFLAGS="$ASFLAGS -f macho64 -m amd64 -DPIC -DPREFIX"
+ if cc_check '' "-arch x86_64"; then
+@@ -580,7 +586,11 @@ case $host_cpu in
+ [ $compiler = GNU ] && cc_check "" "-S" && grep -q "_main:" conftest && ASFLAGS="$ASFLAGS -DPREFIX"
+ [ $compiler = GNU ] && RCFLAGS="--target=pe-x86-64 $RCFLAGS"
+ else
+- ASFLAGS="$ASFLAGS -f elf -m amd64"
++ if cpp_check "" "" "__ILP32__" ; then
++ AS="${cross_prefix}as"
++ else
++ ASFLAGS="$ASFLAGS -f elf -m amd64"
++ fi
+ fi
+ ;;
+ powerpc|powerpc64)