summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/gcc/gcc-6.4/0029-Enable-SPE-AltiVec-generation-on-powepc-linux-target.patch
diff options
context:
space:
mode:
authorKhem Raj <raj.khem@gmail.com>2017-10-14 08:48:57 -0700
committerRichard Purdie <richard.purdie@linuxfoundation.org>2018-03-14 07:54:06 -0700
commit42c804e351ac5261be7fb3d0b684ddf1ebb6c645 (patch)
tree6529682b2abea79484c0adacc18c38a4bc44b16f /meta/recipes-devtools/gcc/gcc-6.4/0029-Enable-SPE-AltiVec-generation-on-powepc-linux-target.patch
parent5ed61141e10b13bb9731c0d6398d3f30d6f7a65d (diff)
downloadpoky-42c804e351ac5261be7fb3d0b684ddf1ebb6c645.tar.gz
gcc6: Upgrade to 6.4
Cherry-picked from oe-core master 7874fa86cb583fe6a178b95ead09430486197197 (From OE-Core rev: 86ffec0971b521bdaf9b031005bd3561ff97bdf8) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-devtools/gcc/gcc-6.4/0029-Enable-SPE-AltiVec-generation-on-powepc-linux-target.patch')
-rw-r--r--meta/recipes-devtools/gcc/gcc-6.4/0029-Enable-SPE-AltiVec-generation-on-powepc-linux-target.patch56
1 files changed, 56 insertions, 0 deletions
diff --git a/meta/recipes-devtools/gcc/gcc-6.4/0029-Enable-SPE-AltiVec-generation-on-powepc-linux-target.patch b/meta/recipes-devtools/gcc/gcc-6.4/0029-Enable-SPE-AltiVec-generation-on-powepc-linux-target.patch
new file mode 100644
index 0000000000..47b9c0d1b1
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-6.4/0029-Enable-SPE-AltiVec-generation-on-powepc-linux-target.patch
@@ -0,0 +1,56 @@
1From e140700976e3b7eb4250b1ffde9bc16494456903 Mon Sep 17 00:00:00 2001
2From: Alexandru-Cezar Sardan <alexandru.sardan@freescale.com>
3Date: Wed, 5 Feb 2014 16:52:31 +0200
4Subject: [PATCH 29/46] Enable SPE & AltiVec generation on powepc*linux target
5
6When is configured with --target=powerpc-linux, the resulting GCC will
7not be able to generate code for SPE targets (e500v1/v2).
8GCC configured with --target=powerpc-linuxspe will not be able to
9generate AltiVec instructions (for e6500).
10This patch modifies the configured file such that SPE or AltiVec code
11can be generated when gcc is configured with --target=powerpc-linux.
12The ABI and speciffic instructions can be selected through the
13"-mabi=spe or -mabi=altivec" and the "-mspe or -maltivec" parameters.
14
15Upstream-Status: Inappropriate [configuration]
16
17Signed-off-by: Alexandru-Cezar Sardan <alexandru.sardan@freescale.com>
18---
19 gcc/config.gcc | 9 ++++++++-
20 gcc/config/rs6000/linuxspe.h | 3 ---
21 2 files changed, 8 insertions(+), 4 deletions(-)
22
23diff --git a/gcc/config.gcc b/gcc/config.gcc
24index 9c6d156..18cff5a 100644
25--- a/gcc/config.gcc
26+++ b/gcc/config.gcc
27@@ -2392,7 +2392,14 @@ powerpc-*-rtems*)
28 tmake_file="${tmake_file} rs6000/t-fprules rs6000/t-rtems rs6000/t-ppccomm"
29 ;;
30 powerpc*-*-linux*)
31- tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h freebsd-spec.h rs6000/sysv4.h"
32+ case ${target} in
33+ powerpc*-*-linux*spe* | powerpc*-*-linux*altivec*)
34+ tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h freebsd-spec.h rs6000/sysv4.h"
35+ ;;
36+ *)
37+ 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"
38+ ;;
39+ esac
40 extra_options="${extra_options} rs6000/sysv4.opt"
41 tmake_file="${tmake_file} rs6000/t-fprules rs6000/t-ppccomm"
42 extra_objs="$extra_objs rs6000-linux.o"
43diff --git a/gcc/config/rs6000/linuxspe.h b/gcc/config/rs6000/linuxspe.h
44index 35623cd..f74e00d 100644
45--- a/gcc/config/rs6000/linuxspe.h
46+++ b/gcc/config/rs6000/linuxspe.h
47@@ -27,6 +27,3 @@
48 #undef TARGET_DEFAULT
49 #define TARGET_DEFAULT MASK_STRICT_ALIGN
50 #endif
51-
52-#undef ASM_DEFAULT_SPEC
53-#define ASM_DEFAULT_SPEC "-mppc -mspe -me500"
54--
552.8.2
56