From 5d2b0816a92965cdbbb2dca5d3009fbd5064b9ca Mon Sep 17 00:00:00 2001 From: Christopher Larson Date: Tue, 13 Dec 2016 20:06:51 -0700 Subject: x264: for x32, disable asm and pass -mx32 We should probably patch it to stop adding the -m argument to CFLAGS/LDFLAGS in the first place, since we pass it in via CC, but this will do for now. Signed-off-by: Christopher Larson Signed-off-by: Ross Burton --- .../x264/x264/Fix-X32-build-by-disabling-asm.patch | 53 ++++++++++++++++++++++ meta/recipes-multimedia/x264/x264_git.bb | 1 + 2 files changed, 54 insertions(+) create mode 100644 meta/recipes-multimedia/x264/x264/Fix-X32-build-by-disabling-asm.patch (limited to 'meta/recipes-multimedia') diff --git a/meta/recipes-multimedia/x264/x264/Fix-X32-build-by-disabling-asm.patch b/meta/recipes-multimedia/x264/x264/Fix-X32-build-by-disabling-asm.patch new file mode 100644 index 0000000000..087a448eec --- /dev/null +++ b/meta/recipes-multimedia/x264/x264/Fix-X32-build-by-disabling-asm.patch @@ -0,0 +1,53 @@ +From 66b120079fb21ed38cab0900c63360b0a7853eaa Mon Sep 17 00:00:00 2001 +From: Christopher Larson +Date: Tue, 13 Dec 2016 14:22:32 -0700 +Subject: [PATCH] Fix X32 build by disabling asm + +This applies gentoo's x32 patch, adjusted slightly, which disables asm support +for x32 as well as correcting -m. + +Debian has a different patch which does the same, and there's a superior yet +out of date patch series on the x264 list which keeps asm support enabled, but +doesn't successfully build at this time, and my assembly is very rusty. + +Upstream-Status: Pending +Signed-off-by: Christopher Larson +--- + configure | 14 ++++++++++++-- + 1 file changed, 12 insertions(+), 2 deletions(-) + +diff --git a/configure b/configure +index 3109ec4..844aeae 100755 +--- a/configure ++++ b/configure +@@ -703,7 +703,13 @@ case $host_cpu in + AS_EXT=".asm" + ASFLAGS="$ASFLAGS -DARCH_X86_64=1 -I\$(SRCPATH)/common/x86/" + stack_alignment=16 +- [ $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 -DPIC -DPREFIX" + if cc_check '' "-arch x86_64"; then +@@ -722,7 +728,11 @@ case $host_cpu in + RCFLAGS="--target=pe-x86-64 $RCFLAGS" + fi + else +- ASFLAGS="$ASFLAGS -f elf64" ++ if cpp_check "" "" "__ILP32__" ; then ++ asm=no ++ else ++ ASFLAGS="$ASFLAGS -f elf64" ++ fi + fi + ;; + powerpc*) +-- +2.8.0 + diff --git a/meta/recipes-multimedia/x264/x264_git.bb b/meta/recipes-multimedia/x264/x264_git.bb index 1dafdd53ae..64193dcb45 100644 --- a/meta/recipes-multimedia/x264/x264_git.bb +++ b/meta/recipes-multimedia/x264/x264_git.bb @@ -10,6 +10,7 @@ DEPENDS = "yasm-native" SRC_URI = "git://github.com/mirror/x264;branch=stable \ file://don-t-default-to-cortex-a9-with-neon.patch \ + file://Fix-X32-build-by-disabling-asm.patch \ " SRCREV = "86b71982e131eaa70125f8d0e725fcade9c4c677" -- cgit 1.2.3-korg