diff options
author | Khem Raj <raj.khem@gmail.com> | 2019-11-16 22:02:33 -0800 |
---|---|---|
committer | Khem Raj <raj.khem@gmail.com> | 2019-11-17 21:02:14 -0800 |
commit | 553e93618211b91ad6a63018fb46ec8b943a2dbb (patch) | |
tree | fbab3592091fef480695bfd649ae510439f479e2 | |
parent | 65672b88042a5e04d682e62944b750e4ab315b85 (diff) | |
download | meta-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.patch | 92 | ||||
-rw-r--r-- | meta-oe/recipes-multimedia/libmad/libmad/fix_for_mips_with_gcc-4.5.0.patch | 8 |
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 | ||
10 | diff --git a/configure.ac b/configure.ac | ||
11 | index 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" |
42 | 2.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 | |||
11 | 2010/07/29 | 11 | 2010/07/29 |
12 | Nitin A Kamble <nitin.a.kamble@intel.com> | 12 | Nitin A Kamble <nitin.a.kamble@intel.com> |
13 | 13 | ||
14 | Index: 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 { \ |