diff options
| author | Dongxiao Xu <dongxiao.xu@intel.com> | 2010-09-16 13:51:09 +0800 |
|---|---|---|
| committer | Saul Wold <Saul.Wold@intel.com> | 2010-09-17 11:41:58 -0700 |
| commit | 0ff070bbf1575be62691eea7b9fb3ca74f2ab373 (patch) | |
| tree | 225ec6b34647a07998183aff261c1afde493740c /meta/recipes-multimedia/mpeg2dec/mpeg2dec-0.4.1 | |
| parent | 8e9caafd0b94016568dfccf969a0e326f3645fa6 (diff) | |
| download | poky-0ff070bbf1575be62691eea7b9fb3ca74f2ab373.tar.gz | |
gcc: upgrade gcc for powerpc to version 4.5.0
Fix one parameter order issue for base_contains function,
which impacts glibc build under new gcc.
Add new judge code to determine whether <altivec.h> is needed.
This fixes the mpeg2dec build failure under new gcc.
Use O2 as the optimization flag to tinylogin as it will meet
segfault if compiled by gcc-4.5.0 when enable both frename-registers
and Os options. Use O2 instead.
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Diffstat (limited to 'meta/recipes-multimedia/mpeg2dec/mpeg2dec-0.4.1')
| -rw-r--r-- | meta/recipes-multimedia/mpeg2dec/mpeg2dec-0.4.1/altivec_h_needed.patch | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/meta/recipes-multimedia/mpeg2dec/mpeg2dec-0.4.1/altivec_h_needed.patch b/meta/recipes-multimedia/mpeg2dec/mpeg2dec-0.4.1/altivec_h_needed.patch new file mode 100644 index 0000000000..ecb3a9d32e --- /dev/null +++ b/meta/recipes-multimedia/mpeg2dec/mpeg2dec-0.4.1/altivec_h_needed.patch | |||
| @@ -0,0 +1,41 @@ | |||
| 1 | Add new method to judge whether <altivec.h> is needed | ||
| 2 | |||
| 3 | The original logic will use "typedef vector int t;" to judge | ||
| 4 | whether <altivec.h> is needed. altivec.h contains the following | ||
| 5 | statement: | ||
| 6 | |||
| 7 | #if !defined(__APPLE_ALTIVEC__) | ||
| 8 | #define vector __vector | ||
| 9 | #define pixel __pixel | ||
| 10 | #define bool | ||
| 11 | #endif | ||
| 12 | |||
| 13 | In gcc-4.3.3, __APPLE_ALTIVEC__ is not defined by compiler, neither | ||
| 14 | as vector, pixel, and bool. In order to make "typedef vector int t;" | ||
| 15 | pass the compilation, we need to include altivec.h. | ||
| 16 | |||
| 17 | However in gcc-4.5.0, __APPLE_ALTIVEC__ is defined by compiler, | ||
| 18 | so as vector, pixel, and bool. We could not judge whether | ||
| 19 | altivec.h is needed by "typedef vector int t;". | ||
| 20 | Here we include another statement "int tmp = __CR6_EQ;", in | ||
| 21 | which __CR6_EQ is defined in altivec.h. | ||
| 22 | |||
| 23 | Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com> | ||
| 24 | |||
| 25 | diff -ruN mpeg2dec-0.4.1-orig/configure.in mpeg2dec-0.4.1/configure.in | ||
| 26 | --- mpeg2dec-0.4.1-orig/configure.in 2010-09-14 20:55:42.399687663 +0800 | ||
| 27 | +++ mpeg2dec-0.4.1/configure.in 2010-09-14 20:56:43.403204648 +0800 | ||
| 28 | @@ -75,11 +75,11 @@ | ||
| 29 | CFLAGS="$OPT_CFLAGS $TRY_CFLAGS $CFLAGS" | ||
| 30 | AC_MSG_CHECKING([if <altivec.h> is needed]) | ||
| 31 | AC_TRY_COMPILE([], | ||
| 32 | - [typedef vector int t; | ||
| 33 | + [typedef vector int t; int tmp = __CR6_EQ; | ||
| 34 | vec_ld(0, (unsigned char *)0);], | ||
| 35 | [have_altivec=yes; AC_MSG_RESULT(no)], | ||
| 36 | [AC_TRY_COMPILE([#include <altivec.h>], | ||
| 37 | - [typedef vector int t; vec_ld(0, (unsigned char *)0);], | ||
| 38 | + [typedef vector int t; int tmp = __CR6_EQ; vec_ld(0, (unsigned char *)0);], | ||
| 39 | [AC_DEFINE([HAVE_ALTIVEC_H],, | ||
| 40 | [Define to 1 if you have the <altivec.h> header.]) | ||
| 41 | have_altivec=yes; AC_MSG_RESULT(yes)], | ||
