summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKhem Raj <raj.khem@gmail.com>2019-11-16 22:02:33 -0800
committerKhem Raj <raj.khem@gmail.com>2019-11-17 21:02:14 -0800
commit553e93618211b91ad6a63018fb46ec8b943a2dbb (patch)
treefbab3592091fef480695bfd649ae510439f479e2
parent65672b88042a5e04d682e62944b750e4ab315b85 (diff)
downloadmeta-openembedded-553e93618211b91ad6a63018fb46ec8b943a2dbb.tar.gz
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 <raj.khem@gmail.com>
-rw-r--r--meta-oe/recipes-multimedia/libmad/libmad/0004-Remove-clang-unsupported-compiler-flags.patch92
-rw-r--r--meta-oe/recipes-multimedia/libmad/libmad/fix_for_mips_with_gcc-4.5.0.patch8
2 files changed, 69 insertions, 31 deletions
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
7 configure.ac | 12 ++++++------ 7 configure.ac | 12 ++++++------
8 1 file changed, 6 insertions(+), 6 deletions(-) 8 1 file changed, 6 insertions(+), 6 deletions(-)
9 9
10diff --git a/configure.ac b/configure.ac
11index 4fcd48b..40302db 100644
12--- a/configure.ac 10--- a/configure.ac
13+++ b/configure.ac 11+++ b/configure.ac
14@@ -140,20 +140,20 @@ then 12@@ -124,70 +124,7 @@ done
15 case "$optimize" in 13
16 -O|"-O "*) 14 if test "$GCC" = yes
17 optimize="-O" 15 then
16- if test -z "$arch"
17- then
18- case "$host" in
19- i386-*) ;;
20- i?86-*) arch="-march=i486" ;;
21- arm*-empeg-*) arch="-march=armv4 -mtune=strongarm1100" ;;
22- armv4*-*) arch="-march=armv4 -mtune=strongarm" ;;
23- powerpc-*) ;;
24- mips*-agenda-*) arch="-mcpu=vr4100" ;;
25- mips*-luxsonor-*) arch="-mips1 -mcpu=r3000 -Wa,-m4010" ;;
26- esac
27- fi
28-
29- case "$optimize" in
30- -O|"-O "*)
31- optimize="-O"
18- optimize="$optimize -fforce-addr" 32- optimize="$optimize -fforce-addr"
19+ : #optimize="$optimize -fforce-addr" 33- : #x optimize="$optimize -finline-functions"
20 : #x optimize="$optimize -finline-functions" 34- : #- optimize="$optimize -fstrength-reduce"
21 : #- optimize="$optimize -fstrength-reduce"
22- optimize="$optimize -fthread-jumps" 35- optimize="$optimize -fthread-jumps"
23- optimize="$optimize -fcse-follow-jumps" 36- optimize="$optimize -fcse-follow-jumps"
24- optimize="$optimize -fcse-skip-blocks" 37- optimize="$optimize -fcse-skip-blocks"
25+ : #optimize="$optimize -fthread-jumps" 38- : #x optimize="$optimize -frerun-cse-after-loop"
26+ : #optimize="$optimize -fcse-follow-jumps" 39- : #x optimize="$optimize -frerun-loop-opt"
27+ : #optimize="$optimize -fcse-skip-blocks" 40- : #x optimize="$optimize -fgcse"
28 : #x optimize="$optimize -frerun-cse-after-loop" 41- optimize="$optimize -fexpensive-optimizations"
29 : #x optimize="$optimize -frerun-loop-opt"
30 : #x optimize="$optimize -fgcse"
31 optimize="$optimize -fexpensive-optimizations"
32- optimize="$optimize -fregmove" 42- optimize="$optimize -fregmove"
33+ : #optimize="$optimize -fregmove" 43- : #* optimize="$optimize -fdelayed-branch"
34 : #* optimize="$optimize -fdelayed-branch" 44- : #x optimize="$optimize -fschedule-insns"
35 : #x optimize="$optimize -fschedule-insns"
36- optimize="$optimize -fschedule-insns2" 45- optimize="$optimize -fschedule-insns2"
37+ : #optimize="$optimize -fschedule-insns2" 46- : #? optimize="$optimize -ffunction-sections"
38 : #? optimize="$optimize -ffunction-sections" 47- : #? optimize="$optimize -fcaller-saves"
39 : #? optimize="$optimize -fcaller-saves" 48- : #> optimize="$optimize -funroll-loops"
40 : #> optimize="$optimize -funroll-loops" 49- : #> optimize="$optimize -funroll-all-loops"
41-- 50- : #x optimize="$optimize -fmove-all-movables"
422.1.0 51- : #x optimize="$optimize -freduce-all-givs"
43 52- : #? optimize="$optimize -fstrict-aliasing"
53- : #* optimize="$optimize -fstructure-noalias"
54-
55- case "$host" in
56- arm*-*)
57- optimize="$optimize -fstrength-reduce"
58- ;;
59- mips*-*)
60- optimize="$optimize -fstrength-reduce"
61- optimize="$optimize -finline-functions"
62- ;;
63- i?86-*)
64- optimize="$optimize -fstrength-reduce"
65- ;;
66- powerpc-apple-*)
67- # this triggers an internal compiler error with gcc2
68- : #optimize="$optimize -fstrength-reduce"
69-
70- # this is really only beneficial with gcc3
71- : #optimize="$optimize -finline-functions"
72- ;;
73- *)
74- # this sometimes provokes bugs in gcc 2.95.2
75- : #optimize="$optimize -fstrength-reduce"
76- ;;
77- esac
78- ;;
79- esac
80+ optimize="-O2"
81 fi
82
83 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
112010/07/29 112010/07/29
12Nitin A Kamble <nitin.a.kamble@intel.com> 12Nitin A Kamble <nitin.a.kamble@intel.com>
13 13
14Index: libmad-0.15.1b/fixed.h 14--- a/fixed.h
15=================================================================== 15+++ b/fixed.h
16--- libmad-0.15.1b.orig/fixed.h
17+++ libmad-0.15.1b/fixed.h
18@@ -297,6 +297,15 @@ mad_fixed_t mad_f_mul_inline(mad_fixed_t 16@@ -297,6 +297,15 @@ mad_fixed_t mad_f_mul_inline(mad_fixed_t
19 17
20 /* --- MIPS ---------------------------------------------------------------- */ 18 /* --- MIPS ---------------------------------------------------------------- */
21 19
22+# elif defined(FPM_MIPS) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4)) 20+# elif defined(FPM_MIPS) && (defined(__clang__) || __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4))
23+ typedef unsigned int u64_di_t __attribute__ ((mode (DI))); 21+ typedef unsigned int u64_di_t __attribute__ ((mode (DI)));
24+# define MAD_F_MLX(hi, lo, x, y) \ 22+# define MAD_F_MLX(hi, lo, x, y) \
25+ do { \ 23+ do { \