mirror of
https://git.yoctoproject.org/meta-arm
synced 2026-07-27 19:37:04 +00:00
ccec56deff
Update the Arm GCC source to the latest version. Also, update the GCC patches to apply cleanly, removing those that are no longer relevant. Add the CVEs from Sumit Garg's series. Signed-off-by: Jon Mason <jon.mason@arm.com>
60 lines
2.4 KiB
Diff
60 lines
2.4 KiB
Diff
From: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Subject: [PATCH 5/5] gcc: Pass sysroot options to cpp for preprocessed source
|
|
|
|
OpenEmbedded/Yocto Project extensively uses the --sysroot support within gcc.
|
|
We discovered that when compiling preprocessed source (.i or .ii files), the
|
|
compiler will try and access the builtin sysroot location rather than the
|
|
--sysroot option specified on the commandline. If access to that directory is
|
|
permission denied (unreadable), gcc will error. This is particularly problematic
|
|
when ccache is involved.
|
|
|
|
This patch adds %I to the cpp-output spec macro so the default substitutions for
|
|
-iprefix, -isystem, -isysroot happen and the correct sysroot is used.
|
|
|
|
2021-10-27 Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
|
|
gcc/cp/ChangeLog:
|
|
|
|
* lang-specs.h: Pass sysroot options to cpp for preprocessed source
|
|
|
|
gcc/ChangeLog:
|
|
|
|
* gcc.c: Pass sysroot options to cpp for preprocessed source
|
|
|
|
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
|
|
[YOCTO #2074]
|
|
|
|
Upstream-Status: Submitted [https://gcc.gnu.org/pipermail/gcc-patches/2021-October/582725.html]
|
|
---
|
|
gcc/cp/lang-specs.h | 2 +-
|
|
gcc/gcc.c | 2 +-
|
|
2 files changed, 2 insertions(+), 2 deletions(-)
|
|
|
|
Index: gcc-11.2.0/gcc/cp/lang-specs.h
|
|
===================================================================
|
|
--- gcc-11.2.0.orig/gcc/cp/lang-specs.h
|
|
+++ gcc-11.2.0/gcc/cp/lang-specs.h
|
|
@@ -116,7 +116,7 @@ along with GCC; see the file COPYING3.
|
|
{".ii", "@c++-cpp-output", 0, 0, 0},
|
|
{"@c++-cpp-output",
|
|
"%{!E:%{!M:%{!MM:"
|
|
- " cc1plus -fpreprocessed %i %(cc1_options) %2"
|
|
+ " cc1plus -fpreprocessed %i %I %(cc1_options) %2"
|
|
" %{!fsyntax-only:"
|
|
" %{fmodule-only:%{!S:-o %g.s%V}}"
|
|
" %{!fmodule-only:%{!fmodule-header*:%(invoke_as)}}}"
|
|
Index: gcc-11.2.0/gcc/gcc.c
|
|
===================================================================
|
|
--- gcc-11.2.0.orig/gcc/gcc.c
|
|
+++ gcc-11.2.0/gcc/gcc.c
|
|
@@ -1470,7 +1470,7 @@ static const struct compiler default_com
|
|
%W{o*:--output-pch=%*}}%V}}}}}}}", 0, 0, 0},
|
|
{".i", "@cpp-output", 0, 0, 0},
|
|
{"@cpp-output",
|
|
- "%{!M:%{!MM:%{!E:cc1 -fpreprocessed %i %(cc1_options) %{!fsyntax-only:%(invoke_as)}}}}", 0, 0, 0},
|
|
+ "%{!M:%{!MM:%{!E:cc1 -fpreprocessed %i %I %(cc1_options) %{!fsyntax-only:%(invoke_as)}}}}", 0, 0, 0},
|
|
{".s", "@assembler", 0, 0, 0},
|
|
{"@assembler",
|
|
"%{!M:%{!MM:%{!E:%{!S:as %(asm_debug) %(asm_options) %i %A }}}}", 0, 0, 0},
|