[oe,meta-oe,1/5] libmad: Define O2 for all arches as default optimization

Message ID 20191118050352.1379153-1-raj.khem@gmail.com
State Accepted
Commit 553e93618211b91ad6a63018fb46ec8b943a2dbb
Headers show
Series
  • [oe,meta-oe,1/5] libmad: Define O2 for all arches as default optimization
Related show

Commit Message

Khem Raj Nov. 18, 2019, 5:03 a.m.
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 <raj.khem@gmail.com>

---
 ...ove-clang-unsupported-compiler-flags.patch | 92 +++++++++++++------
 .../libmad/fix_for_mips_with_gcc-4.5.0.patch  |  8 +-
 2 files changed, 69 insertions(+), 31 deletions(-)

-- 
2.24.0

-- 
_______________________________________________
Openembedded-devel mailing list
Openembedded-devel@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-devel

Patch

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 <nitin.a.kamble@intel.com>
 
-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 { \