From 553e93618211b91ad6a63018fb46ec8b943a2dbb Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Sat, 16 Nov 2019 22:02:33 -0800 Subject: libmad: Define O2 for all arches as default optimization Extend mips inline asm fix to build on clang ../libmad-0.15.1b/layer12.c:94:10: error: invalid output constraint '=h' in asm return mad_f_mul(sample, linear_table[nb - 2]); ^ Signed-off-by: Khem Raj --- ...4-Remove-clang-unsupported-compiler-flags.patch | 92 ++++++++++++++++------ .../libmad/fix_for_mips_with_gcc-4.5.0.patch | 8 +- 2 files changed, 69 insertions(+), 31 deletions(-) (limited to 'meta-oe/recipes-multimedia') diff --git a/meta-oe/recipes-multimedia/libmad/libmad/0004-Remove-clang-unsupported-compiler-flags.patch b/meta-oe/recipes-multimedia/libmad/libmad/0004-Remove-clang-unsupported-compiler-flags.patch index 5bfce4d908..70723f2d08 100644 --- a/meta-oe/recipes-multimedia/libmad/libmad/0004-Remove-clang-unsupported-compiler-flags.patch +++ b/meta-oe/recipes-multimedia/libmad/libmad/0004-Remove-clang-unsupported-compiler-flags.patch @@ -7,37 +7,77 @@ Subject: [PATCH 4/4] Remove clang unsupported compiler flags configure.ac | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) -diff --git a/configure.ac b/configure.ac -index 4fcd48b..40302db 100644 --- a/configure.ac +++ b/configure.ac -@@ -140,20 +140,20 @@ then - case "$optimize" in - -O|"-O "*) - optimize="-O" +@@ -124,70 +124,7 @@ done + + if test "$GCC" = yes + then +- if test -z "$arch" +- then +- case "$host" in +- i386-*) ;; +- i?86-*) arch="-march=i486" ;; +- arm*-empeg-*) arch="-march=armv4 -mtune=strongarm1100" ;; +- armv4*-*) arch="-march=armv4 -mtune=strongarm" ;; +- powerpc-*) ;; +- mips*-agenda-*) arch="-mcpu=vr4100" ;; +- mips*-luxsonor-*) arch="-mips1 -mcpu=r3000 -Wa,-m4010" ;; +- esac +- fi +- +- case "$optimize" in +- -O|"-O "*) +- optimize="-O" - optimize="$optimize -fforce-addr" -+ : #optimize="$optimize -fforce-addr" - : #x optimize="$optimize -finline-functions" - : #- optimize="$optimize -fstrength-reduce" +- : #x optimize="$optimize -finline-functions" +- : #- optimize="$optimize -fstrength-reduce" - optimize="$optimize -fthread-jumps" - optimize="$optimize -fcse-follow-jumps" - optimize="$optimize -fcse-skip-blocks" -+ : #optimize="$optimize -fthread-jumps" -+ : #optimize="$optimize -fcse-follow-jumps" -+ : #optimize="$optimize -fcse-skip-blocks" - : #x optimize="$optimize -frerun-cse-after-loop" - : #x optimize="$optimize -frerun-loop-opt" - : #x optimize="$optimize -fgcse" - optimize="$optimize -fexpensive-optimizations" +- : #x optimize="$optimize -frerun-cse-after-loop" +- : #x optimize="$optimize -frerun-loop-opt" +- : #x optimize="$optimize -fgcse" +- optimize="$optimize -fexpensive-optimizations" - optimize="$optimize -fregmove" -+ : #optimize="$optimize -fregmove" - : #* optimize="$optimize -fdelayed-branch" - : #x optimize="$optimize -fschedule-insns" +- : #* optimize="$optimize -fdelayed-branch" +- : #x optimize="$optimize -fschedule-insns" - optimize="$optimize -fschedule-insns2" -+ : #optimize="$optimize -fschedule-insns2" - : #? optimize="$optimize -ffunction-sections" - : #? optimize="$optimize -fcaller-saves" - : #> optimize="$optimize -funroll-loops" --- -2.1.0 - +- : #? optimize="$optimize -ffunction-sections" +- : #? optimize="$optimize -fcaller-saves" +- : #> optimize="$optimize -funroll-loops" +- : #> optimize="$optimize -funroll-all-loops" +- : #x optimize="$optimize -fmove-all-movables" +- : #x optimize="$optimize -freduce-all-givs" +- : #? optimize="$optimize -fstrict-aliasing" +- : #* optimize="$optimize -fstructure-noalias" +- +- case "$host" in +- arm*-*) +- optimize="$optimize -fstrength-reduce" +- ;; +- mips*-*) +- optimize="$optimize -fstrength-reduce" +- optimize="$optimize -finline-functions" +- ;; +- i?86-*) +- optimize="$optimize -fstrength-reduce" +- ;; +- powerpc-apple-*) +- # this triggers an internal compiler error with gcc2 +- : #optimize="$optimize -fstrength-reduce" +- +- # this is really only beneficial with gcc3 +- : #optimize="$optimize -finline-functions" +- ;; +- *) +- # this sometimes provokes bugs in gcc 2.95.2 +- : #optimize="$optimize -fstrength-reduce" +- ;; +- esac +- ;; +- esac ++ optimize="-O2" + fi + + case "$host" in diff --git a/meta-oe/recipes-multimedia/libmad/libmad/fix_for_mips_with_gcc-4.5.0.patch b/meta-oe/recipes-multimedia/libmad/libmad/fix_for_mips_with_gcc-4.5.0.patch index 01c7aa3c8c..5bc91f355d 100644 --- a/meta-oe/recipes-multimedia/libmad/libmad/fix_for_mips_with_gcc-4.5.0.patch +++ b/meta-oe/recipes-multimedia/libmad/libmad/fix_for_mips_with_gcc-4.5.0.patch @@ -11,15 +11,13 @@ Upstream-Status: Pending 2010/07/29 Nitin A Kamble -Index: libmad-0.15.1b/fixed.h -=================================================================== ---- libmad-0.15.1b.orig/fixed.h -+++ libmad-0.15.1b/fixed.h +--- a/fixed.h ++++ b/fixed.h @@ -297,6 +297,15 @@ mad_fixed_t mad_f_mul_inline(mad_fixed_t /* --- MIPS ---------------------------------------------------------------- */ -+# elif defined(FPM_MIPS) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4)) ++# elif defined(FPM_MIPS) && (defined(__clang__) || __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4)) + typedef unsigned int u64_di_t __attribute__ ((mode (DI))); +# define MAD_F_MLX(hi, lo, x, y) \ + do { \ -- cgit 1.2.3-korg