Hello Khem,

The upgrade causes multiple failures:

perf:

https://autobuilder.yoctoproject.org/typhoon/#/builders/62/builds/7068/steps/12/logs/stdio
https://autobuilder.yoctoproject.org/typhoon/#/builders/74/builds/7000/steps/12/logs/stdio


kernel gcc-plugins:

https://autobuilder.yoctoproject.org/typhoon/#/builders/113/builds/3942/steps/12/logs/stdio
https://autobuilder.yoctoproject.org/typhoon/#/builders/110/builds/5934/steps/12/logs/stdio


kernel libahci:

https://autobuilder.yoctoproject.org/typhoon/#/builders/101/builds/5819/steps/13/logs/stdio


intel-mediasdk:
https://autobuilder.yoctoproject.org/typhoon/#/builders/100/builds/4392/steps/12/logs/stdio


xen-tools:
https://autobuilder.yoctoproject.org/typhoon/#/builders/128/builds/1593/steps/12/logs/stdio


meta-mingw gcc-cross-canadian-i686:
https://autobuilder.yoctoproject.org/typhoon/#/builders/89/builds/7083/steps/12/logs/stdio


On 27/04/2023 11:52:53-0700, Khem Raj wrote:
> - Package libhwasan_preinit.o, its available on some arches e.g. x86_64 on
>   gcc13+
> - GCC 13 Porting guide [1] and major changes [2] and detailed documentation 
> [3]
> - Fix aarch64 cross build when S != B
> 
> [1] https://www.gnu.org/software/gcc/gcc-13/porting_to.html
> [2] https://www.gnu.org/software/gcc/gcc-13/changes.html
> [3] https://gcc.gnu.org/onlinedocs/13.1.0/
> 
> Signed-off-by: Khem Raj <[email protected]>
> ---
>  meta/conf/distro/include/maintainers.inc      |  2 +-
>  meta/conf/distro/include/tcmode-default.inc   |  2 +-
>  .../gcc/{gcc-12.2.inc => gcc-13.1.inc}        | 25 ++---
>  ...ian_12.2.bb => gcc-cross-canadian_13.1.bb} |  0
>  .../{gcc-cross_12.2.bb => gcc-cross_13.1.bb}  |  0
>  ...-crosssdk_12.2.bb => gcc-crosssdk_13.1.bb} |  0
>  ...cc-runtime_12.2.bb => gcc-runtime_13.1.bb} |  0
>  meta/recipes-devtools/gcc/gcc-sanitizers.inc  |  1 +
>  ...itizers_12.2.bb => gcc-sanitizers_13.1.bb} |  0
>  ...{gcc-source_12.2.bb => gcc-source_13.1.bb} |  0
>  ...0001-gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch | 10 +-
>  .../0002-gcc-poison-system-directories.patch  | 96 ++++++++-----------
>  .../gcc/gcc/0003-64-bit-multilib-hack.patch   | 51 ++++++----
>  ...R_BUILD-in-a-couple-of-places-to-avo.patch | 14 +--
>  ...ts.h-in-B-instead-of-S-and-t-oe-in-B.patch | 24 ++---
>  .../gcc/gcc/0006-cpp-honor-sysroot.patch      | 14 +--
>  ...AMIC_LINKER-and-UCLIBC_DYNAMIC_LINKE.patch | 54 +++++------
>  .../gcc/gcc/0008-libtool.patch                |  5 +-
>  ...s-fix-v4bx-to-linker-to-support-EABI.patch |  9 +-
>  ...-config-files-from-B-instead-of-usin.patch | 14 +--
>  ...1-aarch64-Fix-include-paths-when-S-B.patch | 55 +++++++++++
>  ...r-from-.la-which-usually-points-to-.patch} |  2 +-
>  ...e-target-gcc-headers-can-be-included.patch | 22 ++---
>  ...t-directory-during-relink-if-inst_pr.patch |  2 +-
>  ...-fix-libcc1-s-install-path-and-rpath.patch |  4 +-
>  ...le-sysroot-support-for-nativesdk-gcc.patch | 56 ++++++-----
>  ...sroot-gcc-version-specific-dirs-with.patch | 11 ++-
>  ...d-to-link-commandline-for-musl-targe.patch | 10 +-
>  ...Re-introduce-spe-commandline-options.patch |  6 +-
>  ...as-for-__cpu_indicator_init-instead-.patch |  8 +-
>  ...s-Do-not-use-__LINE__-for-maintainin.patch | 38 ++++----
>  ...mic-Do-not-enforce-march-on-aarch64.patch} | 16 ++--
>  ... 0023-Fix-install-path-of-linux64.h.patch} |  6 +-
>  ...ardcoded-build-paths-into-ppc-libgcc.patch | 28 ++++++
>  .../gcc/gcc/0026-rust-recursion-limit.patch   | 92 ------------------
>  .../gcc/gcc/hardcoded-paths.patch             | 19 ----
>  .../gcc/gcc/prefix-map-realpath.patch         | 64 -------------
>  .../gcc/{gcc_12.2.bb => gcc_13.1.bb}          |  0
>  ...initial_12.2.bb => libgcc-initial_13.1.bb} |  0
>  .../gcc/{libgcc_12.2.bb => libgcc_13.1.bb}    |  0
>  ...ibgfortran_12.2.bb => libgfortran_13.1.bb} |  0
>  41 files changed, 337 insertions(+), 423 deletions(-)
>  rename meta/recipes-devtools/gcc/{gcc-12.2.inc => gcc-13.1.inc} (84%)
>  rename meta/recipes-devtools/gcc/{gcc-cross-canadian_12.2.bb => 
> gcc-cross-canadian_13.1.bb} (100%)
>  rename meta/recipes-devtools/gcc/{gcc-cross_12.2.bb => gcc-cross_13.1.bb} 
> (100%)
>  rename meta/recipes-devtools/gcc/{gcc-crosssdk_12.2.bb => 
> gcc-crosssdk_13.1.bb} (100%)
>  rename meta/recipes-devtools/gcc/{gcc-runtime_12.2.bb => 
> gcc-runtime_13.1.bb} (100%)
>  rename meta/recipes-devtools/gcc/{gcc-sanitizers_12.2.bb => 
> gcc-sanitizers_13.1.bb} (100%)
>  rename meta/recipes-devtools/gcc/{gcc-source_12.2.bb => gcc-source_13.1.bb} 
> (100%)
>  create mode 100644 
> meta/recipes-devtools/gcc/gcc/0011-aarch64-Fix-include-paths-when-S-B.patch
>  rename 
> meta/recipes-devtools/gcc/gcc/{0011-Avoid-using-libdir-from-.la-which-usually-points-to-.patch
>  => 0012-Avoid-using-libdir-from-.la-which-usually-points-to-.patch} (92%)
>  rename 
> meta/recipes-devtools/gcc/gcc/{0023-libatomic-Do-not-enforce-march-on-aarch64.patch
>  => 0022-libatomic-Do-not-enforce-march-on-aarch64.patch} (81%)
>  rename 
> meta/recipes-devtools/gcc/gcc/{0024-Fix-install-path-of-linux64.h.patch => 
> 0023-Fix-install-path-of-linux64.h.patch} (85%)
>  create mode 100644 
> meta/recipes-devtools/gcc/gcc/0024-Avoid-hardcoded-build-paths-into-ppc-libgcc.patch
>  delete mode 100644 
> meta/recipes-devtools/gcc/gcc/0026-rust-recursion-limit.patch
>  delete mode 100644 meta/recipes-devtools/gcc/gcc/hardcoded-paths.patch
>  delete mode 100644 meta/recipes-devtools/gcc/gcc/prefix-map-realpath.patch
>  rename meta/recipes-devtools/gcc/{gcc_12.2.bb => gcc_13.1.bb} (100%)
>  rename meta/recipes-devtools/gcc/{libgcc-initial_12.2.bb => 
> libgcc-initial_13.1.bb} (100%)
>  rename meta/recipes-devtools/gcc/{libgcc_12.2.bb => libgcc_13.1.bb} (100%)
>  rename meta/recipes-devtools/gcc/{libgfortran_12.2.bb => 
> libgfortran_13.1.bb} (100%)
> 
> diff --git a/meta/conf/distro/include/maintainers.inc 
> b/meta/conf/distro/include/maintainers.inc
> index 66f8eb6af3..a523148e2f 100644
> --- a/meta/conf/distro/include/maintainers.inc
> +++ b/meta/conf/distro/include/maintainers.inc
> @@ -189,7 +189,7 @@ 
> RECIPE_MAINTAINER:pn-gcc-cross-canadian-${TRANSLATED_TARGET_ARCH} = "Khem Raj 
> <r
>  RECIPE_MAINTAINER:pn-gcc-crosssdk-${SDK_SYS} = "Khem Raj 
> <[email protected]>"
>  RECIPE_MAINTAINER:pn-gcc-runtime = "Khem Raj <[email protected]>"
>  RECIPE_MAINTAINER:pn-gcc-sanitizers = "Khem Raj <[email protected]>"
> -RECIPE_MAINTAINER:pn-gcc-source-12.2.0 = "Khem Raj <[email protected]>"
> +RECIPE_MAINTAINER:pn-gcc-source-13.1.0 = "Khem Raj <[email protected]>"
>  RECIPE_MAINTAINER:pn-gconf = "Ross Burton <[email protected]>"
>  RECIPE_MAINTAINER:pn-gcr3 = "Markus Volk <[email protected]>"
>  RECIPE_MAINTAINER:pn-gcr = "Alexander Kanavin <[email protected]>"
> diff --git a/meta/conf/distro/include/tcmode-default.inc 
> b/meta/conf/distro/include/tcmode-default.inc
> index dc4cd470e7..7c182eacf4 100644
> --- a/meta/conf/distro/include/tcmode-default.inc
> +++ b/meta/conf/distro/include/tcmode-default.inc
> @@ -16,7 +16,7 @@ PREFERRED_PROVIDER_virtual/${SDK_PREFIX}compilerlibs = 
> "nativesdk-gcc-runtime"
>  # Default libc config
>  PREFERRED_PROVIDER_virtual/gettext ??= "gettext"
>  
> -GCCVERSION ?= "12.%"
> +GCCVERSION ?= "13.%"
>  SDKGCCVERSION ?= "${GCCVERSION}"
>  BINUVERSION ?= "2.40%"
>  GDBVERSION ?= "13.%"
> diff --git a/meta/recipes-devtools/gcc/gcc-12.2.inc 
> b/meta/recipes-devtools/gcc/gcc-13.1.inc
> similarity index 84%
> rename from meta/recipes-devtools/gcc/gcc-12.2.inc
> rename to meta/recipes-devtools/gcc/gcc-13.1.inc
> index 0dbbecad4a..d361b680f4 100644
> --- a/meta/recipes-devtools/gcc/gcc-12.2.inc
> +++ b/meta/recipes-devtools/gcc/gcc-13.1.inc
> @@ -2,11 +2,11 @@ require gcc-common.inc
>  
>  # Third digit in PV should be incremented after a minor release
>  
> -PV = "12.2.0"
> +PV = "13.1.0"
>  
>  # BINV should be incremented to a revision after a minor gcc release
>  
> -BINV = "12.2.0"
> +BINV = "13.1.0"
>  
>  FILESEXTRAPATHS =. "${FILE_DIRNAME}/gcc:${FILE_DIRNAME}/gcc/backport:"
>  
> @@ -22,13 +22,15 @@ LIC_FILES_CHKSUM = "\
>      file://COPYING.LIB;md5=2d5025d4aa3495befef8f17206a5b0a1 \
>      file://COPYING.RUNTIME;md5=fe60d87048567d4fe8c8a0ed2448bcc8 \
>  "
> -# from git
> -#RELEASE ?= "7092b7aea122a91824d048aeb23834cf1d19b1a1"
> +# snapshot from git
> +#RELEASE ?= "9b6bf076c11cba0f9ccdace63e8b4044b1a858ea"
> +#BASEURI ?= 
> "https://git.linaro.org/toolchain/gcc.git/snapshot/gcc-${RELEASE}.tar.gz";
> +#SOURCEDIR = "gcc-${RELEASE}"
>  #BASEURI ?= 
> "https://repo.or.cz/official-gcc.git/snapshot/${RELEASE}.tar.gz;downloadfilename=gcc-${PV}-${RELEASE}.tar.gz";
>  #SOURCEDIR ?= "official-gcc-${@'${RELEASE}'[0:7]}"
>  
>  # from snapshot
> -#RELEASE ?= "12.1.0-RC-20220429"
> +#RELEASE ?= "13.1.0-RC-20230421"
>  #SOURCEDIR ?= "gcc-${RELEASE}"
>  #BASEURI ?= 
> "https://gcc.gnu.org/pub/gcc/snapshots/${RELEASE}/gcc-${RELEASE}.tar.xz";
>  
> @@ -48,7 +50,8 @@ SRC_URI = "${BASEURI} \
>             file://0008-libtool.patch \
>             
> file://0009-gcc-armv4-pass-fix-v4bx-to-linker-to-support-EABI.patch \
>             
> file://0010-Use-the-multilib-config-files-from-B-instead-of-usin.patch \
> -           
> file://0011-Avoid-using-libdir-from-.la-which-usually-points-to-.patch \
> +           file://0011-aarch64-Fix-include-paths-when-S-B.patch \
> +           
> file://0012-Avoid-using-libdir-from-.la-which-usually-points-to-.patch \
>             file://0013-Ensure-target-gcc-headers-can-be-included.patch \
>             
> file://0014-Don-t-search-host-directory-during-relink-if-inst_pr.patch \
>             file://0015-libcc1-fix-libcc1-s-install-path-and-rpath.patch \
> @@ -58,13 +61,11 @@ SRC_URI = "${BASEURI} \
>             file://0019-Re-introduce-spe-commandline-options.patch \
>             
> file://0020-libgcc_s-Use-alias-for-__cpu_indicator_init-instead-.patch \
>             
> file://0021-gentypes-genmodes-Do-not-use-__LINE__-for-maintainin.patch \
> -           file://0023-libatomic-Do-not-enforce-march-on-aarch64.patch \
> -           file://0024-Fix-install-path-of-linux64.h.patch \
> -           file://0026-rust-recursion-limit.patch \
> -           file://prefix-map-realpath.patch \
> -           file://hardcoded-paths.patch \
> +           file://0022-libatomic-Do-not-enforce-march-on-aarch64.patch \
> +           file://0023-Fix-install-path-of-linux64.h.patch \
> +           file://0024-Avoid-hardcoded-build-paths-into-ppc-libgcc.patch \
>  "
> -SRC_URI[sha256sum] = 
> "e549cf9cf3594a00e27b6589d4322d70e0720cdd213f39beb4181e06926230ff"
> +SRC_URI[sha256sum] = 
> "61d684f0aa5e76ac6585ad8898a2427aade8979ed5e7f85492286c4dfc13ee86"
>  
>  S = "${TMPDIR}/work-shared/gcc-${PV}-${PR}/${SOURCEDIR}"
>  B = "${WORKDIR}/gcc-${PV}/build.${HOST_SYS}.${TARGET_SYS}"
> diff --git a/meta/recipes-devtools/gcc/gcc-cross-canadian_12.2.bb 
> b/meta/recipes-devtools/gcc/gcc-cross-canadian_13.1.bb
> similarity index 100%
> rename from meta/recipes-devtools/gcc/gcc-cross-canadian_12.2.bb
> rename to meta/recipes-devtools/gcc/gcc-cross-canadian_13.1.bb
> diff --git a/meta/recipes-devtools/gcc/gcc-cross_12.2.bb 
> b/meta/recipes-devtools/gcc/gcc-cross_13.1.bb
> similarity index 100%
> rename from meta/recipes-devtools/gcc/gcc-cross_12.2.bb
> rename to meta/recipes-devtools/gcc/gcc-cross_13.1.bb
> diff --git a/meta/recipes-devtools/gcc/gcc-crosssdk_12.2.bb 
> b/meta/recipes-devtools/gcc/gcc-crosssdk_13.1.bb
> similarity index 100%
> rename from meta/recipes-devtools/gcc/gcc-crosssdk_12.2.bb
> rename to meta/recipes-devtools/gcc/gcc-crosssdk_13.1.bb
> diff --git a/meta/recipes-devtools/gcc/gcc-runtime_12.2.bb 
> b/meta/recipes-devtools/gcc/gcc-runtime_13.1.bb
> similarity index 100%
> rename from meta/recipes-devtools/gcc/gcc-runtime_12.2.bb
> rename to meta/recipes-devtools/gcc/gcc-runtime_13.1.bb
> diff --git a/meta/recipes-devtools/gcc/gcc-sanitizers.inc 
> b/meta/recipes-devtools/gcc/gcc-sanitizers.inc
> index 9881afa837..9016f7f937 100644
> --- a/meta/recipes-devtools/gcc/gcc-sanitizers.inc
> +++ b/meta/recipes-devtools/gcc/gcc-sanitizers.inc
> @@ -86,6 +86,7 @@ COMPATIBLE_HOST:libc-musl = 'null'
>  FILES:libasan += "${libdir}/libasan.so.* ${libdir}/libhwasan.so.*"
>  FILES:libasan-dev += "\
>      ${libdir}/libasan_preinit.o \
> +    ${libdir}/libhwasan_preinit.o \
>      ${libdir}/libasan.so \
>      ${libdir}/libhwasan.so \
>      ${libdir}/libasan.la \
> diff --git a/meta/recipes-devtools/gcc/gcc-sanitizers_12.2.bb 
> b/meta/recipes-devtools/gcc/gcc-sanitizers_13.1.bb
> similarity index 100%
> rename from meta/recipes-devtools/gcc/gcc-sanitizers_12.2.bb
> rename to meta/recipes-devtools/gcc/gcc-sanitizers_13.1.bb
> diff --git a/meta/recipes-devtools/gcc/gcc-source_12.2.bb 
> b/meta/recipes-devtools/gcc/gcc-source_13.1.bb
> similarity index 100%
> rename from meta/recipes-devtools/gcc/gcc-source_12.2.bb
> rename to meta/recipes-devtools/gcc/gcc-source_13.1.bb
> diff --git 
> a/meta/recipes-devtools/gcc/gcc/0001-gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch 
> b/meta/recipes-devtools/gcc/gcc/0001-gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch
> index 66e582ca98..0f1340491f 100644
> --- a/meta/recipes-devtools/gcc/gcc/0001-gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch
> +++ b/meta/recipes-devtools/gcc/gcc/0001-gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch
> @@ -1,4 +1,4 @@
> -From 31f94ef5b43a984a98f0eebd2dcf1b53aa1d7bce Mon Sep 17 00:00:00 2001
> +From 3875ab692a7d7ee796a6d5d2ece6daa3db81d5c4 Mon Sep 17 00:00:00 2001
>  From: Khem Raj <[email protected]>
>  Date: Fri, 29 Mar 2013 08:37:11 +0400
>  Subject: [PATCH] gcc-4.3.1: ARCH_FLAGS_FOR_TARGET
> @@ -12,10 +12,10 @@ Upstream-Status: Inappropriate [embedded specific]
>   2 files changed, 2 insertions(+), 2 deletions(-)
>  
>  diff --git a/configure b/configure
> -index 5dcaab14ae9..f76310a36bb 100755
> +index 85883099410..044315af1da 100755
>  --- a/configure
>  +++ b/configure
> -@@ -10165,7 +10165,7 @@ fi
> +@@ -10183,7 +10183,7 @@ fi
>   # for target_alias and gcc doesn't manage it consistently.
>   target_configargs="--cache-file=./config.cache ${target_configargs}"
>   
> @@ -25,10 +25,10 @@ index 5dcaab14ae9..f76310a36bb 100755
>    *" newlib "*)
>     case " $target_configargs " in
>  diff --git a/configure.ac b/configure.ac
> -index 85977482aee..8b9097c7a45 100644
> +index 2b612dce6e9..f26fffd4f62 100644
>  --- a/configure.ac
>  +++ b/configure.ac
> -@@ -3346,7 +3346,7 @@ fi
> +@@ -3339,7 +3339,7 @@ fi
>   # for target_alias and gcc doesn't manage it consistently.
>   target_configargs="--cache-file=./config.cache ${target_configargs}"
>   
> diff --git 
> a/meta/recipes-devtools/gcc/gcc/0002-gcc-poison-system-directories.patch 
> b/meta/recipes-devtools/gcc/gcc/0002-gcc-poison-system-directories.patch
> index 02135b7324..147f5bfd46 100644
> --- a/meta/recipes-devtools/gcc/gcc/0002-gcc-poison-system-directories.patch
> +++ b/meta/recipes-devtools/gcc/gcc/0002-gcc-poison-system-directories.patch
> @@ -1,4 +1,4 @@
> -From 99f1e61b2957226254a116fde7fd73bf07034012 Mon Sep 17 00:00:00 2001
> +From e09aa9c3565585390328dd514cc286c20b74e76a Mon Sep 17 00:00:00 2001
>  From: Khem Raj <[email protected]>
>  Date: Mon, 8 Mar 2021 16:04:20 -0800
>  Subject: [PATCH] gcc: poison-system-directories
> @@ -12,7 +12,6 @@ Instead, we add the two missing items to the current scan.  
> If the user
>  wants this to be a failure, they can add "-Werror=poison-system-directories".
>  
>  Upstream-Status: Inappropriate [OE configuration]
> -
>  Signed-off-by: Mark Hatle <[email protected]>
>  Signed-off-by: Khem Raj <[email protected]>
>  ---
> @@ -21,15 +20,15 @@ Signed-off-by: Khem Raj <[email protected]>
>   gcc/configure       | 19 +++++++++++++++++++
>   gcc/configure.ac    | 16 ++++++++++++++++
>   gcc/doc/invoke.texi |  9 +++++++++
> - gcc/gcc.cc          | 15 ++++++++++++---
> + gcc/gcc.cc          |  9 +++++++--
>   gcc/incpath.cc      | 21 +++++++++++++++++++++
> - 7 files changed, 91 insertions(+), 3 deletions(-)
> + 7 files changed, 86 insertions(+), 2 deletions(-)
>  
>  diff --git a/gcc/common.opt b/gcc/common.opt
> -index 8a0dafc52..0357868e2 100644
> +index 862c474d3c8..64c4277c991 100644
>  --- a/gcc/common.opt
>  +++ b/gcc/common.opt
> -@@ -710,6 +710,10 @@ Wreturn-local-addr
> +@@ -711,6 +711,10 @@ Wreturn-local-addr
>   Common Var(warn_return_local_addr) Init(1) Warning
>   Warn about returning a pointer/reference to a local or temporary variable.
>   
> @@ -41,10 +40,10 @@ index 8a0dafc52..0357868e2 100644
>   Common Var(warn_shadow) Warning
>   Warn when one variable shadows another.  Same as -Wshadow=global.
>  diff --git a/gcc/config.in b/gcc/config.in
> -index 64c27c9cf..a693cb8a8 100644
> +index 4cad077bfbe..80e832fdb84 100644
>  --- a/gcc/config.in
>  +++ b/gcc/config.in
> -@@ -230,6 +230,16 @@
> +@@ -236,6 +236,16 @@
>   #endif
>   
>   
> @@ -62,10 +61,10 @@ index 64c27c9cf..a693cb8a8 100644
>      optimizer and back end) to be checked for dynamic type safety at runtime.
>      This is quite expensive. */
>  diff --git a/gcc/configure b/gcc/configure
> -index 2b83acfb0..8bb97578c 100755
> +index c7b26d1927d..3508be7b439 100755
>  --- a/gcc/configure
>  +++ b/gcc/configure
> -@@ -1023,6 +1023,7 @@ enable_maintainer_mode
> +@@ -1026,6 +1026,7 @@ enable_maintainer_mode
>   enable_link_mutex
>   enable_link_serialization
>   enable_version_specific_runtime_libs
> @@ -73,7 +72,7 @@ index 2b83acfb0..8bb97578c 100755
>   enable_plugin
>   enable_host_shared
>   enable_libquadmath_support
> -@@ -1785,6 +1786,8 @@ Optional Features:
> +@@ -1788,6 +1789,8 @@ Optional Features:
>     --enable-version-specific-runtime-libs
>                             specify that runtime libraries should be installed
>                             in a compiler-specific directory
> @@ -82,7 +81,7 @@ index 2b83acfb0..8bb97578c 100755
>     --enable-plugin         enable plugin support
>     --enable-host-shared    build host code as shared libraries
>     --disable-libquadmath-support
> -@@ -31996,6 +31999,22 @@ if test 
> "${enable_version_specific_runtime_libs+set}" = set; then :
> +@@ -31753,6 +31756,22 @@ if test 
> "${enable_version_specific_runtime_libs+set}" = set; then :
>   fi
>   
>   
> @@ -106,10 +105,10 @@ index 2b83acfb0..8bb97578c 100755
>   
>   
>  diff --git a/gcc/configure.ac b/gcc/configure.ac
> -index daf2a708c..6155b83a7 100644
> +index 09082e8ccae..6cd01a8966b 100644
>  --- a/gcc/configure.ac
>  +++ b/gcc/configure.ac
> -@@ -7435,6 +7435,22 @@ AC_ARG_ENABLE(version-specific-runtime-libs,
> +@@ -7292,6 +7292,22 @@ AC_ARG_ENABLE(version-specific-runtime-libs,
>                   [specify that runtime libraries should be
>                    installed in a compiler-specific directory])])
>   
> @@ -133,37 +132,37 @@ index daf2a708c..6155b83a7 100644
>   AC_SUBST(subdirs)
>   AC_SUBST(srcdir)
>  diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
> -index ff6c338be..a8ebfa59a 100644
> +index c9482886c5a..f302c637908 100644
>  --- a/gcc/doc/invoke.texi
>  +++ b/gcc/doc/invoke.texi
> -@@ -379,6 +379,7 @@ Objective-C and Objective-C++ Dialects}.
> - -Wpacked  -Wno-packed-bitfield-compat  -Wpacked-not-aligned  -Wpadded @gol
> - -Wparentheses  -Wno-pedantic-ms-format @gol
> - -Wpointer-arith  -Wno-pointer-compare  -Wno-pointer-to-int-cast @gol
> -+-Wno-poison-system-directories @gol
> - -Wno-pragmas  -Wno-prio-ctor-dtor  -Wredundant-decls @gol
> - -Wrestrict  -Wno-return-local-addr  -Wreturn-type @gol
> - -Wno-scalar-storage-order  -Wsequence-point @gol
> -@@ -8029,6 +8030,14 @@ made up of data only and thus requires no special 
> treatment.  But, for
> +@@ -384,6 +384,7 @@ Objective-C and Objective-C++ Dialects}.
> + -Wpacked  -Wno-packed-bitfield-compat  -Wpacked-not-aligned  -Wpadded
> + -Wparentheses  -Wno-pedantic-ms-format
> + -Wpointer-arith  -Wno-pointer-compare  -Wno-pointer-to-int-cast
> ++-Wno-poison-system-directories
> + -Wno-pragmas  -Wno-prio-ctor-dtor  -Wredundant-decls
> + -Wrestrict  -Wno-return-local-addr  -Wreturn-type
> + -Wno-scalar-storage-order  -Wsequence-point
> +@@ -8422,6 +8423,14 @@ made up of data only and thus requires no special 
> treatment.  But, for
>   most targets, it is made up of code and thus requires the stack to be
>   made executable in order for the program to work properly.
>   
> -+@item -Wno-poison-system-directories
>  +@opindex Wno-poison-system-directories
> ++@item -Wno-poison-system-directories
>  +Do not warn for @option{-I} or @option{-L} options using system
>  +directories such as @file{/usr/include} when cross compiling.  This
>  +option is intended for use in chroot environments when such
>  +directories contain the correct headers and libraries for the target
>  +system rather than the host.
>  +
> - @item -Wfloat-equal
>   @opindex Wfloat-equal
>   @opindex Wno-float-equal
> + @item -Wfloat-equal
>  diff --git a/gcc/gcc.cc b/gcc/gcc.cc
> -index beefde7f6..4e6557b3c 100644
> +index 16bb07f2cdc..5feae021545 100644
>  --- a/gcc/gcc.cc
>  +++ b/gcc/gcc.cc
> -@@ -1162,6 +1162,8 @@ proper position among the other output files.  */
> +@@ -1146,6 +1146,8 @@ proper position among the other output files.  */
>      "%{fuse-ld=*:-fuse-ld=%*} " LINK_COMPRESS_DEBUG_SPEC \
>      "%X %{o*} %{e*} %{N} %{n} %{r}\
>       %{s} %{t} %{u*} %{z} %{Z} %{!nostdlib:%{!r:%{!nostartfiles:%S}}} \
> @@ -172,7 +171,7 @@ index beefde7f6..4e6557b3c 100644
>       %{static|no-pie|static-pie:} %@{L*} %(mfwrap) %(link_libgcc) " \
>       VTABLE_VERIFICATION_SPEC " " SANITIZER_EARLY_SPEC " %o "" \
>       %{fopenacc|fopenmp|%:gt(%{ftree-parallelize-loops=*:%*} 1):\
> -@@ -1257,8 +1259,11 @@ static const char *cpp_unique_options =
> +@@ -1241,8 +1243,11 @@ static const char *cpp_unique_options =
>   static const char *cpp_options =
>   "%(cpp_unique_options) %1 %{m*} %{std*&ansi&trigraphs} %{W*&pedantic*} %{w}\
>    %{f*} %{g*:%{%:debug-level-gt(0):%{g*}\
> @@ -180,27 +179,14 @@ index beefde7f6..4e6557b3c 100644
>  - %{undef} %{save-temps*:-fpch-preprocess}";
>  + %{!fno-working-directory:-fworking-directory}}} %{O*}"
>  +#ifdef POISON_BY_DEFAULT
> -+ " 
> %{!Wno-error=poison-system-directories:-Werror=poison-system-directories}"
> ++ " -Werror=poison-system-directories"
>  +#endif
>  + " %{undef} %{save-temps*:-fpch-preprocess}";
>   
>   /* Pass -d* flags, possibly modifying -dumpdir, -dumpbase et al.
>   
> -@@ -1287,7 +1292,11 @@ static const char *cc1_options =
> -  %{coverage:-fprofile-arcs -ftest-coverage}\
> -  %{fprofile-arcs|fprofile-generate*|coverage:\
> -    %{!fprofile-update=single:\
> --     %{pthread:-fprofile-update=prefer-atomic}}}";
> -+     %{pthread:-fprofile-update=prefer-atomic}}}"
> -+#ifdef POISON_BY_DEFAULT
> -+ " 
> %{!Wno-error=poison-system-directories:-Werror=poison-system-directories}"
> -+#endif
> -+  ;
> - 
> - static const char *asm_options =
> - "%{-target-help:%:print-asm-header()} "
>  diff --git a/gcc/incpath.cc b/gcc/incpath.cc
> -index 622204a38..5ac03c086 100644
> +index 4d44321183f..46c0d543205 100644
>  --- a/gcc/incpath.cc
>  +++ b/gcc/incpath.cc
>  @@ -26,6 +26,7 @@
> @@ -222,17 +208,17 @@ index 622204a38..5ac03c086 100644
>  +       struct cpp_dir *p;
>  +
>  +       for (p = heads[INC_QUOTE]; p; p = p->next)
> -+         {
> -+          if ((!strncmp (p->name, "/usr/include", 12))
> -+              || (!strncmp (p->name, "/usr/local/include", 18))
> -+              || (!strncmp (p->name, "/usr/X11R6/include", 18))
> -+              || (!strncmp (p->name, "/sw/include", 11))
> -+              || (!strncmp (p->name, "/opt/include", 12)))
> -+            warning (OPT_Wpoison_system_directories,
> -+                     "include location \"%s\" is unsafe for "
> -+                     "cross-compilation",
> -+                     p->name);
> -+         }
> ++     {
> ++      if ((!strncmp (p->name, "/usr/include", 12))
> ++          || (!strncmp (p->name, "/usr/local/include", 18))
> ++          || (!strncmp (p->name, "/usr/X11R6/include", 18))
> ++          || (!strncmp (p->name, "/sw/include", 11))
> ++          || (!strncmp (p->name, "/opt/include", 12)))
> ++        warning (OPT_Wpoison_system_directories,
> ++                 "include location \"%s\" is unsafe for "
> ++                 "cross-compilation",
> ++                 p->name);
> ++     }
>  +    }
>  +#endif
>   }
> diff --git a/meta/recipes-devtools/gcc/gcc/0003-64-bit-multilib-hack.patch 
> b/meta/recipes-devtools/gcc/gcc/0003-64-bit-multilib-hack.patch
> index e83f05b8aa..d547d7e48a 100644
> --- a/meta/recipes-devtools/gcc/gcc/0003-64-bit-multilib-hack.patch
> +++ b/meta/recipes-devtools/gcc/gcc/0003-64-bit-multilib-hack.patch
> @@ -1,7 +1,7 @@
> -From 34b861e7a4cfd7b1f0d2c0f8cf9bb0b0b81eb61a Mon Sep 17 00:00:00 2001
> +From 86664e09670efa5a8662ef59590e01707f8e0cc3 Mon Sep 17 00:00:00 2001
>  From: Khem Raj <[email protected]>
>  Date: Fri, 29 Mar 2013 09:10:06 +0400
> -Subject: [PATCH] 64-bit multilib hack.
> +Subject: [PATCH] 64-bit multilib hack
>  
>  GCC has internal multilib handling code but it assumes a very specific rigid 
> directory
>  layout. The build system implementation of multilib layout is very generic 
> and allows
> @@ -28,18 +28,17 @@ Upstream-Status: Inappropriate [OE-Specific]
>  Signed-off-by: Khem Raj <[email protected]>
>  Signed-off-by: Elvis Dowson <[email protected]>
>  Signed-off-by: Mark Hatle <[email protected]>
> -Signed-off-by: Khem Raj <[email protected]>
>  ---
>   gcc/config/aarch64/t-aarch64-linux |  8 ++++----
>   gcc/config/arc/t-multilib-linux    |  4 ++--
>   gcc/config/i386/t-linux64          |  6 ++----
> - gcc/config/mips/t-linux64          | 10 +++-------
> - gcc/config/riscv/t-linux           |  6 ++++--
> + gcc/config/mips/t-linux64          | 28 ++--------------------------
> + gcc/config/riscv/t-linux           |  4 ++--
>   gcc/config/rs6000/t-linux64        |  5 ++---
> - 6 files changed, 17 insertions(+), 22 deletions(-)
> + 6 files changed, 14 insertions(+), 41 deletions(-)
>  
>  diff --git a/gcc/config/aarch64/t-aarch64-linux 
> b/gcc/config/aarch64/t-aarch64-linux
> -index d0cd546002a..f4056d68372 100644
> +index 57bf4100fcd..aaef5da8059 100644
>  --- a/gcc/config/aarch64/t-aarch64-linux
>  +++ b/gcc/config/aarch64/t-aarch64-linux
>  @@ -21,8 +21,8 @@
> @@ -56,7 +55,7 @@ index d0cd546002a..f4056d68372 100644
>  -MULTILIB_OSDIRNAMES += mabi.ilp32=../libilp32$(call 
> if_multiarch,:aarch64$(AARCH_BE)-linux-gnu_ilp32)
>  +#MULTILIB_OSDIRNAMES += mabi.ilp32=../libilp32$(call 
> if_multiarch,:aarch64$(AARCH_BE)-linux-gnu_ilp32)
>  diff --git a/gcc/config/arc/t-multilib-linux 
> b/gcc/config/arc/t-multilib-linux
> -index ecb9ae6859f..12a164028d4 100644
> +index a839e4ea67c..f92664573a9 100644
>  --- a/gcc/config/arc/t-multilib-linux
>  +++ b/gcc/config/arc/t-multilib-linux
>  @@ -16,9 +16,9 @@
> @@ -72,7 +71,7 @@ index ecb9ae6859f..12a164028d4 100644
>   # Aliases:
>   MULTILIB_MATCHES += mcpu?arc700=mA7
>  diff --git a/gcc/config/i386/t-linux64 b/gcc/config/i386/t-linux64
> -index 5526ad0e6cc..fa51c88912b 100644
> +index 138956b0962..d6e0cdc4342 100644
>  --- a/gcc/config/i386/t-linux64
>  +++ b/gcc/config/i386/t-linux64
>  @@ -32,7 +32,5 @@
> @@ -86,37 +85,53 @@ index 5526ad0e6cc..fa51c88912b 100644
>  +MULTILIB_DIRNAMES = . .
>  +MULTILIB_OSDIRNAMES = ../$(shell basename $(base_libdir)) ../$(shell 
> basename $(base_libdir))
>  diff --git a/gcc/config/mips/t-linux64 b/gcc/config/mips/t-linux64
> -index 2fdd8e00407..04f2099250f 100644
> +index 176091cabb6..8258ef40559 100644
>  --- a/gcc/config/mips/t-linux64
>  +++ b/gcc/config/mips/t-linux64
> -@@ -17,10 +17,6 @@
> +@@ -17,29 +17,5 @@
>   # <http://www.gnu.org/licenses/>.
>   
>   MULTILIB_OPTIONS = mabi=n32/mabi=32/mabi=64
>  -MULTILIB_DIRNAMES = n32 32 64
>  -MIPS_EL = $(if $(filter %el, $(firstword $(subst -, ,$(target)))),el)
>  -MIPS_SOFT = $(if $(strip $(filter MASK_SOFT_FLOAT_ABI, 
> $(target_cpu_default)) $(filter soft, $(with_float))),soft)
> --MULTILIB_OSDIRNAMES = \
> +-ifeq (yes,$(enable_multiarch))
> +-  ifneq (,$(findstring gnuabi64,$(target)))
> +-    MULTILIB_OSDIRNAMES = \
> +-    ../lib32$(call 
> if_multiarch,:mips64$(MIPS_EL)-linux-gnuabin32$(MIPS_SOFT)) \
> +-    ../libo32$(call if_multiarch,:mips$(MIPS_EL)-linux-gnu$(MIPS_SOFT)) \
> +-    ../lib$(call if_multiarch,:mips64$(MIPS_EL)-linux-gnuabi64$(MIPS_SOFT))
> +-  else ifneq (,$(findstring gnuabin32,$(target)))
> +-    MULTILIB_OSDIRNAMES = \
> +-    ../lib$(call 
> if_multiarch,:mips64$(MIPS_EL)-linux-gnuabin32$(MIPS_SOFT)) \
> +-    ../libo32$(call if_multiarch,:mips$(MIPS_EL)-linux-gnu$(MIPS_SOFT)) \
> +-    ../lib64$(call 
> if_multiarch,:mips64$(MIPS_EL)-linux-gnuabi64$(MIPS_SOFT))
> +-  else
> +-    MULTILIB_OSDIRNAMES = \
>  -    ../lib32$(call 
> if_multiarch,:mips64$(MIPS_EL)-linux-gnuabin32$(MIPS_SOFT)) \
>  -    ../lib$(call if_multiarch,:mips$(MIPS_EL)-linux-gnu$(MIPS_SOFT)) \
>  -    ../lib64$(call 
> if_multiarch,:mips64$(MIPS_EL)-linux-gnuabi64$(MIPS_SOFT))
> +-  endif
> +-else
> +-  MULTILIB_OSDIRNAMES = \
> +-    ../lib32$(call 
> if_multiarch,:mips64$(MIPS_EL)-linux-gnuabin32$(MIPS_SOFT)) \
> +-    ../lib$(call if_multiarch,:mips$(MIPS_EL)-linux-gnu$(MIPS_SOFT)) \
> +-    ../lib64$(call 
> if_multiarch,:mips64$(MIPS_EL)-linux-gnuabi64$(MIPS_SOFT))
> +-endif
>  +MULTILIB_DIRNAMES = . . .
>  +MULTILIB_OSDIRNAMES = ../$(shell basename $(base_libdir)) ../$(shell 
> basename $(base_libdir)) ../$(shell basename $(base_libdir))
> -+
>  diff --git a/gcc/config/riscv/t-linux b/gcc/config/riscv/t-linux
> -index 216d2776a18..e4d817621fc 100644
> +index 216d2776a18..e3c520f4bf6 100644
>  --- a/gcc/config/riscv/t-linux
>  +++ b/gcc/config/riscv/t-linux
> -@@ -1,3 +1,5 @@
> +@@ -1,3 +1,3 @@
>   # Only XLEN and ABI affect Linux multilib dir names, e.g. /lib32/ilp32d/
>  -MULTILIB_DIRNAMES := $(patsubst rv32%,lib32,$(patsubst 
> rv64%,lib64,$(MULTILIB_DIRNAMES)))
>  -MULTILIB_OSDIRNAMES := $(patsubst lib%,../lib%,$(MULTILIB_DIRNAMES))
>  +#MULTILIB_DIRNAMES := $(patsubst rv32%,lib32,$(patsubst 
> rv64%,lib64,$(MULTILIB_DIRNAMES)))
> -+MULTILIB_DIRNAMES := . .
>  +#MULTILIB_OSDIRNAMES := $(patsubst lib%,../lib%,$(MULTILIB_DIRNAMES))
> -+MULTILIB_OSDIRNAMES := ../$(shell basename $(base_libdir)) ../$(shell 
> basename $(base_libdir))
>  diff --git a/gcc/config/rs6000/t-linux64 b/gcc/config/rs6000/t-linux64
> -index 47e0efd5764..05f5a3f188e 100644
> +index 01a94242308..1429eceaebf 100644
>  --- a/gcc/config/rs6000/t-linux64
>  +++ b/gcc/config/rs6000/t-linux64
>  @@ -26,10 +26,9 @@
> diff --git 
> a/meta/recipes-devtools/gcc/gcc/0004-Pass-CXXFLAGS_FOR_BUILD-in-a-couple-of-places-to-avo.patch
>  
> b/meta/recipes-devtools/gcc/gcc/0004-Pass-CXXFLAGS_FOR_BUILD-in-a-couple-of-places-to-avo.patch
> index 026f946b4d..955b68bd40 100644
> --- 
> a/meta/recipes-devtools/gcc/gcc/0004-Pass-CXXFLAGS_FOR_BUILD-in-a-couple-of-places-to-avo.patch
> +++ 
> b/meta/recipes-devtools/gcc/gcc/0004-Pass-CXXFLAGS_FOR_BUILD-in-a-couple-of-places-to-avo.patch
> @@ -1,4 +1,4 @@
> -From 7f40f8321fb999e9b34d948724517d3fb0d26820 Mon Sep 17 00:00:00 2001
> +From 2a1336d2e2ba08747acd7368264fc5813a37b049 Mon Sep 17 00:00:00 2001
>  From: Richard Purdie <[email protected]>
>  Date: Thu, 28 Oct 2021 11:33:40 +0100
>  Subject: [PATCH] Pass CXXFLAGS_FOR_BUILD in a couple of places to avoid these
> @@ -23,10 +23,10 @@ Signed-off-by: Khem Raj <[email protected]>
>   2 files changed, 4 insertions(+)
>  
>  diff --git a/Makefile.in b/Makefile.in
> -index 593495e1650..1d9c83cc566 100644
> +index 06a9398e172..4b0069b257c 100644
>  --- a/Makefile.in
>  +++ b/Makefile.in
> -@@ -176,6 +176,7 @@ BUILD_EXPORTS = \
> +@@ -178,6 +178,7 @@ BUILD_EXPORTS = \
>   # built for the build system to override those in BASE_FLAGS_TO_PASS.
>   EXTRA_BUILD_FLAGS = \
>       CFLAGS="$(CFLAGS_FOR_BUILD)" \
> @@ -34,7 +34,7 @@ index 593495e1650..1d9c83cc566 100644
>       LDFLAGS="$(LDFLAGS_FOR_BUILD)"
>   
>   # This is the list of directories to built for the host system.
> -@@ -207,6 +208,7 @@ HOST_EXPORTS = \
> +@@ -210,6 +211,7 @@ HOST_EXPORTS = \
>       CPP_FOR_BUILD="$(CPP_FOR_BUILD)"; export CPP_FOR_BUILD; \
>       CPPFLAGS_FOR_BUILD="$(CPPFLAGS_FOR_BUILD)"; export CPPFLAGS_FOR_BUILD; \
>       CXX_FOR_BUILD="$(CXX_FOR_BUILD)"; export CXX_FOR_BUILD; \
> @@ -43,10 +43,10 @@ index 593495e1650..1d9c83cc566 100644
>       DSYMUTIL="$(DSYMUTIL)"; export DSYMUTIL; \
>       LD="$(LD)"; export LD; \
>  diff --git a/Makefile.tpl b/Makefile.tpl
> -index ef58fac2b9a..bab04f335c2 100644
> +index dfbd74b68f8..419b332953b 100644
>  --- a/Makefile.tpl
>  +++ b/Makefile.tpl
> -@@ -179,6 +179,7 @@ BUILD_EXPORTS = \
> +@@ -181,6 +181,7 @@ BUILD_EXPORTS = \
>   # built for the build system to override those in BASE_FLAGS_TO_PASS.
>   EXTRA_BUILD_FLAGS = \
>       CFLAGS="$(CFLAGS_FOR_BUILD)" \
> @@ -54,7 +54,7 @@ index ef58fac2b9a..bab04f335c2 100644
>       LDFLAGS="$(LDFLAGS_FOR_BUILD)"
>   
>   # This is the list of directories to built for the host system.
> -@@ -210,6 +211,7 @@ HOST_EXPORTS = \
> +@@ -213,6 +214,7 @@ HOST_EXPORTS = \
>       CPP_FOR_BUILD="$(CPP_FOR_BUILD)"; export CPP_FOR_BUILD; \
>       CPPFLAGS_FOR_BUILD="$(CPPFLAGS_FOR_BUILD)"; export CPPFLAGS_FOR_BUILD; \
>       CXX_FOR_BUILD="$(CXX_FOR_BUILD)"; export CXX_FOR_BUILD; \
> diff --git 
> a/meta/recipes-devtools/gcc/gcc/0005-Use-the-defaults.h-in-B-instead-of-S-and-t-oe-in-B.patch
>  
> b/meta/recipes-devtools/gcc/gcc/0005-Use-the-defaults.h-in-B-instead-of-S-and-t-oe-in-B.patch
> index 8a3f0ffa6a..2eba38e375 100644
> --- 
> a/meta/recipes-devtools/gcc/gcc/0005-Use-the-defaults.h-in-B-instead-of-S-and-t-oe-in-B.patch
> +++ 
> b/meta/recipes-devtools/gcc/gcc/0005-Use-the-defaults.h-in-B-instead-of-S-and-t-oe-in-B.patch
> @@ -1,4 +1,4 @@
> -From 5455fc1de74897a27c1199dc5611ec02243e24af Mon Sep 17 00:00:00 2001
> +From 6cce395992a1b573e6795fdad2f9086db921e924 Mon Sep 17 00:00:00 2001
>  From: Khem Raj <[email protected]>
>  Date: Fri, 29 Mar 2013 09:17:25 +0400
>  Subject: [PATCH] Use the defaults.h in ${B} instead of ${S}, and t-oe in ${B}
> @@ -7,16 +7,16 @@ Use the defaults.h in ${B} instead of ${S}, and t-oe in 
> ${B}, so that
>  the source can be shared between gcc-cross-initial,
>  gcc-cross-intermediate, gcc-cross, gcc-runtime, and also the sdk build.
>  
> -Signed-off-by: Khem Raj <[email protected]>
> -
> -Upstream-Status: Inappropriate [embedded specific]
> -
>  While compiling gcc-crosssdk-initial-x86_64 on some host, there is
>  occasionally failure that test the existance of default.h doesn't
>  work, the reason is tm_include_list='** defaults.h' rather than
>  tm_include_list='** ./defaults.h'
>  
>  So we add the test condition for this situation.
> +
> +Upstream-Status: Inappropriate [embedded specific]
> +
> +Signed-off-by: Khem Raj <[email protected]>
>  Signed-off-by: Hongxu Jia <[email protected]>
>  ---
>   gcc/Makefile.in  | 2 +-
> @@ -26,10 +26,10 @@ Signed-off-by: Hongxu Jia <[email protected]>
>   4 files changed, 7 insertions(+), 7 deletions(-)
>  
>  diff --git a/gcc/Makefile.in b/gcc/Makefile.in
> -index 31ff95500c9..a8277254696 100644
> +index ad9a5d94cd0..fe636af3f63 100644
>  --- a/gcc/Makefile.in
>  +++ b/gcc/Makefile.in
> -@@ -553,7 +553,7 @@ TARGET_SYSTEM_ROOT = @TARGET_SYSTEM_ROOT@
> +@@ -561,7 +561,7 @@ TARGET_SYSTEM_ROOT = @TARGET_SYSTEM_ROOT@
>   TARGET_SYSTEM_ROOT_DEFINE = @TARGET_SYSTEM_ROOT_DEFINE@
>   
>   xmake_file=@xmake_file@
> @@ -39,10 +39,10 @@ index 31ff95500c9..a8277254696 100644
>   TM_MULTILIB_CONFIG=@TM_MULTILIB_CONFIG@
>   TM_MULTILIB_EXCEPTIONS_CONFIG=@TM_MULTILIB_EXCEPTIONS_CONFIG@
>  diff --git a/gcc/configure b/gcc/configure
> -index dc2d59701ad..3fc0e2f5813 100755
> +index 3508be7b439..cf773a8b854 100755
>  --- a/gcc/configure
>  +++ b/gcc/configure
> -@@ -13381,8 +13381,8 @@ for f in $tm_file; do
> +@@ -13507,8 +13507,8 @@ for f in $tm_file; do
>          tm_include_list="${tm_include_list} $f"
>          ;;
>       defaults.h )
> @@ -54,10 +54,10 @@ index dc2d59701ad..3fc0e2f5813 100755
>       * )
>          tm_file_list="${tm_file_list} \$(srcdir)/config/$f"
>  diff --git a/gcc/configure.ac b/gcc/configure.ac
> -index 36ce78924de..46de496b256 100644
> +index 6cd01a8966b..22591478b72 100644
>  --- a/gcc/configure.ac
>  +++ b/gcc/configure.ac
> -@@ -2332,8 +2332,8 @@ for f in $tm_file; do
> +@@ -2357,8 +2357,8 @@ for f in $tm_file; do
>          tm_include_list="${tm_include_list} $f"
>          ;;
>       defaults.h )
> @@ -69,7 +69,7 @@ index 36ce78924de..46de496b256 100644
>       * )
>          tm_file_list="${tm_file_list} \$(srcdir)/config/$f"
>  diff --git a/gcc/mkconfig.sh b/gcc/mkconfig.sh
> -index 91cc43f69ff..8de33713cd8 100644
> +index 054ede89647..3b2c2b9df37 100644
>  --- a/gcc/mkconfig.sh
>  +++ b/gcc/mkconfig.sh
>  @@ -77,7 +77,7 @@ if [ -n "$HEADERS" ]; then
> diff --git a/meta/recipes-devtools/gcc/gcc/0006-cpp-honor-sysroot.patch 
> b/meta/recipes-devtools/gcc/gcc/0006-cpp-honor-sysroot.patch
> index 9af82abaae..7130856645 100644
> --- a/meta/recipes-devtools/gcc/gcc/0006-cpp-honor-sysroot.patch
> +++ b/meta/recipes-devtools/gcc/gcc/0006-cpp-honor-sysroot.patch
> @@ -1,4 +1,4 @@
> -From abc3b82ab24169277f2090e9df1ceac3573142be Mon Sep 17 00:00:00 2001
> +From 223ff12852a8c8974f6e542ee3a8b276639d2452 Mon Sep 17 00:00:00 2001
>  From: Khem Raj <[email protected]>
>  Date: Fri, 29 Mar 2013 09:22:00 +0400
>  Subject: [PATCH] cpp: honor sysroot.
> @@ -17,16 +17,16 @@ The fix below adds %I to the cpp-output spec macro so the 
> default substitutions
>  
>  RP 2012/04/13
>  
> -Signed-off-by: Khem Raj <[email protected]>
> -
>  Upstream-Status: Inappropriate [embedded specific]
> +
> +Signed-off-by: Khem Raj <[email protected]>
>  ---
>   gcc/cp/lang-specs.h | 2 +-
>   gcc/gcc.cc          | 2 +-
>   2 files changed, 2 insertions(+), 2 deletions(-)
>  
>  diff --git a/gcc/cp/lang-specs.h b/gcc/cp/lang-specs.h
> -index f35c9fab76b..19ddc98ce7f 100644
> +index c591d155cc1..61927869fe1 100644
>  --- a/gcc/cp/lang-specs.h
>  +++ b/gcc/cp/lang-specs.h
>  @@ -116,7 +116,7 @@ along with GCC; see the file COPYING3.  If not see
> @@ -39,11 +39,11 @@ index f35c9fab76b..19ddc98ce7f 100644
>         "    %{fmodule-only:%{!S:-o %g.s%V}}"
>         "    %{!fmodule-only:%{!fmodule-header*:%(invoke_as)}}}"
>  diff --git a/gcc/gcc.cc b/gcc/gcc.cc
> -index ce161d3c853..aa4cf92fb78 100644
> +index 5feae021545..8af0c814c33 100644
>  --- a/gcc/gcc.cc
>  +++ b/gcc/gcc.cc
> -@@ -1476,7 +1476,7 @@ static const struct compiler default_compilers[] =
> -                                        %W{o*:--output-pch=%*}}%V}}}}}}}", 
> 0, 0, 0},
> +@@ -1468,7 +1468,7 @@ static const struct compiler default_compilers[] =
> +                                        %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},
> diff --git 
> a/meta/recipes-devtools/gcc/gcc/0007-Define-GLIBC_DYNAMIC_LINKER-and-UCLIBC_DYNAMIC_LINKE.patch
>  
> b/meta/recipes-devtools/gcc/gcc/0007-Define-GLIBC_DYNAMIC_LINKER-and-UCLIBC_DYNAMIC_LINKE.patch
> index b59eed57e9..a42a044142 100644
> --- 
> a/meta/recipes-devtools/gcc/gcc/0007-Define-GLIBC_DYNAMIC_LINKER-and-UCLIBC_DYNAMIC_LINKE.patch
> +++ 
> b/meta/recipes-devtools/gcc/gcc/0007-Define-GLIBC_DYNAMIC_LINKER-and-UCLIBC_DYNAMIC_LINKE.patch
> @@ -1,4 +1,4 @@
> -From 4de00af67b57b5440bdf61ab364ad959ad0aeee7 Mon Sep 17 00:00:00 2001
> +From ba2e308f7993099708ef3d8cbf2db5f134f08941 Mon Sep 17 00:00:00 2001
>  From: Khem Raj <[email protected]>
>  Date: Fri, 29 Mar 2013 09:24:50 +0400
>  Subject: [PATCH] Define GLIBC_DYNAMIC_LINKER and UCLIBC_DYNAMIC_LINKER
> @@ -12,8 +12,6 @@ SH, sparc, alpha for possible future support (if any)
>  
>  Removes the do_headerfix task in metadata
>  
> -Signed-off-by: Khem Raj <[email protected]>
> -
>  Upstream-Status: Inappropriate [OE configuration]
>  Signed-off-by: Khem Raj <[email protected]>
>  ---
> @@ -38,7 +36,7 @@ Signed-off-by: Khem Raj <[email protected]>
>   18 files changed, 53 insertions(+), 58 deletions(-)
>  
>  diff --git a/gcc/config/aarch64/aarch64-linux.h 
> b/gcc/config/aarch64/aarch64-linux.h
> -index 5e4553d79f5..877e8841eb2 100644
> +index 4277f03da2a..e4c92c03291 100644
>  --- a/gcc/config/aarch64/aarch64-linux.h
>  +++ b/gcc/config/aarch64/aarch64-linux.h
>  @@ -21,10 +21,10 @@
> @@ -55,7 +53,7 @@ index 5e4553d79f5..877e8841eb2 100644
>   #undef  ASAN_CC1_SPEC
>   #define ASAN_CC1_SPEC "%{%:sanitize(address):-funwind-tables}"
>  diff --git a/gcc/config/alpha/linux-elf.h b/gcc/config/alpha/linux-elf.h
> -index 17f16a55910..0a7be38fa63 100644
> +index 03f783f2ad1..4fa02668aa7 100644
>  --- a/gcc/config/alpha/linux-elf.h
>  +++ b/gcc/config/alpha/linux-elf.h
>  @@ -23,8 +23,8 @@ along with GCC; see the file COPYING3.  If not see
> @@ -70,10 +68,10 @@ index 17f16a55910..0a7be38fa63 100644
>   #define CHOOSE_DYNAMIC_LINKER(G, U) "%{mglibc:" G ";:" U "}"
>   #elif DEFAULT_LIBC == LIBC_GLIBC
>  diff --git a/gcc/config/arm/linux-eabi.h b/gcc/config/arm/linux-eabi.h
> -index 50cc0bc6d08..17c18b27145 100644
> +index a119875599d..dce7f59eeea 100644
>  --- a/gcc/config/arm/linux-eabi.h
>  +++ b/gcc/config/arm/linux-eabi.h
> -@@ -65,8 +65,8 @@
> +@@ -62,8 +62,8 @@
>      GLIBC_DYNAMIC_LINKER_DEFAULT and TARGET_DEFAULT_FLOAT_ABI.  */
>   
>   #undef  GLIBC_DYNAMIC_LINKER
> @@ -84,7 +82,7 @@ index 50cc0bc6d08..17c18b27145 100644
>   #define GLIBC_DYNAMIC_LINKER_DEFAULT GLIBC_DYNAMIC_LINKER_SOFT_FLOAT
>   
>   #define GLIBC_DYNAMIC_LINKER \
> -@@ -89,7 +89,7 @@
> +@@ -86,7 +86,7 @@
>   #define MUSL_DYNAMIC_LINKER_E "%{mbig-endian:eb}"
>   #endif
>   #define MUSL_DYNAMIC_LINKER \
> @@ -94,7 +92,7 @@ index 50cc0bc6d08..17c18b27145 100644
>   /* At this point, bpabi.h will have clobbered LINK_SPEC.  We want to
>      use the GNU/Linux version, not the generic BPABI version.  */
>  diff --git a/gcc/config/arm/linux-elf.h b/gcc/config/arm/linux-elf.h
> -index df3da67c4f0..37456e9d5a4 100644
> +index 7b7b7cbbe14..98ef2267117 100644
>  --- a/gcc/config/arm/linux-elf.h
>  +++ b/gcc/config/arm/linux-elf.h
>  @@ -60,7 +60,7 @@
> @@ -107,7 +105,7 @@ index df3da67c4f0..37456e9d5a4 100644
>   #define LINUX_TARGET_LINK_SPEC  "%{h*} \
>      %{static:-Bstatic} \
>  diff --git a/gcc/config/i386/linux.h b/gcc/config/i386/linux.h
> -index 5d99ee56d5b..a76022c9ccc 100644
> +index bbb7cc7115e..7d9272040ee 100644
>  --- a/gcc/config/i386/linux.h
>  +++ b/gcc/config/i386/linux.h
>  @@ -20,7 +20,7 @@ along with GCC; see the file COPYING3.  If not see
> @@ -121,7 +119,7 @@ index 5d99ee56d5b..a76022c9ccc 100644
>  -#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-i386.so.1"
>  +#define MUSL_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-musl-i386.so.1"
>  diff --git a/gcc/config/i386/linux64.h b/gcc/config/i386/linux64.h
> -index 8681e36f10d..ddce49b6b60 100644
> +index 2bd9f48e271..dbbe7ca5440 100644
>  --- a/gcc/config/i386/linux64.h
>  +++ b/gcc/config/i386/linux64.h
>  @@ -27,13 +27,13 @@ see the files COPYING3 and COPYING.RUNTIME respectively. 
>  If not, see
> @@ -145,10 +143,10 @@ index 8681e36f10d..ddce49b6b60 100644
>  -#define MUSL_DYNAMIC_LINKERX32 "/lib/ld-musl-x32.so.1"
>  +#define MUSL_DYNAMIC_LINKERX32 SYSTEMLIBS_DIR "ld-musl-x32.so.1"
>  diff --git a/gcc/config/linux.h b/gcc/config/linux.h
> -index 74f70793d90..4ce173384ef 100644
> +index e3aca79cccc..6491c6b84f5 100644
>  --- a/gcc/config/linux.h
>  +++ b/gcc/config/linux.h
> -@@ -99,10 +99,10 @@ see the files COPYING3 and COPYING.RUNTIME respectively. 
>  If not, see
> +@@ -86,10 +86,10 @@ see the files COPYING3 and COPYING.RUNTIME respectively. 
>  If not, see
>      GLIBC_DYNAMIC_LINKER must be defined for each target using them, or
>      GLIBC_DYNAMIC_LINKER32 and GLIBC_DYNAMIC_LINKER64 for targets
>      supporting both 32-bit and 64-bit compilation.  */
> @@ -164,7 +162,7 @@ index 74f70793d90..4ce173384ef 100644
>   #define BIONIC_DYNAMIC_LINKER32 "/system/bin/linker"
>   #define BIONIC_DYNAMIC_LINKER64 "/system/bin/linker64"
>  diff --git a/gcc/config/loongarch/gnu-user.h 
> b/gcc/config/loongarch/gnu-user.h
> -index 664dc9206ad..082bd7cfc6f 100644
> +index aecaa02a199..62f88f7f9a2 100644
>  --- a/gcc/config/loongarch/gnu-user.h
>  +++ b/gcc/config/loongarch/gnu-user.h
>  @@ -31,11 +31,11 @@ along with GCC; see the file COPYING3.  If not see
> @@ -182,7 +180,7 @@ index 664dc9206ad..082bd7cfc6f 100644
>   #undef GNU_USER_TARGET_LINK_SPEC
>   #define GNU_USER_TARGET_LINK_SPEC \
>  diff --git a/gcc/config/microblaze/linux.h b/gcc/config/microblaze/linux.h
> -index 5b1a365eda4..2e63df1ae9c 100644
> +index e2e2c421c52..6f26480e3b5 100644
>  --- a/gcc/config/microblaze/linux.h
>  +++ b/gcc/config/microblaze/linux.h
>  @@ -28,7 +28,7 @@
> @@ -204,7 +202,7 @@ index 5b1a365eda4..2e63df1ae9c 100644
>   #undef  SUBTARGET_EXTRA_SPECS
>   #define SUBTARGET_EXTRA_SPECS \
>  diff --git a/gcc/config/mips/linux.h b/gcc/config/mips/linux.h
> -index 230b7789bb8..d96d134bfcf 100644
> +index 5add34ea134..34692b433b8 100644
>  --- a/gcc/config/mips/linux.h
>  +++ b/gcc/config/mips/linux.h
>  @@ -22,29 +22,29 @@ along with GCC; see the file COPYING3.  If not see
> @@ -247,22 +245,24 @@ index 230b7789bb8..d96d134bfcf 100644
>   #define BIONIC_DYNAMIC_LINKERN32 "/system/bin/linker32"
>   #define GNU_USER_DYNAMIC_LINKERN32 \
>  diff --git a/gcc/config/nios2/linux.h b/gcc/config/nios2/linux.h
> -index f5dd813acad..7a13e1c9799 100644
> +index 2ce097ebbce..1d45d7b4962 100644
>  --- a/gcc/config/nios2/linux.h
>  +++ b/gcc/config/nios2/linux.h
> -@@ -29,8 +29,8 @@
> +@@ -29,10 +29,10 @@
>   #undef CPP_SPEC
>   #define CPP_SPEC "%{posix:-D_POSIX_SOURCE} %{pthread:-D_REENTRANT}"
>   
>  -#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux-nios2.so.1"
> --#define MUSL_DYNAMIC_LINKER  "/lib/ld-musl-nios2.so.1"
>  +#define GLIBC_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-linux-nios2.so.1"
> + 
> + #undef MUSL_DYNAMIC_LINKER
> +-#define MUSL_DYNAMIC_LINKER  "/lib/ld-musl-nios2.so.1"
>  +#define MUSL_DYNAMIC_LINKER  SYSTEMLIBS_DIR "ld-musl-nios2.so.1"
>   
>   #undef LINK_SPEC
>   #define LINK_SPEC LINK_SPEC_ENDIAN \
>  diff --git a/gcc/config/riscv/linux.h b/gcc/config/riscv/linux.h
> -index 38803723ba9..d5ef8a96a19 100644
> +index b9557a75dc7..e10ca1f97e7 100644
>  --- a/gcc/config/riscv/linux.h
>  +++ b/gcc/config/riscv/linux.h
>  @@ -22,7 +22,7 @@ along with GCC; see the file COPYING3.  If not see
> @@ -284,7 +284,7 @@ index 38803723ba9..d5ef8a96a19 100644
>   /* Because RISC-V only has word-sized atomics, it requries libatomic where
>      others do not.  So link libatomic by default, as needed.  */
>  diff --git a/gcc/config/rs6000/linux64.h b/gcc/config/rs6000/linux64.h
> -index b2a7afabc73..364c1a5b155 100644
> +index 9e457033d11..2ddab7c99c1 100644
>  --- a/gcc/config/rs6000/linux64.h
>  +++ b/gcc/config/rs6000/linux64.h
>  @@ -339,24 +339,19 @@ extern int dot_symbols;
> @@ -318,10 +318,10 @@ index b2a7afabc73..364c1a5b155 100644
>   #undef  DEFAULT_ASM_ENDIAN
>   #if (TARGET_DEFAULT & MASK_LITTLE_ENDIAN)
>  diff --git a/gcc/config/rs6000/sysv4.h b/gcc/config/rs6000/sysv4.h
> -index 7e2519de5d4..a73954d9de5 100644
> +index ae932fc22f0..26db003cb3a 100644
>  --- a/gcc/config/rs6000/sysv4.h
>  +++ b/gcc/config/rs6000/sysv4.h
> -@@ -779,10 +779,10 @@ GNU_USER_TARGET_CC1_SPEC
> +@@ -771,10 +771,10 @@ GNU_USER_TARGET_CC1_SPEC
>   
>   #define MUSL_DYNAMIC_LINKER_E ENDIAN_SELECT("","le","")
>   
> @@ -335,7 +335,7 @@ index 7e2519de5d4..a73954d9de5 100644
>   #ifndef GNU_USER_DYNAMIC_LINKER
>   #define GNU_USER_DYNAMIC_LINKER GLIBC_DYNAMIC_LINKER
>  diff --git a/gcc/config/s390/linux.h b/gcc/config/s390/linux.h
> -index d7b7e7a7b02..0139b4d06ca 100644
> +index 02aa1edaff8..fab268d61f4 100644
>  --- a/gcc/config/s390/linux.h
>  +++ b/gcc/config/s390/linux.h
>  @@ -72,13 +72,13 @@ along with GCC; see the file COPYING3.  If not see
> @@ -357,7 +357,7 @@ index d7b7e7a7b02..0139b4d06ca 100644
>   #undef  LINK_SPEC
>   #define LINK_SPEC \
>  diff --git a/gcc/config/sh/linux.h b/gcc/config/sh/linux.h
> -index d96d077c99e..7d27f9893ee 100644
> +index 29f5902b98b..83d1e53e6e2 100644
>  --- a/gcc/config/sh/linux.h
>  +++ b/gcc/config/sh/linux.h
>  @@ -61,10 +61,10 @@ along with GCC; see the file COPYING3.  If not see
> @@ -374,7 +374,7 @@ index d96d077c99e..7d27f9893ee 100644
>   #undef SUBTARGET_LINK_EMUL_SUFFIX
>   #define SUBTARGET_LINK_EMUL_SUFFIX "%{mfdpic:_fd;:_linux}"
>  diff --git a/gcc/config/sparc/linux.h b/gcc/config/sparc/linux.h
> -index 6a809e9092d..60603765ad6 100644
> +index 0e33b3cac2c..84f29adbb35 100644
>  --- a/gcc/config/sparc/linux.h
>  +++ b/gcc/config/sparc/linux.h
>  @@ -78,7 +78,7 @@ extern const char *host_detect_local_cpu (int argc, const 
> char **argv);
> @@ -387,7 +387,7 @@ index 6a809e9092d..60603765ad6 100644
>   #undef  LINK_SPEC
>   #define LINK_SPEC "-m elf32_sparc %{shared:-shared} \
>  diff --git a/gcc/config/sparc/linux64.h b/gcc/config/sparc/linux64.h
> -index d08a2ef96fe..e6955da0a5b 100644
> +index f1cc0a19e49..94bc2032803 100644
>  --- a/gcc/config/sparc/linux64.h
>  +++ b/gcc/config/sparc/linux64.h
>  @@ -78,8 +78,8 @@ along with GCC; see the file COPYING3.  If not see
> diff --git a/meta/recipes-devtools/gcc/gcc/0008-libtool.patch 
> b/meta/recipes-devtools/gcc/gcc/0008-libtool.patch
> index 9e1d6dd0a3..72248e64b1 100644
> --- a/meta/recipes-devtools/gcc/gcc/0008-libtool.patch
> +++ b/meta/recipes-devtools/gcc/gcc/0008-libtool.patch
> @@ -1,4 +1,4 @@
> -From 5117519c1897a49b09fe7fff213b9c2ea15d37f5 Mon Sep 17 00:00:00 2001
> +From 5ce9e36a87974ce5c1c1adb6e4390350233d8770 Mon Sep 17 00:00:00 2001
>  From: Khem Raj <[email protected]>
>  Date: Fri, 29 Mar 2013 09:29:11 +0400
>  Subject: [PATCH] libtool
> @@ -15,9 +15,8 @@ to filter the zero case.
>  
>  RP 2012/8/24
>  
> -Signed-off-by: Khem Raj <[email protected]>
> -
>  Upstream-Status: Submitted 
> [https://lists.gnu.org/archive/html/libtool-patches/2023-04/msg00000.html]
> +Signed-off-by: Khem Raj <[email protected]>
>  ---
>   ltmain.sh | 4 ++++
>   1 file changed, 4 insertions(+)
> diff --git 
> a/meta/recipes-devtools/gcc/gcc/0009-gcc-armv4-pass-fix-v4bx-to-linker-to-support-EABI.patch
>  
> b/meta/recipes-devtools/gcc/gcc/0009-gcc-armv4-pass-fix-v4bx-to-linker-to-support-EABI.patch
> index d2d6c8f289..871a634d14 100644
> --- 
> a/meta/recipes-devtools/gcc/gcc/0009-gcc-armv4-pass-fix-v4bx-to-linker-to-support-EABI.patch
> +++ 
> b/meta/recipes-devtools/gcc/gcc/0009-gcc-armv4-pass-fix-v4bx-to-linker-to-support-EABI.patch
> @@ -1,4 +1,4 @@
> -From 32129f9682d0d27fc67af10f077ad2768935cbe6 Mon Sep 17 00:00:00 2001
> +From 37c7471aa476dfc591a7123e39e38ef8b049f5c0 Mon Sep 17 00:00:00 2001
>  From: Khem Raj <[email protected]>
>  Date: Fri, 29 Mar 2013 09:30:32 +0400
>  Subject: [PATCH] gcc: armv4: pass fix-v4bx to linker to support EABI.
> @@ -11,18 +11,17 @@ for eabi defaulting toolchains.
>  
>  We might want to send it upstream.
>  
> -Signed-off-by: Khem Raj <[email protected]>
> -
>  Upstream-Status: Submitted 
> [https://gcc.gnu.org/pipermail/gcc-patches/2023-April/615319.html]
> +Signed-off-by: Khem Raj <[email protected]>
>  ---
>   gcc/config/arm/linux-eabi.h | 6 +++++-
>   1 file changed, 5 insertions(+), 1 deletion(-)
>  
>  diff --git a/gcc/config/arm/linux-eabi.h b/gcc/config/arm/linux-eabi.h
> -index 17c18b27145..8eacb099317 100644
> +index dce7f59eeea..27402c629c6 100644
>  --- a/gcc/config/arm/linux-eabi.h
>  +++ b/gcc/config/arm/linux-eabi.h
> -@@ -91,10 +91,14 @@
> +@@ -88,10 +88,14 @@
>   #define MUSL_DYNAMIC_LINKER \
>     SYSTEMLIBS_DIR "ld-musl-arm" MUSL_DYNAMIC_LINKER_E 
> "%{mfloat-abi=hard:hf}%{mfdpic:-fdpic}.so.1"
>   
> diff --git 
> a/meta/recipes-devtools/gcc/gcc/0010-Use-the-multilib-config-files-from-B-instead-of-usin.patch
>  
> b/meta/recipes-devtools/gcc/gcc/0010-Use-the-multilib-config-files-from-B-instead-of-usin.patch
> index 45edc62eb5..a88abc2fad 100644
> --- 
> a/meta/recipes-devtools/gcc/gcc/0010-Use-the-multilib-config-files-from-B-instead-of-usin.patch
> +++ 
> b/meta/recipes-devtools/gcc/gcc/0010-Use-the-multilib-config-files-from-B-instead-of-usin.patch
> @@ -1,4 +1,4 @@
> -From bf85b8bbcb4b77725d4c22c1bb25a29f6ff21038 Mon Sep 17 00:00:00 2001
> +From 2be15956b4051680aa8da9df97ef032ac8616fb1 Mon Sep 17 00:00:00 2001
>  From: Khem Raj <[email protected]>
>  Date: Fri, 29 Mar 2013 09:33:04 +0400
>  Subject: [PATCH] Use the multilib config files from ${B} instead of using the
> @@ -18,10 +18,10 @@ Upstream-Status: Inappropriate [configuration]
>   2 files changed, 36 insertions(+), 8 deletions(-)
>  
>  diff --git a/gcc/configure b/gcc/configure
> -index 3fc0e2f5813..2f0f0e057a9 100755
> +index cf773a8b854..448a1ec093e 100755
>  --- a/gcc/configure
>  +++ b/gcc/configure
> -@@ -13361,10 +13361,20 @@ done
> +@@ -13487,10 +13487,20 @@ done
>   tmake_file_=
>   for f in ${tmake_file}
>   do
> @@ -46,7 +46,7 @@ index 3fc0e2f5813..2f0f0e057a9 100755
>   done
>   tmake_file="${tmake_file_}${omp_device_property_tmake_file}"
>   
> -@@ -13375,6 +13385,10 @@ tm_file_list="options.h"
> +@@ -13501,6 +13511,10 @@ tm_file_list="options.h"
>   tm_include_list="options.h insn-constants.h"
>   for f in $tm_file; do
>     case $f in
> @@ -58,10 +58,10 @@ index 3fc0e2f5813..2f0f0e057a9 100755
>          f=`echo $f | sed 's/^..//'`
>          tm_file_list="${tm_file_list} $f"
>  diff --git a/gcc/configure.ac b/gcc/configure.ac
> -index 46de496b256..6155b83a732 100644
> +index 22591478b72..b6e7f5149a7 100644
>  --- a/gcc/configure.ac
>  +++ b/gcc/configure.ac
> -@@ -2312,10 +2312,20 @@ done
> +@@ -2337,10 +2337,20 @@ done
>   tmake_file_=
>   for f in ${tmake_file}
>   do
> @@ -86,7 +86,7 @@ index 46de496b256..6155b83a732 100644
>   done
>   tmake_file="${tmake_file_}${omp_device_property_tmake_file}"
>   
> -@@ -2326,6 +2336,10 @@ tm_file_list="options.h"
> +@@ -2351,6 +2361,10 @@ tm_file_list="options.h"
>   tm_include_list="options.h insn-constants.h"
>   for f in $tm_file; do
>     case $f in
> diff --git 
> a/meta/recipes-devtools/gcc/gcc/0011-aarch64-Fix-include-paths-when-S-B.patch 
> b/meta/recipes-devtools/gcc/gcc/0011-aarch64-Fix-include-paths-when-S-B.patch
> new file mode 100644
> index 0000000000..f52e21edc2
> --- /dev/null
> +++ 
> b/meta/recipes-devtools/gcc/gcc/0011-aarch64-Fix-include-paths-when-S-B.patch
> @@ -0,0 +1,55 @@
> +From 710d1325474e708e6b34eebe09f3f130420af293 Mon Sep 17 00:00:00 2001
> +From: Khem Raj <[email protected]>
> +Date: Tue, 31 Jan 2023 22:03:38 -0800
> +Subject: [PATCH] aarch64: Fix include paths when S != B
> +
> +aarch64.h gets copied into build directory when built out of tree, in
> +this case build uses this file but does not find the includes inside it
> +since they are not found in any of include paths specified in compiler
> +cmdline.
> +
> +Fixes build errors like
> +
> +% g++ -c   
> -isystem/mnt/b/yoe/master/build/tmp/work/x86_64-linux/gcc-cross-aarch64/13.0.1-r0/recipe-sysroot-native/usr/include
>  -O2 -pipe   -DIN_GCC  -DCROSS_DIRECTORY_STRUCTURE   -fno-exceptions 
> -fno-rtti -fasynchronous-unwind-tables -W -Wall -Wno-narrowing 
> -Wwrite-strings -Wcast-qual -Wmissing-format-attribute 
> -Wconditionally-supported -Woverloaded-virtual -pedantic -Wno-long-long 
> -Wno-variadic-macros -Wno-overlength-strings   -DHAVE_CONFIG_H  
> -DGENERATOR_FILE -I. -Ibuild 
> -I../../../../../../../work-shared/gcc-13.0.1-r0/gcc-b2ec2504af77b35e748067eeb846821d12a6b6b4/gcc
>  
> -I../../../../../../../work-shared/gcc-13.0.1-r0/gcc-b2ec2504af77b35e748067eeb846821d12a6b6b4/gcc/build
>  
> -I../../../../../../../work-shared/gcc-13.0.1-r0/gcc-b2ec2504af77b35e748067eeb846821d12a6b6b4/gcc/../include
>   
> -I../../../../../../../work-shared/gcc-13.0.1-r0/gcc-b2ec2504af77b35e748067eeb846821d12a6b6b4/gcc/../libcpp/include
>  -o build/gencheck.o 
> ../../../../../../../work-shared/gcc-13.0.1-r0/gcc-b2ec2504af77b35e748067eeb846821d12a6b6b4/gcc/gencheck.cc
> +In file included from ./tm.h:34,
> +                 from 
> ../../../../../../../work-shared/gcc-13.0.1-r0/gcc-b2ec2504af77b35e748067eeb846821d12a6b6b4/gcc/gencheck.cc:23:
> +./config/aarch64/aarch64.h:164:10: fatal error: 
> aarch64-option-extensions.def: No such file or directory
> +  164 | #include "aarch64-option-extensions.def"
> +      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> +compilation terminated.
> +
> +See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105144
> +
> +Upstream-Status: Pending
> +
> +Signed-off-by: Khem Raj <[email protected]>
> +---
> + gcc/config/aarch64/aarch64.h | 8 ++++----
> + 1 file changed, 4 insertions(+), 4 deletions(-)
> +
> +diff --git a/gcc/config/aarch64/aarch64.h b/gcc/config/aarch64/aarch64.h
> +index 155cace6afe..07d68958908 100644
> +--- a/gcc/config/aarch64/aarch64.h
> ++++ b/gcc/config/aarch64/aarch64.h
> +@@ -161,8 +161,8 @@
> + enum class aarch64_feature : unsigned char {
> + #define AARCH64_OPT_EXTENSION(A, IDENT, C, D, E, F) IDENT,
> + #define AARCH64_ARCH(A, B, IDENT, D, E) IDENT,
> +-#include "aarch64-option-extensions.def"
> +-#include "aarch64-arches.def"
> ++#include "config/aarch64/aarch64-option-extensions.def"
> ++#include "config/aarch64/aarch64-arches.def"
> + };
> + 
> + /* Define unique flags for each of the above.  */
> +@@ -171,8 +171,8 @@ enum class aarch64_feature : unsigned char {
> +     = aarch64_feature_flags (1) << int (aarch64_feature::IDENT);
> + #define AARCH64_OPT_EXTENSION(A, IDENT, C, D, E, F) HANDLE (IDENT)
> + #define AARCH64_ARCH(A, B, IDENT, D, E) HANDLE (IDENT)
> +-#include "aarch64-option-extensions.def"
> +-#include "aarch64-arches.def"
> ++#include "config/aarch64/aarch64-option-extensions.def"
> ++#include "config/aarch64/aarch64-arches.def"
> + #undef HANDLE
> + 
> + #endif
> diff --git 
> a/meta/recipes-devtools/gcc/gcc/0011-Avoid-using-libdir-from-.la-which-usually-points-to-.patch
>  
> b/meta/recipes-devtools/gcc/gcc/0012-Avoid-using-libdir-from-.la-which-usually-points-to-.patch
> similarity index 92%
> rename from 
> meta/recipes-devtools/gcc/gcc/0011-Avoid-using-libdir-from-.la-which-usually-points-to-.patch
> rename to 
> meta/recipes-devtools/gcc/gcc/0012-Avoid-using-libdir-from-.la-which-usually-points-to-.patch
> index 352c6eec29..b05be59c72 100644
> --- 
> a/meta/recipes-devtools/gcc/gcc/0011-Avoid-using-libdir-from-.la-which-usually-points-to-.patch
> +++ 
> b/meta/recipes-devtools/gcc/gcc/0012-Avoid-using-libdir-from-.la-which-usually-points-to-.patch
> @@ -1,4 +1,4 @@
> -From e5463727ff028cee5e452da38f5b4c44d52e412e Mon Sep 17 00:00:00 2001
> +From e8e8a0ab572cfceb9758f99599c0db4c962e49c0 Mon Sep 17 00:00:00 2001
>  From: Khem Raj <[email protected]>
>  Date: Fri, 20 Feb 2015 09:39:38 +0000
>  Subject: [PATCH] Avoid using libdir from .la which usually points to a host
> diff --git 
> a/meta/recipes-devtools/gcc/gcc/0013-Ensure-target-gcc-headers-can-be-included.patch
>  
> b/meta/recipes-devtools/gcc/gcc/0013-Ensure-target-gcc-headers-can-be-included.patch
> index cee447b310..10788d9234 100644
> --- 
> a/meta/recipes-devtools/gcc/gcc/0013-Ensure-target-gcc-headers-can-be-included.patch
> +++ 
> b/meta/recipes-devtools/gcc/gcc/0013-Ensure-target-gcc-headers-can-be-included.patch
> @@ -1,4 +1,4 @@
> -From 612801d426e75ff997cfabda380dbe52c2cbc532 Mon Sep 17 00:00:00 2001
> +From 93ad7cf3ff92771451c2994cab45e34a0c8574a0 Mon Sep 17 00:00:00 2001
>  From: Khem Raj <[email protected]>
>  Date: Fri, 20 Feb 2015 10:25:11 +0000
>  Subject: [PATCH] Ensure target gcc headers can be included
> @@ -25,10 +25,10 @@ Signed-off-by: Khem Raj <[email protected]>
>   4 files changed, 22 insertions(+)
>  
>  diff --git a/gcc/Makefile.in b/gcc/Makefile.in
> -index a8277254696..07fa63b6640 100644
> +index fe636af3f63..065ce7e9a5b 100644
>  --- a/gcc/Makefile.in
>  +++ b/gcc/Makefile.in
> -@@ -632,6 +632,7 @@ libexecdir = @libexecdir@
> +@@ -640,6 +640,7 @@ libexecdir = @libexecdir@
>   
>   # Directory in which the compiler finds libraries etc.
>   libsubdir = 
> $(libdir)/gcc/$(real_target_noncanonical)/$(version)$(accel_dir_suffix)
> @@ -36,7 +36,7 @@ index a8277254696..07fa63b6640 100644
>   # Directory in which the compiler finds executables
>   libexecsubdir = 
> $(libexecdir)/gcc/$(real_target_noncanonical)/$(version)$(accel_dir_suffix)
>   # Directory in which all plugin resources are installed
> -@@ -3024,6 +3025,7 @@ CFLAGS-intl.o += -DLOCALEDIR=\"$(localedir)\"
> +@@ -3059,6 +3060,7 @@ CFLAGS-intl.o += -DLOCALEDIR=\"$(localedir)\"
>   
>   PREPROCESSOR_DEFINES = \
>     -DGCC_INCLUDE_DIR=\"$(libsubdir)/include\" \
> @@ -45,10 +45,10 @@ index a8277254696..07fa63b6640 100644
>     -DGPLUSPLUS_INCLUDE_DIR=\"$(gcc_gxx_include_dir)\" \
>     -DGPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT=$(gcc_gxx_include_dir_add_sysroot) \
>  diff --git a/gcc/config/linux.h b/gcc/config/linux.h
> -index 4ce173384ef..8a3cd4f2d34 100644
> +index 6491c6b84f5..57496ff1f2f 100644
>  --- a/gcc/config/linux.h
>  +++ b/gcc/config/linux.h
> -@@ -170,6 +170,13 @@ see the files COPYING3 and COPYING.RUNTIME 
> respectively.  If not, see
> +@@ -157,6 +157,13 @@ see the files COPYING3 and COPYING.RUNTIME 
> respectively.  If not, see
>   #define INCLUDE_DEFAULTS_MUSL_TOOL
>   #endif
>   
> @@ -62,7 +62,7 @@ index 4ce173384ef..8a3cd4f2d34 100644
>   #ifdef NATIVE_SYSTEM_HEADER_DIR
>   #define INCLUDE_DEFAULTS_MUSL_NATIVE                        \
>       { NATIVE_SYSTEM_HEADER_DIR, 0, 0, 0, 1, 2 },    \
> -@@ -196,6 +203,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. 
>  If not, see
> +@@ -183,6 +190,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. 
>  If not, see
>       INCLUDE_DEFAULTS_MUSL_PREFIX                    \
>       INCLUDE_DEFAULTS_MUSL_CROSS                             \
>       INCLUDE_DEFAULTS_MUSL_TOOL                              \
> @@ -71,10 +71,10 @@ index 4ce173384ef..8a3cd4f2d34 100644
>       { GCC_INCLUDE_DIR, "GCC", 0, 1, 0, 0 },         \
>       { 0, 0, 0, 0, 0, 0 }                            \
>  diff --git a/gcc/config/rs6000/sysv4.h b/gcc/config/rs6000/sysv4.h
> -index a73954d9de5..e5dd6538358 100644
> +index 26db003cb3a..3a443abcf6b 100644
>  --- a/gcc/config/rs6000/sysv4.h
>  +++ b/gcc/config/rs6000/sysv4.h
> -@@ -994,6 +994,13 @@ ncrtn.o%s"
> +@@ -986,6 +986,13 @@ ncrtn.o%s"
>   #define INCLUDE_DEFAULTS_MUSL_TOOL
>   #endif
>   
> @@ -88,7 +88,7 @@ index a73954d9de5..e5dd6538358 100644
>   #ifdef NATIVE_SYSTEM_HEADER_DIR
>   #define INCLUDE_DEFAULTS_MUSL_NATIVE                        \
>       { NATIVE_SYSTEM_HEADER_DIR, 0, 0, 0, 1, 2 },    \
> -@@ -1020,6 +1027,7 @@ ncrtn.o%s"
> +@@ -1012,6 +1019,7 @@ ncrtn.o%s"
>       INCLUDE_DEFAULTS_MUSL_PREFIX                    \
>       INCLUDE_DEFAULTS_MUSL_CROSS                             \
>       INCLUDE_DEFAULTS_MUSL_TOOL                              \
> @@ -97,7 +97,7 @@ index a73954d9de5..e5dd6538358 100644
>       { GCC_INCLUDE_DIR, "GCC", 0, 1, 0, 0 },         \
>       { 0, 0, 0, 0, 0, 0 }                            \
>  diff --git a/gcc/cppdefault.cc b/gcc/cppdefault.cc
> -index 7888300f277..52cf14e92f8 100644
> +index 141bb4d25f6..734590a7059 100644
>  --- a/gcc/cppdefault.cc
>  +++ b/gcc/cppdefault.cc
>  @@ -64,6 +64,10 @@ const struct default_include cpp_include_defaults[]
> diff --git 
> a/meta/recipes-devtools/gcc/gcc/0014-Don-t-search-host-directory-during-relink-if-inst_pr.patch
>  
> b/meta/recipes-devtools/gcc/gcc/0014-Don-t-search-host-directory-during-relink-if-inst_pr.patch
> index 94308b2aca..5de0e3e982 100644
> --- 
> a/meta/recipes-devtools/gcc/gcc/0014-Don-t-search-host-directory-during-relink-if-inst_pr.patch
> +++ 
> b/meta/recipes-devtools/gcc/gcc/0014-Don-t-search-host-directory-during-relink-if-inst_pr.patch
> @@ -1,4 +1,4 @@
> -From 9ae49e7b88c208ab79ec9c2fc4a2fa8a3f1e85bb Mon Sep 17 00:00:00 2001
> +From e0775b77b8d10066e27ab89d15441b39024a29fd Mon Sep 17 00:00:00 2001
>  From: Khem Raj <[email protected]>
>  Date: Tue, 3 Mar 2015 08:21:19 +0000
>  Subject: [PATCH] Don't search host directory during "relink" if $inst_prefix
> diff --git 
> a/meta/recipes-devtools/gcc/gcc/0015-libcc1-fix-libcc1-s-install-path-and-rpath.patch
>  
> b/meta/recipes-devtools/gcc/gcc/0015-libcc1-fix-libcc1-s-install-path-and-rpath.patch
> index ce9635ce4d..f1eee4a833 100644
> --- 
> a/meta/recipes-devtools/gcc/gcc/0015-libcc1-fix-libcc1-s-install-path-and-rpath.patch
> +++ 
> b/meta/recipes-devtools/gcc/gcc/0015-libcc1-fix-libcc1-s-install-path-and-rpath.patch
> @@ -1,4 +1,4 @@
> -From bf918db7117f41d3c04162095641165ca241707d Mon Sep 17 00:00:00 2001
> +From 7776c630e2560bacff7d1e9b04e7916ed4c05d00 Mon Sep 17 00:00:00 2001
>  From: Robert Yang <[email protected]>
>  Date: Sun, 5 Jul 2015 20:25:18 -0700
>  Subject: [PATCH] libcc1: fix libcc1's install path and rpath
> @@ -20,7 +20,7 @@ Signed-off-by: Robert Yang <[email protected]>
>   2 files changed, 4 insertions(+), 4 deletions(-)
>  
>  diff --git a/libcc1/Makefile.am b/libcc1/Makefile.am
> -index 6e3a34ff7e2..3f3f6391aba 100644
> +index 921a33fe236..938e6f964cd 100644
>  --- a/libcc1/Makefile.am
>  +++ b/libcc1/Makefile.am
>  @@ -40,8 +40,8 @@ libiberty = $(if $(wildcard 
> $(libiberty_noasan)),$(Wc)$(libiberty_noasan), \
> diff --git 
> a/meta/recipes-devtools/gcc/gcc/0016-handle-sysroot-support-for-nativesdk-gcc.patch
>  
> b/meta/recipes-devtools/gcc/gcc/0016-handle-sysroot-support-for-nativesdk-gcc.patch
> index 3b54719536..e05fd4e6a2 100644
> --- 
> a/meta/recipes-devtools/gcc/gcc/0016-handle-sysroot-support-for-nativesdk-gcc.patch
> +++ 
> b/meta/recipes-devtools/gcc/gcc/0016-handle-sysroot-support-for-nativesdk-gcc.patch
> @@ -1,4 +1,4 @@
> -From 4fbbd40d7db89cdbeaf93df1e1da692b1f80a5bc Mon Sep 17 00:00:00 2001
> +From 4f9c952ad5fa68260d6a40570b0fdb7359c85057 Mon Sep 17 00:00:00 2001
>  From: Khem Raj <[email protected]>
>  Date: Mon, 7 Dec 2015 23:39:54 +0000
>  Subject: [PATCH] handle sysroot support for nativesdk-gcc
> @@ -38,15 +38,15 @@ Signed-off-by: Mark Hatle <[email protected]>
>   gcc/c-family/c-opts.cc    |  4 +--
>   gcc/config/linux.h        | 24 +++++++--------
>   gcc/config/rs6000/sysv4.h | 24 +++++++--------
> - gcc/cppdefault.cc         | 63 ++++++++++++++++++++++++---------------
> - gcc/cppdefault.h          | 13 ++++----
> - gcc/gcc.cc                | 20 +++++++++----
> + gcc/cppdefault.cc         | 65 ++++++++++++++++++++++++---------------
> + gcc/cppdefault.h          | 13 +++-----
> + gcc/gcc.cc                | 20 ++++++++----
>   gcc/incpath.cc            | 12 ++++----
>   gcc/prefix.cc             |  6 ++--
> - 8 files changed, 94 insertions(+), 72 deletions(-)
> + 8 files changed, 95 insertions(+), 73 deletions(-)
>  
>  diff --git a/gcc/c-family/c-opts.cc b/gcc/c-family/c-opts.cc
> -index a341a061758..83b0bef4dbb 100644
> +index c68a2a27469..77e9b5eceaa 100644
>  --- a/gcc/c-family/c-opts.cc
>  +++ b/gcc/c-family/c-opts.cc
>  @@ -1458,8 +1458,8 @@ add_prefixed_path (const char *suffix, incpath_kind 
> chain)
> @@ -61,10 +61,10 @@ index a341a061758..83b0bef4dbb 100644
>     path = (char *) xmalloc (prefix_len + suffix_len + 1);
>     memcpy (path, prefix, prefix_len);
>  diff --git a/gcc/config/linux.h b/gcc/config/linux.h
> -index 8a3cd4f2d34..58143dff731 100644
> +index 57496ff1f2f..c921cf6ef63 100644
>  --- a/gcc/config/linux.h
>  +++ b/gcc/config/linux.h
> -@@ -134,53 +134,53 @@ see the files COPYING3 and COPYING.RUNTIME 
> respectively.  If not, see
> +@@ -121,53 +121,53 @@ see the files COPYING3 and COPYING.RUNTIME 
> respectively.  If not, see
>    * Unfortunately, this is mostly duplicated from cppdefault.cc */
>   #if DEFAULT_LIBC == LIBC_MUSL
>   #define INCLUDE_DEFAULTS_MUSL_GPP                   \
> @@ -129,7 +129,7 @@ index 8a3cd4f2d34..58143dff731 100644
>   #else
>   #define INCLUDE_DEFAULTS_MUSL_NATIVE
>   #endif
> -@@ -205,7 +205,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. 
>  If not, see
> +@@ -192,7 +192,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. 
>  If not, see
>       INCLUDE_DEFAULTS_MUSL_TOOL                              \
>       INCLUDE_DEFAULTS_MUSL_SUBDIR_TARGET                     \
>       INCLUDE_DEFAULTS_MUSL_NATIVE                    \
> @@ -139,10 +139,10 @@ index 8a3cd4f2d34..58143dff731 100644
>     }
>   #endif
>  diff --git a/gcc/config/rs6000/sysv4.h b/gcc/config/rs6000/sysv4.h
> -index e5dd6538358..b496849b792 100644
> +index 3a443abcf6b..ef83a5a432e 100644
>  --- a/gcc/config/rs6000/sysv4.h
>  +++ b/gcc/config/rs6000/sysv4.h
> -@@ -958,53 +958,53 @@ ncrtn.o%s"
> +@@ -950,53 +950,53 @@ ncrtn.o%s"
>   /* Include order changes for musl, same as in generic linux.h.  */
>   #if DEFAULT_LIBC == LIBC_MUSL
>   #define INCLUDE_DEFAULTS_MUSL_GPP                   \
> @@ -207,7 +207,7 @@ index e5dd6538358..b496849b792 100644
>   #else
>   #define INCLUDE_DEFAULTS_MUSL_NATIVE
>   #endif
> -@@ -1029,7 +1029,7 @@ ncrtn.o%s"
> +@@ -1021,7 +1021,7 @@ ncrtn.o%s"
>       INCLUDE_DEFAULTS_MUSL_TOOL                              \
>       INCLUDE_DEFAULTS_MUSL_SUBDIR_TARGET                     \
>       INCLUDE_DEFAULTS_MUSL_NATIVE                    \
> @@ -217,7 +217,7 @@ index e5dd6538358..b496849b792 100644
>     }
>   #endif
>  diff --git a/gcc/cppdefault.cc b/gcc/cppdefault.cc
> -index 52cf14e92f8..d8977afc05e 100644
> +index 734590a7059..b4a8fc29e4a 100644
>  --- a/gcc/cppdefault.cc
>  +++ b/gcc/cppdefault.cc
>  @@ -35,6 +35,30 @@
> @@ -272,7 +272,7 @@ index 52cf14e92f8..d8977afc05e 100644
>         GPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT, 0 },
>   #endif
>   #ifdef GPLUSPLUS_LIBCXX_INCLUDE_DIR
> -@@ -62,23 +86,23 @@ const struct default_include cpp_include_defaults[]
> +@@ -62,26 +86,26 @@ const struct default_include cpp_include_defaults[]
>   #endif
>   #ifdef GCC_INCLUDE_DIR
>       /* This is the dir for gcc's private headers.  */
> @@ -297,12 +297,16 @@ index 52cf14e92f8..d8977afc05e 100644
>   #endif
>   #ifdef FIXED_INCLUDE_DIR
>       /* This is the dir for fixincludes.  */
> + #ifndef SYSROOT_HEADERS_SUFFIX_SPEC
> +-    { FIXED_INCLUDE_DIR, "GCC", 0, 0, 0, 2 },
> ++    { FIXED_INCLUDE_DIRVAR, "GCC", 0, 0, 0, 2 },
> + #endif
>  -    { FIXED_INCLUDE_DIR, "GCC", 0, 0, 0,
>  +    { FIXED_INCLUDE_DIRVAR, "GCC", 0, 0, 0,
>         /* A multilib suffix needs adding if different multilibs use
>        different headers.  */
>   #ifdef SYSROOT_HEADERS_SUFFIX_SPEC
> -@@ -90,33 +114,24 @@ const struct default_include cpp_include_defaults[]
> +@@ -93,33 +117,24 @@ const struct default_include cpp_include_defaults[]
>   #endif
>   #ifdef CROSS_INCLUDE_DIR
>       /* One place the target system's headers might be.  */
> @@ -343,7 +347,7 @@ index 52cf14e92f8..d8977afc05e 100644
>   /* This value is set by cpp_relocated at runtime */
>   const char *gcc_exec_prefix;
>  diff --git a/gcc/cppdefault.h b/gcc/cppdefault.h
> -index fb97c0b5814..6267150facc 100644
> +index e26b424e99c..c9abb090dcd 100644
>  --- a/gcc/cppdefault.h
>  +++ b/gcc/cppdefault.h
>  @@ -33,7 +33,8 @@
> @@ -378,10 +382,10 @@ index fb97c0b5814..6267150facc 100644
>      subdirectory of the actual installation.  */
>   extern const char *gcc_exec_prefix;
>  diff --git a/gcc/gcc.cc b/gcc/gcc.cc
> -index aa4cf92fb78..5569a39a14a 100644
> +index 8af0c814c33..605fe3b8c0d 100644
>  --- a/gcc/gcc.cc
>  +++ b/gcc/gcc.cc
> -@@ -252,6 +252,8 @@ FILE *report_times_to_file = NULL;
> +@@ -255,6 +255,8 @@ FILE *report_times_to_file = NULL;
>   #endif
>   static const char *target_system_root = DEFAULT_TARGET_SYSTEM_ROOT;
>   
> @@ -390,7 +394,7 @@ index aa4cf92fb78..5569a39a14a 100644
>   /* Nonzero means pass the updated target_system_root to the compiler.  */
>   
>   static int target_system_root_changed;
> -@@ -575,6 +577,7 @@ or with constant text in a single argument.
> +@@ -578,6 +580,7 @@ or with constant text in a single argument.
>    %G     process LIBGCC_SPEC as a spec.
>    %R     Output the concatenation of target_system_root and
>           target_sysroot_suffix.
> @@ -398,7 +402,7 @@ index aa4cf92fb78..5569a39a14a 100644
>    %S     process STARTFILE_SPEC as a spec.  A capital S is actually used 
> here.
>    %E     process ENDFILE_SPEC as a spec.  A capital E is actually used here.
>    %C     process CPP_SPEC as a spec.
> -@@ -1627,10 +1630,10 @@ static const char *gcc_libexec_prefix;
> +@@ -1619,10 +1622,10 @@ static const char *gcc_libexec_prefix;
>      gcc_exec_prefix is set because, in that case, we know where the
>      compiler has been installed, and use paths relative to that
>      location instead.  */
> @@ -413,7 +417,7 @@ index aa4cf92fb78..5569a39a14a 100644
>   
>   /* For native compilers, these are well-known paths containing
>      components that may be provided by the system.  For cross
> -@@ -1638,9 +1641,9 @@ static const char *const standard_startfile_prefix = 
> STANDARD_STARTFILE_PREFIX;
> +@@ -1630,9 +1633,9 @@ static const char *const standard_startfile_prefix = 
> STANDARD_STARTFILE_PREFIX;
>   static const char *md_exec_prefix = MD_EXEC_PREFIX;
>   static const char *md_startfile_prefix = MD_STARTFILE_PREFIX;
>   static const char *md_startfile_prefix_1 = MD_STARTFILE_PREFIX_1;
> @@ -425,7 +429,7 @@ index aa4cf92fb78..5569a39a14a 100644
>     = STANDARD_STARTFILE_PREFIX_2;
>   
>   /* A relative path to be used in finding the location of tools
> -@@ -6676,6 +6679,11 @@ do_spec_1 (const char *spec, int inswitch, const char 
> *soft_matched_part)
> +@@ -6652,6 +6655,11 @@ do_spec_1 (const char *spec, int inswitch, const char 
> *soft_matched_part)
>             }
>           break;
>   
> @@ -438,7 +442,7 @@ index aa4cf92fb78..5569a39a14a 100644
>           value = do_spec_1 (startfile_spec, 0, NULL);
>           if (value != 0)
>  diff --git a/gcc/incpath.cc b/gcc/incpath.cc
> -index c80f100f476..5ac03c08693 100644
> +index 46c0d543205..d088dae7b04 100644
>  --- a/gcc/incpath.cc
>  +++ b/gcc/incpath.cc
>  @@ -135,7 +135,7 @@ add_standard_paths (const char *sysroot, const char 
> *iprefix,
> @@ -485,10 +489,10 @@ index c80f100f476..5ac03c08693 100644
>             str = update_path (ostr, p->component);
>             free (ostr);
>  diff --git a/gcc/prefix.cc b/gcc/prefix.cc
> -index 096ed5afa3d..2526f0ecc39 100644
> +index c2a37bde5ea..33944701ced 100644
>  --- a/gcc/prefix.cc
>  +++ b/gcc/prefix.cc
> -@@ -72,7 +72,9 @@ License along with GCC; see the file COPYING3.  If not see
> +@@ -73,7 +73,9 @@ License along with GCC; see the file COPYING3.  If not see
>   #include "prefix.h"
>   #include "common/common-target.h"
>   
> @@ -499,7 +503,7 @@ index 096ed5afa3d..2526f0ecc39 100644
>   
>   static const char *get_key_value (char *);
>   static char *translate_name (char *);
> -@@ -212,7 +214,7 @@ translate_name (char *name)
> +@@ -213,7 +215,7 @@ translate_name (char *name)
>       prefix = getenv (key);
>   
>         if (prefix == 0)
> diff --git 
> a/meta/recipes-devtools/gcc/gcc/0017-Search-target-sysroot-gcc-version-specific-dirs-with.patch
>  
> b/meta/recipes-devtools/gcc/gcc/0017-Search-target-sysroot-gcc-version-specific-dirs-with.patch
> index 6fca63a494..635a42e4f5 100644
> --- 
> a/meta/recipes-devtools/gcc/gcc/0017-Search-target-sysroot-gcc-version-specific-dirs-with.patch
> +++ 
> b/meta/recipes-devtools/gcc/gcc/0017-Search-target-sysroot-gcc-version-specific-dirs-with.patch
> @@ -1,4 +1,4 @@
> -From 33a1f07a4417247dc24819d4e583ca09f56d5a7b Mon Sep 17 00:00:00 2001
> +From 0058f8a2233d9e96e39d09f4d994da3c96f9e030 Mon Sep 17 00:00:00 2001
>  From: Khem Raj <[email protected]>
>  Date: Mon, 7 Dec 2015 23:41:45 +0000
>  Subject: [PATCH] Search target sysroot gcc version specific dirs with
> @@ -42,19 +42,20 @@ binaries can be found first. With this change the search 
> path becomes:
>  <sysroot>/lib32/
>  <sysroot>/usr/lib32/
>  
> -Upstream-Status: Submitted 
> [https://gcc.gnu.org/pipermail/gcc-patches/2023-April/615320.html]
>  RP 2015/7/31
>  
> +Upstream-Status: Submitted 
> [https://gcc.gnu.org/pipermail/gcc-patches/2023-April/615320.html]
> +
>  Signed-off-by: Khem Raj <[email protected]>
>  ---
>   gcc/gcc.cc | 29 ++++++++++++++++++++++++++++-
>   1 file changed, 28 insertions(+), 1 deletion(-)
>  
>  diff --git a/gcc/gcc.cc b/gcc/gcc.cc
> -index 5569a39a14a..4598f6cd7c9 100644
> +index 605fe3b8c0d..c3a1dab38c4 100644
>  --- a/gcc/gcc.cc
>  +++ b/gcc/gcc.cc
> -@@ -2817,7 +2817,7 @@ for_each_path (const struct path_prefix *paths,
> +@@ -2809,7 +2809,7 @@ for_each_path (const struct path_prefix *paths,
>         if (path == NULL)
>       {
>         len = paths->max_len + extra_space + 1;
> @@ -63,7 +64,7 @@ index 5569a39a14a..4598f6cd7c9 100644
>         path = XNEWVEC (char, len);
>       }
>   
> -@@ -2829,6 +2829,33 @@ for_each_path (const struct path_prefix *paths,
> +@@ -2821,6 +2821,33 @@ for_each_path (const struct path_prefix *paths,
>         /* Look first in MACHINE/VERSION subdirectory.  */
>         if (!skip_multi_dir)
>           {
> diff --git 
> a/meta/recipes-devtools/gcc/gcc/0018-Add-ssp_nonshared-to-link-commandline-for-musl-targe.patch
>  
> b/meta/recipes-devtools/gcc/gcc/0018-Add-ssp_nonshared-to-link-commandline-for-musl-targe.patch
> index b4b820b22c..06eb230509 100644
> --- 
> a/meta/recipes-devtools/gcc/gcc/0018-Add-ssp_nonshared-to-link-commandline-for-musl-targe.patch
> +++ 
> b/meta/recipes-devtools/gcc/gcc/0018-Add-ssp_nonshared-to-link-commandline-for-musl-targe.patch
> @@ -1,4 +1,4 @@
> -From d7dc2861840e88a4592817a398a054a886c3f3ee Mon Sep 17 00:00:00 2001
> +From 0a194b74f0f171b46527ff447c27fbf32406333d Mon Sep 17 00:00:00 2001
>  From: Khem Raj <[email protected]>
>  Date: Tue, 27 Jun 2017 18:10:54 -0700
>  Subject: [PATCH] Add ssp_nonshared to link commandline for musl targets
> @@ -23,10 +23,10 @@ Signed-off-by: Khem Raj <[email protected]>
>   3 files changed, 27 insertions(+)
>  
>  diff --git a/gcc/config/linux.h b/gcc/config/linux.h
> -index 58143dff731..d2409ccac26 100644
> +index c921cf6ef63..32e1bc1ae2d 100644
>  --- a/gcc/config/linux.h
>  +++ b/gcc/config/linux.h
> -@@ -208,6 +208,13 @@ see the files COPYING3 and COPYING.RUNTIME 
> respectively.  If not, see
> +@@ -195,6 +195,13 @@ see the files COPYING3 and COPYING.RUNTIME 
> respectively.  If not, see
>       { GCC_INCLUDE_DIRVAR, "GCC", 0, 1, 0, 0 },              \
>       { 0, 0, 0, 0, 0, 0 }                            \
>     }
> @@ -41,7 +41,7 @@ index 58143dff731..d2409ccac26 100644
>   
>   #if (DEFAULT_LIBC == LIBC_UCLIBC) && defined (SINGLE_LIBC) /* uClinux */
>  diff --git a/gcc/config/rs6000/linux.h b/gcc/config/rs6000/linux.h
> -index 8c9039ac1e5..259cd485973 100644
> +index 5d21befe8e4..1248a68e4ca 100644
>  --- a/gcc/config/rs6000/linux.h
>  +++ b/gcc/config/rs6000/linux.h
>  @@ -99,6 +99,16 @@
> @@ -62,7 +62,7 @@ index 8c9039ac1e5..259cd485973 100644
>   #define LINK_OS_LINUX_SPEC LINK_OS_LINUX_EMUL " %{!shared: %{!static: \
>     %{!static-pie: \
>  diff --git a/gcc/config/rs6000/linux64.h b/gcc/config/rs6000/linux64.h
> -index 364c1a5b155..e33d9ae98e0 100644
> +index 2ddab7c99c1..9641580fc83 100644
>  --- a/gcc/config/rs6000/linux64.h
>  +++ b/gcc/config/rs6000/linux64.h
>  @@ -372,6 +372,16 @@ extern int dot_symbols;
> diff --git 
> a/meta/recipes-devtools/gcc/gcc/0019-Re-introduce-spe-commandline-options.patch
>  
> b/meta/recipes-devtools/gcc/gcc/0019-Re-introduce-spe-commandline-options.patch
> index bb1699be25..409dff3b7e 100644
> --- 
> a/meta/recipes-devtools/gcc/gcc/0019-Re-introduce-spe-commandline-options.patch
> +++ 
> b/meta/recipes-devtools/gcc/gcc/0019-Re-introduce-spe-commandline-options.patch
> @@ -1,4 +1,4 @@
> -From bf0d7c463e1fab62804556099b56319fe94be1eb Mon Sep 17 00:00:00 2001
> +From 0b83874fd8e767248adffd616bcd07aa438b6905 Mon Sep 17 00:00:00 2001
>  From: Khem Raj <[email protected]>
>  Date: Wed, 6 Jun 2018 12:10:22 -0700
>  Subject: [PATCH] Re-introduce spe commandline options
> @@ -14,10 +14,10 @@ Signed-off-by: Khem Raj <[email protected]>
>   1 file changed, 13 insertions(+)
>  
>  diff --git a/gcc/config/rs6000/rs6000.opt b/gcc/config/rs6000/rs6000.opt
> -index 4931d781c4e..3fb87b6f7d5 100644
> +index bde6d3ff664..5af9640825c 100644
>  --- a/gcc/config/rs6000/rs6000.opt
>  +++ b/gcc/config/rs6000/rs6000.opt
> -@@ -348,6 +348,19 @@ mdebug=
> +@@ -344,6 +344,19 @@ mdebug=
>   Target RejectNegative Joined
>   -mdebug=    Enable debug output.
>   
> diff --git 
> a/meta/recipes-devtools/gcc/gcc/0020-libgcc_s-Use-alias-for-__cpu_indicator_init-instead-.patch
>  
> b/meta/recipes-devtools/gcc/gcc/0020-libgcc_s-Use-alias-for-__cpu_indicator_init-instead-.patch
> index 7ee0342d87..25bcb86685 100644
> --- 
> a/meta/recipes-devtools/gcc/gcc/0020-libgcc_s-Use-alias-for-__cpu_indicator_init-instead-.patch
> +++ 
> b/meta/recipes-devtools/gcc/gcc/0020-libgcc_s-Use-alias-for-__cpu_indicator_init-instead-.patch
> @@ -1,4 +1,4 @@
> -From a32c75b37209d6836eaaa943dc6b1207acba5d27 Mon Sep 17 00:00:00 2001
> +From d8b6f60d1206a67c640096bac3b348828914163c Mon Sep 17 00:00:00 2001
>  From: Szabolcs Nagy <[email protected]>
>  Date: Sat, 24 Oct 2015 20:09:53 +0000
>  Subject: [PATCH] libgcc_s: Use alias for __cpu_indicator_init instead of
> @@ -39,10 +39,10 @@ Signed-off-by: Khem Raj <[email protected]>
>   3 files changed, 6 insertions(+), 6 deletions(-)
>  
>  diff --git a/gcc/config/i386/i386-expand.cc b/gcc/config/i386/i386-expand.cc
> -index 68978ef8dc2..0c71f36b572 100644
> +index 0d817fc3f3b..8d34d19d3f9 100644
>  --- a/gcc/config/i386/i386-expand.cc
>  +++ b/gcc/config/i386/i386-expand.cc
> -@@ -12321,10 +12321,10 @@ ix86_expand_builtin (tree exp, rtx target, rtx 
> subtarget,
> +@@ -12691,10 +12691,10 @@ ix86_expand_builtin (tree exp, rtx target, rtx 
> subtarget,
>       {
>       case IX86_BUILTIN_CPU_INIT:
>         {
> @@ -56,7 +56,7 @@ index 68978ef8dc2..0c71f36b572 100644
>       return expand_expr (call_expr, target, mode, EXPAND_NORMAL);
>         }
>  diff --git a/libgcc/config/i386/cpuinfo.c b/libgcc/config/i386/cpuinfo.c
> -index dab1d98060f..cf824b4114a 100644
> +index 50b6d8248a2..724ced402a1 100644
>  --- a/libgcc/config/i386/cpuinfo.c
>  +++ b/libgcc/config/i386/cpuinfo.c
>  @@ -63,7 +63,7 @@ __cpu_indicator_init (void)
> diff --git 
> a/meta/recipes-devtools/gcc/gcc/0021-gentypes-genmodes-Do-not-use-__LINE__-for-maintainin.patch
>  
> b/meta/recipes-devtools/gcc/gcc/0021-gentypes-genmodes-Do-not-use-__LINE__-for-maintainin.patch
> index f5f04ae314..43df7fcb71 100644
> --- 
> a/meta/recipes-devtools/gcc/gcc/0021-gentypes-genmodes-Do-not-use-__LINE__-for-maintainin.patch
> +++ 
> b/meta/recipes-devtools/gcc/gcc/0021-gentypes-genmodes-Do-not-use-__LINE__-for-maintainin.patch
> @@ -1,4 +1,4 @@
> -From 4efc42b99c96b026f560b0918de7e237ac3dc8d1 Mon Sep 17 00:00:00 2001
> +From 18f400d6c91b800361af633b6b93a9e5881bbb0f Mon Sep 17 00:00:00 2001
>  From: Richard Purdie <[email protected]>
>  Date: Tue, 10 Mar 2020 08:26:53 -0700
>  Subject: [PATCH] gentypes/genmodes: Do not use __LINE__ for maintaining
> @@ -17,10 +17,10 @@ Signed-off-by: Khem Raj <[email protected]>
>   2 files changed, 19 insertions(+), 19 deletions(-)
>  
>  diff --git a/gcc/gengtype.cc b/gcc/gengtype.cc
> -index 386ae1b0506..9762e914296 100644
> +index 7763f40e9ab..4f0c1eb1508 100644
>  --- a/gcc/gengtype.cc
>  +++ b/gcc/gengtype.cc
> -@@ -1006,7 +1006,7 @@ create_field_at (pair_p next, type_p type, const char 
> *name, options_p opt,
> +@@ -1005,7 +1005,7 @@ create_field_at (pair_p next, type_p type, const char 
> *name, options_p opt,
>   /* Create a fake field with the given type and name.  NEXT is the next
>      field in the chain.  */
>   #define create_field(next,type,name) \
> @@ -29,7 +29,7 @@ index 386ae1b0506..9762e914296 100644
>   
>   /* Like create_field, but the field is only valid when condition COND
>      is true.  */
> -@@ -1039,7 +1039,7 @@ create_optional_field_ (pair_p next, type_p type, 
> const char *name,
> +@@ -1038,7 +1038,7 @@ create_optional_field_ (pair_p next, type_p type, 
> const char *name,
>   }
>   
>   #define create_optional_field(next,type,name,cond)  \
> @@ -38,7 +38,7 @@ index 386ae1b0506..9762e914296 100644
>   
>   /* Reverse a linked list of 'struct pair's in place.  */
>   pair_p
> -@@ -5238,7 +5238,7 @@ main (int argc, char **argv)
> +@@ -5223,7 +5223,7 @@ main (int argc, char **argv)
>         /* These types are set up with #define or else outside of where
>            we can see them.  We should initialize them before calling
>            read_input_list.  */
> @@ -48,10 +48,10 @@ index 386ae1b0506..9762e914296 100644
>         POS_HERE (do_scalar_typedef ("CUMULATIVE_ARGS", &pos));
>         POS_HERE (do_scalar_typedef ("REAL_VALUE_TYPE", &pos));
>  diff --git a/gcc/genmodes.cc b/gcc/genmodes.cc
> -index 59850bb070a..e187f8542a1 100644
> +index 715787b8f48..302adff28d5 100644
>  --- a/gcc/genmodes.cc
>  +++ b/gcc/genmodes.cc
> -@@ -440,7 +440,7 @@ complete_all_modes (void)
> +@@ -441,7 +441,7 @@ complete_all_modes (void)
>   }
>   
>   /* For each mode in class CLASS, construct a corresponding complex mode.  */
> @@ -60,7 +60,7 @@ index 59850bb070a..e187f8542a1 100644
>   static void
>   make_complex_modes (enum mode_class cl,
>                   const char *file, unsigned int line)
> -@@ -499,7 +499,7 @@ make_complex_modes (enum mode_class cl,
> +@@ -500,7 +500,7 @@ make_complex_modes (enum mode_class cl,
>      having as many components as necessary.  ORDER is the sorting order
>      of the mode, with smaller numbers indicating a higher priority.  */
>   #define VECTOR_MODES_WITH_PREFIX(PREFIX, C, W, ORDER) \
> @@ -69,7 +69,7 @@ index 59850bb070a..e187f8542a1 100644
>   #define VECTOR_MODES(C, W) VECTOR_MODES_WITH_PREFIX (V, C, W, 0)
>   static void ATTRIBUTE_UNUSED
>   make_vector_modes (enum mode_class cl, const char *prefix, unsigned int 
> width,
> -@@ -552,7 +552,7 @@ make_vector_modes (enum mode_class cl, const char 
> *prefix, unsigned int width,
> +@@ -553,7 +553,7 @@ make_vector_modes (enum mode_class cl, const char 
> *prefix, unsigned int width,
>      BYTESIZE bytes in total.  */
>   #define VECTOR_BOOL_MODE(NAME, COUNT, COMPONENT, BYTESIZE)          \
>     make_vector_bool_mode (#NAME, COUNT, #COMPONENT, BYTESIZE,                
> \
> @@ -78,7 +78,7 @@ index 59850bb070a..e187f8542a1 100644
>   static void ATTRIBUTE_UNUSED
>   make_vector_bool_mode (const char *name, unsigned int count,
>                      const char *component, unsigned int bytesize,
> -@@ -574,7 +574,7 @@ make_vector_bool_mode (const char *name, unsigned int 
> count,
> +@@ -575,7 +575,7 @@ make_vector_bool_mode (const char *name, unsigned int 
> count,
>   /* Input.  */
>   
>   #define _SPECIAL_MODE(C, N) \
> @@ -87,7 +87,7 @@ index 59850bb070a..e187f8542a1 100644
>   #define RANDOM_MODE(N) _SPECIAL_MODE (RANDOM, N)
>   #define CC_MODE(N) _SPECIAL_MODE (CC, N)
>   
> -@@ -587,7 +587,7 @@ make_special_mode (enum mode_class cl, const char *name,
> +@@ -588,7 +588,7 @@ make_special_mode (enum mode_class cl, const char *name,
>   
>   #define INT_MODE(N, Y) FRACTIONAL_INT_MODE (N, -1U, Y)
>   #define FRACTIONAL_INT_MODE(N, B, Y) \
> @@ -96,7 +96,7 @@ index 59850bb070a..e187f8542a1 100644
>   
>   static void
>   make_int_mode (const char *name,
> -@@ -628,16 +628,16 @@ make_opaque_mode (const char *name,
> +@@ -629,16 +629,16 @@ make_opaque_mode (const char *name,
>   }
>   
>   #define FRACT_MODE(N, Y, F) \
> @@ -117,7 +117,7 @@ index 59850bb070a..e187f8542a1 100644
>   
>   /* Create a fixed-point mode by setting CL, NAME, BYTESIZE, IBIT, FBIT,
>      FILE, and LINE.  */
> -@@ -658,7 +658,7 @@ make_fixed_point_mode (enum mode_class cl,
> +@@ -659,7 +659,7 @@ make_fixed_point_mode (enum mode_class cl,
>   
>   #define FLOAT_MODE(N, Y, F)             FRACTIONAL_FLOAT_MODE (N, -1U, Y, F)
>   #define FRACTIONAL_FLOAT_MODE(N, B, Y, F) \
> @@ -126,7 +126,7 @@ index 59850bb070a..e187f8542a1 100644
>   
>   static void
>   make_float_mode (const char *name,
> -@@ -675,7 +675,7 @@ make_float_mode (const char *name,
> +@@ -676,7 +676,7 @@ make_float_mode (const char *name,
>   #define DECIMAL_FLOAT_MODE(N, Y, F) \
>       FRACTIONAL_DECIMAL_FLOAT_MODE (N, -1U, Y, F)
>   #define FRACTIONAL_DECIMAL_FLOAT_MODE(N, B, Y, F)   \
> @@ -135,7 +135,7 @@ index 59850bb070a..e187f8542a1 100644
>   
>   static void
>   make_decimal_float_mode (const char *name,
> -@@ -690,7 +690,7 @@ make_decimal_float_mode (const char *name,
> +@@ -691,7 +691,7 @@ make_decimal_float_mode (const char *name,
>   }
>   
>   #define RESET_FLOAT_FORMAT(N, F) \
> @@ -144,7 +144,7 @@ index 59850bb070a..e187f8542a1 100644
>   static void ATTRIBUTE_UNUSED
>   reset_float_format (const char *name, const char *format,
>                   const char *file, unsigned int line)
> -@@ -711,7 +711,7 @@ reset_float_format (const char *name, const char *format,
> +@@ -712,7 +712,7 @@ reset_float_format (const char *name, const char *format,
>   
>   /* __intN support.  */
>   #define INT_N(M,PREC)                               \
> @@ -153,7 +153,7 @@ index 59850bb070a..e187f8542a1 100644
>   static void ATTRIBUTE_UNUSED
>   make_int_n (const char *m, int bitsize,
>               const char *file, unsigned int line)
> -@@ -740,7 +740,7 @@ make_int_n (const char *m, int bitsize,
> +@@ -741,7 +741,7 @@ make_int_n (const char *m, int bitsize,
>   /* Partial integer modes are specified by relation to a full integer
>      mode.  */
>   #define PARTIAL_INT_MODE(M,PREC,NAME)                               \
> @@ -162,7 +162,7 @@ index 59850bb070a..e187f8542a1 100644
>   static void ATTRIBUTE_UNUSED
>   make_partial_integer_mode (const char *base, const char *name,
>                          unsigned int precision,
> -@@ -767,7 +767,7 @@ make_partial_integer_mode (const char *base, const char 
> *name,
> +@@ -768,7 +768,7 @@ make_partial_integer_mode (const char *base, const char 
> *name,
>   /* A single vector mode can be specified by naming its component
>      mode and the number of components.  */
>   #define VECTOR_MODE_WITH_PREFIX(PREFIX, C, M, N, ORDER) \
> @@ -171,7 +171,7 @@ index 59850bb070a..e187f8542a1 100644
>   #define VECTOR_MODE(C, M, N) VECTOR_MODE_WITH_PREFIX(V, C, M, N, 0);
>   static void ATTRIBUTE_UNUSED
>   make_vector_mode (enum mode_class bclass,
> -@@ -814,7 +814,7 @@ make_vector_mode (enum mode_class bclass,
> +@@ -815,7 +815,7 @@ make_vector_mode (enum mode_class bclass,
>   
>   /* Adjustability.  */
>   #define _ADD_ADJUST(A, M, X, C1, C2) \
> diff --git 
> a/meta/recipes-devtools/gcc/gcc/0023-libatomic-Do-not-enforce-march-on-aarch64.patch
>  
> b/meta/recipes-devtools/gcc/gcc/0022-libatomic-Do-not-enforce-march-on-aarch64.patch
> similarity index 81%
> rename from 
> meta/recipes-devtools/gcc/gcc/0023-libatomic-Do-not-enforce-march-on-aarch64.patch
> rename to 
> meta/recipes-devtools/gcc/gcc/0022-libatomic-Do-not-enforce-march-on-aarch64.patch
> index 2f01659847..cb8969b193 100644
> --- 
> a/meta/recipes-devtools/gcc/gcc/0023-libatomic-Do-not-enforce-march-on-aarch64.patch
> +++ 
> b/meta/recipes-devtools/gcc/gcc/0022-libatomic-Do-not-enforce-march-on-aarch64.patch
> @@ -1,4 +1,4 @@
> -From 52931ec7a708b58d68e69ce9eb99001ae9f099dd Mon Sep 17 00:00:00 2001
> +From c3870d073eb9e5d82f9d3067d0fa15038b69713a Mon Sep 17 00:00:00 2001
>  From: Khem Raj <[email protected]>
>  Date: Wed, 13 May 2020 15:10:38 -0700
>  Subject: [PATCH] libatomic: Do not enforce march on aarch64
> @@ -17,7 +17,7 @@ Signed-off-by: Khem Raj <[email protected]>
>   2 files changed, 2 deletions(-)
>  
>  diff --git a/libatomic/Makefile.am b/libatomic/Makefile.am
> -index d88515e4a03..e0e2f8b442a 100644
> +index c6c8d81c56a..d959a5d040e 100644
>  --- a/libatomic/Makefile.am
>  +++ b/libatomic/Makefile.am
>  @@ -125,7 +125,6 @@ libatomic_la_LIBADD = $(foreach s,$(SIZES),$(addsuffix 
> _$(s)_.lo,$(SIZEOBJS)))
> @@ -26,16 +26,16 @@ index d88515e4a03..e0e2f8b442a 100644
>   if ARCH_AARCH64_LINUX
>  -IFUNC_OPTIONS            = -march=armv8-a+lse
>   libatomic_la_LIBADD += $(foreach s,$(SIZES),$(addsuffix 
> _$(s)_1_.lo,$(SIZEOBJS)))
> - endif
> - if ARCH_ARM_LINUX
> + libatomic_la_SOURCES += atomic_16.S
> + 
>  diff --git a/libatomic/Makefile.in b/libatomic/Makefile.in
> -index 80d25653dc7..7377689ab34 100644
> +index a0fa3dfc8cc..e70d389874a 100644
>  --- a/libatomic/Makefile.in
>  +++ b/libatomic/Makefile.in
> -@@ -434,7 +434,6 @@ M_SRC = $(firstword $(filter %/$(M_FILE), 
> $(all_c_files)))
> +@@ -447,7 +447,6 @@ M_SRC = $(firstword $(filter %/$(M_FILE), 
> $(all_c_files)))
>   libatomic_la_LIBADD = $(foreach s,$(SIZES),$(addsuffix \
> -     _$(s)_.lo,$(SIZEOBJS))) $(am__append_1) $(am__append_2) \
> -     $(am__append_3) $(am__append_4)
> +     _$(s)_.lo,$(SIZEOBJS))) $(am__append_1) $(am__append_3) \
> +     $(am__append_4) $(am__append_5)
>  -@ARCH_AARCH64_LINUX_TRUE@@HAVE_IFUNC_TRUE@IFUNC_OPTIONS = -march=armv8-a+lse
>   @ARCH_ARM_LINUX_TRUE@@HAVE_IFUNC_TRUE@IFUNC_OPTIONS = -march=armv7-a+fp 
> -DHAVE_KERNEL64
>   @ARCH_I386_TRUE@@HAVE_IFUNC_TRUE@IFUNC_OPTIONS = -march=i586
> diff --git 
> a/meta/recipes-devtools/gcc/gcc/0024-Fix-install-path-of-linux64.h.patch 
> b/meta/recipes-devtools/gcc/gcc/0023-Fix-install-path-of-linux64.h.patch
> similarity index 85%
> rename from 
> meta/recipes-devtools/gcc/gcc/0024-Fix-install-path-of-linux64.h.patch
> rename to 
> meta/recipes-devtools/gcc/gcc/0023-Fix-install-path-of-linux64.h.patch
> index 555be62328..11f42c59c4 100644
> --- a/meta/recipes-devtools/gcc/gcc/0024-Fix-install-path-of-linux64.h.patch
> +++ b/meta/recipes-devtools/gcc/gcc/0023-Fix-install-path-of-linux64.h.patch
> @@ -1,4 +1,4 @@
> -From 3e67c9c77e46132c252911bf1e5e4222dfd3aa34 Mon Sep 17 00:00:00 2001
> +From 7bd6e631e4a5273f5ecc41a5a48830a1342e5926 Mon Sep 17 00:00:00 2001
>  From: Andrei Gherzan <[email protected]>
>  Date: Wed, 22 Dec 2021 12:49:25 +0100
>  Subject: [PATCH] Fix install path of linux64.h
> @@ -17,10 +17,10 @@ Signed-off-by: Khem Raj <[email protected]>
>   1 file changed, 2 insertions(+)
>  
>  diff --git a/gcc/Makefile.in b/gcc/Makefile.in
> -index 07fa63b6640..0def7394454 100644
> +index 065ce7e9a5b..d4c723968aa 100644
>  --- a/gcc/Makefile.in
>  +++ b/gcc/Makefile.in
> -@@ -3706,6 +3706,8 @@ install-plugin: installdirs lang.install-plugin 
> s-header-vars install-gengtype
> +@@ -3738,6 +3738,8 @@ install-plugin: installdirs lang.install-plugin 
> s-header-vars install-gengtype
>         "$(srcdir)"/config/* | "$(srcdir)"/common/config/* \
>         | "$(srcdir)"/c-family/* | "$(srcdir)"/*.def ) \
>           base=`echo "$$path" | sed -e "s|$$srcdirstrip/||"`;; \
> diff --git 
> a/meta/recipes-devtools/gcc/gcc/0024-Avoid-hardcoded-build-paths-into-ppc-libgcc.patch
>  
> b/meta/recipes-devtools/gcc/gcc/0024-Avoid-hardcoded-build-paths-into-ppc-libgcc.patch
> new file mode 100644
> index 0000000000..ad8269016f
> --- /dev/null
> +++ 
> b/meta/recipes-devtools/gcc/gcc/0024-Avoid-hardcoded-build-paths-into-ppc-libgcc.patch
> @@ -0,0 +1,28 @@
> +From 4623d87d779853a2862ee92a15a41fded81eddb8 Mon Sep 17 00:00:00 2001
> +From: Richard Purdie <[email protected]>
> +Date: Sat, 20 Aug 2022 09:04:14 -0700
> +Subject: [PATCH] Avoid hardcoded build paths into ppc libgcc
> +
> +Avoid encoding build paths into sources used for floating point on powerpc.
> +(MACHINE=qemuppc bitbake libgcc).
> +
> +Upstream-Status: Submitted 
> [https://gcc.gnu.org/pipermail/gcc-patches/2022-August/599882.html]
> +Signed-off-by: Richard Purdie <[email protected]>
> +Signed-off-by: Khem Raj <[email protected]>
> +---
> + libgcc/config/rs6000/t-float128 | 2 +-
> + 1 file changed, 1 insertion(+), 1 deletion(-)
> +
> +diff --git a/libgcc/config/rs6000/t-float128 
> b/libgcc/config/rs6000/t-float128
> +index b09b5664af0..513e63748f1 100644
> +--- a/libgcc/config/rs6000/t-float128
> ++++ b/libgcc/config/rs6000/t-float128
> +@@ -103,7 +103,7 @@ $(ibm128_dec_objs)       : INTERNAL_CFLAGS += 
> $(IBM128_CFLAGS_DECIMAL)
> + $(fp128_softfp_src) : $(srcdir)/soft-fp/$(subst -sw,,$(subst kf,tf,$@)) 
> $(fp128_dep)
> +     @src="$(srcdir)/soft-fp/$(subst -sw,,$(subst kf,tf,$@))"; \
> +     echo "Create $@"; \
> +-    (echo "/* file created from $$src */"; \
> ++    (echo "/* file created from `basename $$src` */"; \
> +      echo; \
> +      sed -f $(fp128_sed) < $$src) > $@
> + 
> diff --git a/meta/recipes-devtools/gcc/gcc/0026-rust-recursion-limit.patch 
> b/meta/recipes-devtools/gcc/gcc/0026-rust-recursion-limit.patch
> deleted file mode 100644
> index bbe2f18f6f..0000000000
> --- a/meta/recipes-devtools/gcc/gcc/0026-rust-recursion-limit.patch
> +++ /dev/null
> @@ -1,92 +0,0 @@
> -From 9234cdca6ee88badfc00297e72f13dac4e540c79 Mon Sep 17 00:00:00 2001
> -From: Nick Clifton <[email protected]>
> -Date: Fri, 1 Jul 2022 15:58:52 +0100
> -Subject: [PATCH] Add a recursion limit to the demangle_const function in the
> - Rust demangler.
> -
> -libiberty/
> -     PR demangler/105039
> -     * rust-demangle.c (demangle_const): Add recursion limit.
> -
> -Upstream-Status: Backport 
> [https://gcc.gnu.org/git/gitweb.cgi?p=gcc.git;h=9234cdca6ee88badfc00297e72f13dac4e540c79]
> ----
> - libiberty/rust-demangle.c | 29 ++++++++++++++++++++---------
> - 1 file changed, 20 insertions(+), 9 deletions(-)
> -
> -diff --git a/libiberty/rust-demangle.c b/libiberty/rust-demangle.c
> -index bb58d900e27..36afcfae278 100644
> ---- a/libiberty/rust-demangle.c
> -+++ b/libiberty/rust-demangle.c
> -@@ -126,7 +126,7 @@ parse_integer_62 (struct rust_demangler *rdm)
> -     return 0;
> - 
> -   x = 0;
> --  while (!eat (rdm, '_'))
> -+  while (!eat (rdm, '_') && !rdm->errored)
> -     {
> -       c = next (rdm);
> -       x *= 62;
> -@@ -1148,6 +1148,15 @@ demangle_const (struct rust_demangler *rdm)
> -   if (rdm->errored)
> -     return;
> - 
> -+  if (rdm->recursion != RUST_NO_RECURSION_LIMIT)
> -+    {
> -+      ++ rdm->recursion;
> -+      if (rdm->recursion > RUST_MAX_RECURSION_COUNT)
> -+    /* FIXME: There ought to be a way to report
> -+       that the recursion limit has been reached.  */
> -+    goto fail_return;
> -+    }
> -+
> -   if (eat (rdm, 'B'))
> -     {
> -       backref = parse_integer_62 (rdm);
> -@@ -1158,7 +1167,7 @@ demangle_const (struct rust_demangler *rdm)
> -           demangle_const (rdm);
> -           rdm->next = old_next;
> -         }
> --      return;
> -+      goto pass_return;
> -     }
> - 
> -   ty_tag = next (rdm);
> -@@ -1167,7 +1176,7 @@ demangle_const (struct rust_demangler *rdm)
> -     /* Placeholder. */
> -     case 'p':
> -       PRINT ("_");
> --      return;
> -+      goto pass_return;
> - 
> -     /* Unsigned integer types. */
> -     case 'h':
> -@@ -1200,18 +1209,20 @@ demangle_const (struct rust_demangler *rdm)
> -       break;
> - 
> -     default:
> --      rdm->errored = 1;
> --      return;
> -+      goto fail_return;
> -     }
> - 
> --  if (rdm->errored)
> --    return;
> --
> --  if (rdm->verbose)
> -+  if (!rdm->errored && rdm->verbose)
> -     {
> -       PRINT (": ");
> -       PRINT (basic_type (ty_tag));
> -     }
> -+
> -+ fail_return:
> -+  rdm->errored = 1;
> -+ pass_return:
> -+  if (rdm->recursion != RUST_NO_RECURSION_LIMIT)
> -+    -- rdm->recursion;
> - }
> - 
> - static void
> --- 
> -2.31.1
> -
> diff --git a/meta/recipes-devtools/gcc/gcc/hardcoded-paths.patch 
> b/meta/recipes-devtools/gcc/gcc/hardcoded-paths.patch
> deleted file mode 100644
> index f3485858f4..0000000000
> --- a/meta/recipes-devtools/gcc/gcc/hardcoded-paths.patch
> +++ /dev/null
> @@ -1,19 +0,0 @@
> -Avoid encoding build paths into sources used for floating point on powerpc.
> -(MACHINE=qemuppc bitbake libgcc).
> -
> -Upstream-Status: Submitted 
> [https://gcc.gnu.org/pipermail/gcc-patches/2022-August/599882.html]
> -Signed-off-by: Richard Purdie <[email protected]>
> -
> -Index: gcc-12.1.0/libgcc/config/rs6000/t-float128
> -===================================================================
> ---- gcc-12.1.0.orig/libgcc/config/rs6000/t-float128
> -+++ gcc-12.1.0/libgcc/config/rs6000/t-float128
> -@@ -103,7 +103,7 @@ $(ibm128_dec_objs)       : INTERNAL_CFLAGS +=
> - $(fp128_softfp_src) : $(srcdir)/soft-fp/$(subst -sw,,$(subst kf,tf,$@)) 
> $(fp128_dep)
> -     @src="$(srcdir)/soft-fp/$(subst -sw,,$(subst kf,tf,$@))"; \
> -     echo "Create $@"; \
> --    (echo "/* file created from $$src */"; \
> -+    (echo "/* file created from `basename $$src` */"; \
> -      echo; \
> -      sed -f $(fp128_sed) < $$src) > $@
> - 
> diff --git a/meta/recipes-devtools/gcc/gcc/prefix-map-realpath.patch 
> b/meta/recipes-devtools/gcc/gcc/prefix-map-realpath.patch
> deleted file mode 100644
> index 23ae00ce40..0000000000
> --- a/meta/recipes-devtools/gcc/gcc/prefix-map-realpath.patch
> +++ /dev/null
> @@ -1,64 +0,0 @@
> -Relative paths don't work with -fdebug-prefix-map and friends. This
> -can lead to paths which the user wanted to be remapped being missed.
> -Setting -fdebug-prefix-map to work with a relative path isn't practical
> -either.
> -
> -Instead, call gcc's realpath function on the incomming path name before
> -comparing it with the remapping. This means other issues like symlinks
> -are also accounted for and leads to a more consistent remapping experience.
> -
> -Upstream-Status: Backport 
> [https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=11543b27fe16d81ca5483ecb98ec7a5b2426e0c0]
> -                          
> [https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=e5c15eb183f17e806ad6b58c9497321ded87866f]
> -
> -Signed-off-by: Richard Purdie <[email protected]>
> -
> -
> -Index: gcc-12.1.0/gcc/file-prefix-map.cc
> -===================================================================
> ---- gcc-12.1.0.orig/gcc/file-prefix-map.cc
> -+++ gcc-12.1.0/gcc/file-prefix-map.cc
> -@@ -70,19 +70,28 @@ remap_filename (file_prefix_map *maps, c
> -   file_prefix_map *map;
> -   char *s;
> -   const char *name;
> -+  char *realname;
> -   size_t name_len;
> - 
> -+  if (lbasename (filename) == filename)
> -+    return filename;
> -+
> -+  realname = lrealpath (filename);
> -+
> -   for (map = maps; map; map = map->next)
> --    if (filename_ncmp (filename, map->old_prefix, map->old_len) == 0)
> -+    if (filename_ncmp (realname, map->old_prefix, map->old_len) == 0)
> -       break;
> --  if (!map)
> -+  if (!map) {
> -+    free (realname);
> -     return filename;
> --  name = filename + map->old_len;
> -+  }
> -+  name = realname + map->old_len;
> -   name_len = strlen (name) + 1;
> - 
> -   s = (char *) ggc_alloc_atomic (name_len + map->new_len);
> -   memcpy (s, map->new_prefix, map->new_len);
> -   memcpy (s + map->new_len, name, name_len);
> -+  free (realname);
> -   return s;
> - }
> - 
> -Index: gcc-12.1.0/libcpp/macro.cc
> -===================================================================
> ---- gcc-12.1.0.orig/libcpp/macro.cc
> -+++ gcc-12.1.0/libcpp/macro.cc
> -@@ -563,7 +563,7 @@ _cpp_builtin_macro_text (cpp_reader *pfi
> -         if (!name)
> -           abort ();
> -       }
> --    if (pfile->cb.remap_filename)
> -+    if (pfile->cb.remap_filename && !pfile->state.in_directive)
> -       name = pfile->cb.remap_filename (name);
> -     len = strlen (name);
> -     buf = _cpp_unaligned_alloc (pfile, len * 2 + 3);
> diff --git a/meta/recipes-devtools/gcc/gcc_12.2.bb 
> b/meta/recipes-devtools/gcc/gcc_13.1.bb
> similarity index 100%
> rename from meta/recipes-devtools/gcc/gcc_12.2.bb
> rename to meta/recipes-devtools/gcc/gcc_13.1.bb
> diff --git a/meta/recipes-devtools/gcc/libgcc-initial_12.2.bb 
> b/meta/recipes-devtools/gcc/libgcc-initial_13.1.bb
> similarity index 100%
> rename from meta/recipes-devtools/gcc/libgcc-initial_12.2.bb
> rename to meta/recipes-devtools/gcc/libgcc-initial_13.1.bb
> diff --git a/meta/recipes-devtools/gcc/libgcc_12.2.bb 
> b/meta/recipes-devtools/gcc/libgcc_13.1.bb
> similarity index 100%
> rename from meta/recipes-devtools/gcc/libgcc_12.2.bb
> rename to meta/recipes-devtools/gcc/libgcc_13.1.bb
> diff --git a/meta/recipes-devtools/gcc/libgfortran_12.2.bb 
> b/meta/recipes-devtools/gcc/libgfortran_13.1.bb
> similarity index 100%
> rename from meta/recipes-devtools/gcc/libgfortran_12.2.bb
> rename to meta/recipes-devtools/gcc/libgfortran_13.1.bb
> -- 
> 2.40.1
> 

> 
> 
> 


-- 
Alexandre Belloni, co-owner and COO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#180837): 
https://lists.openembedded.org/g/openembedded-core/message/180837
Mute This Topic: https://lists.openembedded.org/mt/98543627/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to