diff options
Diffstat (limited to 'meta/recipes-devtools/gcc/gcc-5.4/0030-Enable-SPE-AltiVec-generation-on-powepc-linux-target.patch')
-rw-r--r-- | meta/recipes-devtools/gcc/gcc-5.4/0030-Enable-SPE-AltiVec-generation-on-powepc-linux-target.patch | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/meta/recipes-devtools/gcc/gcc-5.4/0030-Enable-SPE-AltiVec-generation-on-powepc-linux-target.patch b/meta/recipes-devtools/gcc/gcc-5.4/0030-Enable-SPE-AltiVec-generation-on-powepc-linux-target.patch new file mode 100644 index 0000000000..57051871b3 --- /dev/null +++ b/meta/recipes-devtools/gcc/gcc-5.4/0030-Enable-SPE-AltiVec-generation-on-powepc-linux-target.patch | |||
@@ -0,0 +1,52 @@ | |||
1 | From 4ed8c1fd9dc05f7a9db9298a55396c8f0ff549a7 Mon Sep 17 00:00:00 2001 | ||
2 | From: Alexandru-Cezar Sardan <alexandru.sardan@freescale.com> | ||
3 | Date: Wed, 5 Feb 2014 16:52:31 +0200 | ||
4 | Subject: [PATCH 30/46] Enable SPE & AltiVec generation on powepc*linux target | ||
5 | |||
6 | When is configured with --target=powerpc-linux, the resulting GCC will | ||
7 | not be able to generate code for SPE targets (e500v1/v2). | ||
8 | GCC configured with --target=powerpc-linuxspe will not be able to | ||
9 | generate AltiVec instructions (for e6500). | ||
10 | This patch modifies the configured file such that SPE or AltiVec code | ||
11 | can be generated when gcc is configured with --target=powerpc-linux. | ||
12 | The ABI and speciffic instructions can be selected through the | ||
13 | "-mabi=spe or -mabi=altivec" and the "-mspe or -maltivec" parameters. | ||
14 | |||
15 | Upstream-Status: Inappropriate [configuration] | ||
16 | |||
17 | Signed-off-by: Alexandru-Cezar Sardan <alexandru.sardan@freescale.com> | ||
18 | --- | ||
19 | gcc/config.gcc | 9 ++++++++- | ||
20 | 1 file changed, 8 insertions(+), 1 deletion(-) | ||
21 | |||
22 | Index: gcc-5.3.0/gcc/config.gcc | ||
23 | =================================================================== | ||
24 | --- gcc-5.3.0.orig/gcc/config.gcc | ||
25 | +++ gcc-5.3.0/gcc/config.gcc | ||
26 | @@ -2346,7 +2346,14 @@ powerpc-*-rtems*) | ||
27 | tmake_file="${tmake_file} rs6000/t-fprules rs6000/t-rtems rs6000/t-ppccomm" | ||
28 | ;; | ||
29 | powerpc*-*-linux*) | ||
30 | - tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h freebsd-spec.h rs6000/sysv4.h" | ||
31 | + case ${target} in | ||
32 | + powerpc*-*-linux*spe* | powerpc*-*-linux*altivec*) | ||
33 | + tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h freebsd-spec.h rs6000/sysv4.h" | ||
34 | + ;; | ||
35 | + *) | ||
36 | + tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h freebsd-spec.h rs6000/sysv4.h rs6000/linuxaltivec.h rs6000/linuxspe.h rs6000/e500.h" | ||
37 | + ;; | ||
38 | + esac | ||
39 | extra_options="${extra_options} rs6000/sysv4.opt" | ||
40 | tmake_file="${tmake_file} rs6000/t-fprules rs6000/t-ppccomm" | ||
41 | extra_objs="$extra_objs rs6000-linux.o" | ||
42 | Index: gcc-5.3.0/gcc/config/rs6000/linuxspe.h | ||
43 | =================================================================== | ||
44 | --- gcc-5.3.0.orig/gcc/config/rs6000/linuxspe.h | ||
45 | +++ gcc-5.3.0/gcc/config/rs6000/linuxspe.h | ||
46 | @@ -27,6 +27,3 @@ | ||
47 | #undef TARGET_DEFAULT | ||
48 | #define TARGET_DEFAULT MASK_STRICT_ALIGN | ||
49 | #endif | ||
50 | - | ||
51 | -#undef ASM_DEFAULT_SPEC | ||
52 | -#define ASM_DEFAULT_SPEC "-mppc -mspe -me500" | ||