summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/gcc/gcc-6.3/0019-cpp-honor-sysroot.patch
diff options
context:
space:
mode:
authorKhem Raj <raj.khem@gmail.com>2016-12-21 12:08:31 -0800
committerRichard Purdie <richard.purdie@linuxfoundation.org>2018-03-14 07:55:53 -0700
commit05bc5b3b5bccee4c0678dcfcc722d49261ba4cb8 (patch)
tree331d424c213a59e82107cfff21862e8d9be4459e /meta/recipes-devtools/gcc/gcc-6.3/0019-cpp-honor-sysroot.patch
parentd5c9d46de343d8432310ebb6b0fcb707dee654ec (diff)
downloadpoky-05bc5b3b5bccee4c0678dcfcc722d49261ba4cb8.tar.gz
gcc6: Upgrade to 6.3.0
6.3.0 is a bugfix release in gcc 6 series Cherry-picked from oe-core master 36ffcd1d7d2ab9dcc91e9c09623a6613a248bc69 (From OE-Core rev: c24f6de26efdfb13b95e51b4531d1e111fab409c) 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.3/0019-cpp-honor-sysroot.patch')
-rw-r--r--meta/recipes-devtools/gcc/gcc-6.3/0019-cpp-honor-sysroot.patch54
1 files changed, 54 insertions, 0 deletions
diff --git a/meta/recipes-devtools/gcc/gcc-6.3/0019-cpp-honor-sysroot.patch b/meta/recipes-devtools/gcc/gcc-6.3/0019-cpp-honor-sysroot.patch
new file mode 100644
index 0000000000..417a5ede4d
--- /dev/null
+++ b/meta/recipes-devtools/gcc/gcc-6.3/0019-cpp-honor-sysroot.patch
@@ -0,0 +1,54 @@
1From 98d9c0c1b5552294b2130f7304bfb522da323442 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Fri, 29 Mar 2013 09:22:00 +0400
4Subject: [PATCH 19/46] cpp: honor sysroot.
5
6Currently, if the gcc toolchain is relocated and installed from sstate, then you try and compile
7preprocessed source (.i or .ii files), the compiler will try and access the builtin sysroot location
8rather than the --sysroot option specified on the commandline. If access to that directory is
9permission denied (unreadable), gcc will error.
10
11This happens when ccache is in use due to the fact it uses preprocessed source files.
12
13The fix below adds %I to the cpp-output spec macro so the default substitutions for -iprefix,
14-isystem, -isysroot happen and the correct sysroot is used.
15
16[YOCTO #2074]
17
18RP 2012/04/13
19
20Signed-off-by: Khem Raj <raj.khem@gmail.com>
21
22Upstream-Status: Pending
23---
24 gcc/cp/lang-specs.h | 2 +-
25 gcc/gcc.c | 2 +-
26 2 files changed, 2 insertions(+), 2 deletions(-)
27
28diff --git a/gcc/cp/lang-specs.h b/gcc/cp/lang-specs.h
29index 9707fac..fe487a2 100644
30--- a/gcc/cp/lang-specs.h
31+++ b/gcc/cp/lang-specs.h
32@@ -64,5 +64,5 @@ along with GCC; see the file COPYING3. If not see
33 {".ii", "@c++-cpp-output", 0, 0, 0},
34 {"@c++-cpp-output",
35 "%{!M:%{!MM:%{!E:\
36- cc1plus -fpreprocessed %i %(cc1_options) %2\
37+ cc1plus -fpreprocessed %i %I %(cc1_options) %2\
38 %{!fsyntax-only:%(invoke_as)}}}}", 0, 0, 0},
39diff --git a/gcc/gcc.c b/gcc/gcc.c
40index 7ca129f..04fa81d 100644
41--- a/gcc/gcc.c
42+++ b/gcc/gcc.c
43@@ -1329,7 +1329,7 @@ static const struct compiler default_compilers[] =
44 %W{o*:--output-pch=%*}}%V}}}}}}}", 0, 0, 0},
45 {".i", "@cpp-output", 0, 0, 0},
46 {"@cpp-output",
47- "%{!M:%{!MM:%{!E:cc1 -fpreprocessed %i %(cc1_options) %{!fsyntax-only:%(invoke_as)}}}}", 0, 0, 0},
48+ "%{!M:%{!MM:%{!E:cc1 -fpreprocessed %i %I %(cc1_options) %{!fsyntax-only:%(invoke_as)}}}}", 0, 0, 0},
49 {".s", "@assembler", 0, 0, 0},
50 {"@assembler",
51 "%{!M:%{!MM:%{!E:%{!S:as %(asm_debug) %(asm_options) %i %A }}}}", 0, 0, 0},
52--
532.8.2
54