diff options
| author | Khem Raj <raj.khem@gmail.com> | 2025-04-26 16:30:51 -0700 |
|---|---|---|
| committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2025-05-01 14:33:26 +0100 |
| commit | 43fd724eac29dd6187e0e4bf777ee59898dc92ca (patch) | |
| tree | fe52c4835af4bfcf87b281afbba9f2218833641b /meta | |
| parent | 7237d6bb5023f307e72e09477b7ab87b4120690d (diff) | |
| download | poky-43fd724eac29dd6187e0e4bf777ee59898dc92ca.tar.gz | |
gcc: Upgrade GCC to 15 release
* Nios2 has been removed and aarch64/ilp32 is deprecated
* Default C dialect is switched to C23
* {0} initializer in C or C++ for unions no longer guarantees clearing of the whole union
* Compile speed improvements with LTO
* Vectorizer can support loops with early exists but it is limited to loops
with fixed vector lengths
This is major release of gcc, the changes are noted [1]
[1] https://gcc.gnu.org/gcc-15/changes.html
(From OE-Core rev: 0ddda88b928a8b4e5ca3a4cc6112b8331cdff544)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta')
42 files changed, 238 insertions, 1441 deletions
diff --git a/meta/conf/distro/include/maintainers.inc b/meta/conf/distro/include/maintainers.inc index 038203e1cf..1932e3d0e8 100644 --- a/meta/conf/distro/include/maintainers.inc +++ b/meta/conf/distro/include/maintainers.inc | |||
| @@ -195,7 +195,7 @@ RECIPE_MAINTAINER:pn-gcc-cross-canadian-${TRANSLATED_TARGET_ARCH} = "Khem Raj <r | |||
| 195 | RECIPE_MAINTAINER:pn-gcc-crosssdk-${SDK_SYS} = "Khem Raj <raj.khem@gmail.com>" | 195 | RECIPE_MAINTAINER:pn-gcc-crosssdk-${SDK_SYS} = "Khem Raj <raj.khem@gmail.com>" |
| 196 | RECIPE_MAINTAINER:pn-gcc-runtime = "Khem Raj <raj.khem@gmail.com>" | 196 | RECIPE_MAINTAINER:pn-gcc-runtime = "Khem Raj <raj.khem@gmail.com>" |
| 197 | RECIPE_MAINTAINER:pn-gcc-sanitizers = "Khem Raj <raj.khem@gmail.com>" | 197 | RECIPE_MAINTAINER:pn-gcc-sanitizers = "Khem Raj <raj.khem@gmail.com>" |
| 198 | RECIPE_MAINTAINER:pn-gcc-source-14.2.0 = "Khem Raj <raj.khem@gmail.com>" | 198 | RECIPE_MAINTAINER:pn-gcc-source-15.1.0 = "Khem Raj <raj.khem@gmail.com>" |
| 199 | RECIPE_MAINTAINER:pn-gconf = "Ross Burton <ross.burton@arm.com>" | 199 | RECIPE_MAINTAINER:pn-gconf = "Ross Burton <ross.burton@arm.com>" |
| 200 | RECIPE_MAINTAINER:pn-gcr = "Unassigned <unassigned@yoctoproject.org>" | 200 | RECIPE_MAINTAINER:pn-gcr = "Unassigned <unassigned@yoctoproject.org>" |
| 201 | RECIPE_MAINTAINER:pn-gdb = "Khem Raj <raj.khem@gmail.com>" | 201 | RECIPE_MAINTAINER:pn-gdb = "Khem Raj <raj.khem@gmail.com>" |
diff --git a/meta/conf/distro/include/tcmode-default.inc b/meta/conf/distro/include/tcmode-default.inc index a3b3df2afa..f0443fbdc6 100644 --- a/meta/conf/distro/include/tcmode-default.inc +++ b/meta/conf/distro/include/tcmode-default.inc | |||
| @@ -9,7 +9,7 @@ PREFERRED_PROVIDER_virtual/nativesdk-cross-binutils ?= "binutils-crosssdk-${SDK_ | |||
| 9 | # Default libc config | 9 | # Default libc config |
| 10 | PREFERRED_PROVIDER_virtual/gettext ??= "gettext" | 10 | PREFERRED_PROVIDER_virtual/gettext ??= "gettext" |
| 11 | 11 | ||
| 12 | GCCVERSION ?= "14.%" | 12 | GCCVERSION ?= "15.%" |
| 13 | SDKGCCVERSION ?= "${GCCVERSION}" | 13 | SDKGCCVERSION ?= "${GCCVERSION}" |
| 14 | GLIBCVERSION ?= "2.41%" | 14 | GLIBCVERSION ?= "2.41%" |
| 15 | RUSTVERSION ?= "1.85.1%" | 15 | RUSTVERSION ?= "1.85.1%" |
diff --git a/meta/recipes-devtools/gcc/gcc-14.2.inc b/meta/recipes-devtools/gcc/gcc-15.1.inc index ae2f8c0638..864c6091a6 100644 --- a/meta/recipes-devtools/gcc/gcc-14.2.inc +++ b/meta/recipes-devtools/gcc/gcc-15.1.inc | |||
| @@ -2,11 +2,11 @@ require gcc-common.inc | |||
| 2 | 2 | ||
| 3 | # Third digit in PV should be incremented after a minor release | 3 | # Third digit in PV should be incremented after a minor release |
| 4 | 4 | ||
| 5 | PV = "14.2.0" | 5 | PV = "15.1.0" |
| 6 | 6 | ||
| 7 | # BINV should be incremented to a revision after a minor gcc release | 7 | # BINV should be incremented to a revision after a minor gcc release |
| 8 | 8 | ||
| 9 | BINV = "14.2.0" | 9 | BINV = "15.1.0" |
| 10 | 10 | ||
| 11 | FILESEXTRAPATHS =. "${FILE_DIRNAME}/gcc:${FILE_DIRNAME}/gcc/backport:" | 11 | FILESEXTRAPATHS =. "${FILE_DIRNAME}/gcc:${FILE_DIRNAME}/gcc/backport:" |
| 12 | 12 | ||
| @@ -31,16 +31,17 @@ LIC_FILES_CHKSUM = "\ | |||
| 31 | #SRC_URI[sha256sum] = "41bf7be5dc029112a9df625266e7de030ffc36ff3638f270b180ae8c91fe6449" | 31 | #SRC_URI[sha256sum] = "41bf7be5dc029112a9df625266e7de030ffc36ff3638f270b180ae8c91fe6449" |
| 32 | 32 | ||
| 33 | # from snapshot | 33 | # from snapshot |
| 34 | #RELEASE ?= "14-20240504" | 34 | #RELEASE ?= "15-20250420" |
| 35 | #RELEASE ?= "15.1.0-RC-20250418" | ||
| 35 | #BASEURI ?= "https://gcc.gnu.org/pub/gcc/snapshots/${RELEASE}/gcc-${RELEASE}.tar.xz" | 36 | #BASEURI ?= "https://gcc.gnu.org/pub/gcc/snapshots/${RELEASE}/gcc-${RELEASE}.tar.xz" |
| 36 | #SOURCEDIR ?= "gcc-${RELEASE}" | 37 | #SOURCEDIR ?= "gcc-${RELEASE}" |
| 37 | #SRC_URI[sha256sum] = "34ac232bbf31e0cd5752fd344c2cf55719aaaad2ca0096593e01c97a3d5e274e" | 38 | #SRC_URI[sha256sum] = "fe18624317c6c662977eea8b5a506ec6c132fc11c7a8d53e2f6d21b139b0af3c" |
| 38 | 39 | ||
| 39 | # official release | 40 | # official release |
| 40 | RELEASE ?= "${PV}" | 41 | RELEASE ?= "${PV}" |
| 41 | BASEURI ?= "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.xz" | 42 | BASEURI ?= "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.xz" |
| 42 | SOURCEDIR ?= "gcc-${PV}" | 43 | SOURCEDIR ?= "gcc-${PV}" |
| 43 | SRC_URI[sha256sum] = "a7b39bc69cbf9e25826c5a60ab26477001f7c08d85cec04bc0e29cabed6f3cc9" | 44 | SRC_URI[sha256sum] = "e2b09ec21660f01fecffb715e0120265216943f038d0e48a9868713e54f06cea" |
| 44 | 45 | ||
| 45 | SRC_URI = "${BASEURI} \ | 46 | SRC_URI = "${BASEURI} \ |
| 46 | file://0001-gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch \ | 47 | file://0001-gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch \ |
| @@ -68,10 +69,6 @@ SRC_URI = "${BASEURI} \ | |||
| 68 | file://0023-Fix-install-path-of-linux64.h.patch \ | 69 | file://0023-Fix-install-path-of-linux64.h.patch \ |
| 69 | file://0024-Avoid-hardcoded-build-paths-into-ppc-libgcc.patch \ | 70 | file://0024-Avoid-hardcoded-build-paths-into-ppc-libgcc.patch \ |
| 70 | file://0025-gcc-testsuite-tweaks-for-mips-OE.patch \ | 71 | file://0025-gcc-testsuite-tweaks-for-mips-OE.patch \ |
| 71 | file://0026-gcc-Fix-c-tweak-for-Wrange-loop-construct.patch \ | ||
| 72 | file://0027-gcc-backport-patch-to-fix-data-relocation-to-ENDBR-s.patch \ | ||
| 73 | file://gcc.git-ab884fffe3fc82a710bea66ad651720d71c938b8.patch \ | ||
| 74 | file://0028-libsanitizer-undef-_TIME_BITS-in-solaris-procmaps.patch \ | ||
| 75 | " | 72 | " |
| 76 | 73 | ||
| 77 | S = "${TMPDIR}/work-shared/gcc-${PV}-${PR}/${SOURCEDIR}" | 74 | S = "${TMPDIR}/work-shared/gcc-${PV}-${PR}/${SOURCEDIR}" |
diff --git a/meta/recipes-devtools/gcc/gcc-cross-canadian_14.2.bb b/meta/recipes-devtools/gcc/gcc-cross-canadian_15.1.bb index bf53c5cd78..bf53c5cd78 100644 --- a/meta/recipes-devtools/gcc/gcc-cross-canadian_14.2.bb +++ b/meta/recipes-devtools/gcc/gcc-cross-canadian_15.1.bb | |||
diff --git a/meta/recipes-devtools/gcc/gcc-cross_14.2.bb b/meta/recipes-devtools/gcc/gcc-cross_15.1.bb index b43cca0c52..b43cca0c52 100644 --- a/meta/recipes-devtools/gcc/gcc-cross_14.2.bb +++ b/meta/recipes-devtools/gcc/gcc-cross_15.1.bb | |||
diff --git a/meta/recipes-devtools/gcc/gcc-crosssdk_14.2.bb b/meta/recipes-devtools/gcc/gcc-crosssdk_15.1.bb index 40a6c4feff..40a6c4feff 100644 --- a/meta/recipes-devtools/gcc/gcc-crosssdk_14.2.bb +++ b/meta/recipes-devtools/gcc/gcc-crosssdk_15.1.bb | |||
diff --git a/meta/recipes-devtools/gcc/gcc-runtime_14.2.bb b/meta/recipes-devtools/gcc/gcc-runtime_15.1.bb index dd430b57eb..dd430b57eb 100644 --- a/meta/recipes-devtools/gcc/gcc-runtime_14.2.bb +++ b/meta/recipes-devtools/gcc/gcc-runtime_15.1.bb | |||
diff --git a/meta/recipes-devtools/gcc/gcc-sanitizers_14.2.bb b/meta/recipes-devtools/gcc/gcc-sanitizers_15.1.bb index 8bda2ccad6..8bda2ccad6 100644 --- a/meta/recipes-devtools/gcc/gcc-sanitizers_14.2.bb +++ b/meta/recipes-devtools/gcc/gcc-sanitizers_15.1.bb | |||
diff --git a/meta/recipes-devtools/gcc/gcc-source_14.2.bb b/meta/recipes-devtools/gcc/gcc-source_15.1.bb index be11fa2fcc..be11fa2fcc 100644 --- a/meta/recipes-devtools/gcc/gcc-source_14.2.bb +++ b/meta/recipes-devtools/gcc/gcc-source_15.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 4693e948e8..e36b7f7b17 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 @@ | |||
| 1 | From 5f2881333e6ba6eb055f590982c2a2eb3fcbee2c Mon Sep 17 00:00:00 2001 | 1 | From 7e8c2b6bd87d221158f43bc1d770e04ddeed4176 Mon Sep 17 00:00:00 2001 |
| 2 | From: Khem Raj <raj.khem@gmail.com> | 2 | From: Khem Raj <raj.khem@gmail.com> |
| 3 | Date: Fri, 29 Mar 2013 08:37:11 +0400 | 3 | Date: Fri, 29 Mar 2013 08:37:11 +0400 |
| 4 | Subject: [PATCH] gcc-4.3.1: ARCH_FLAGS_FOR_TARGET | 4 | Subject: [PATCH] gcc-4.3.1: ARCH_FLAGS_FOR_TARGET |
| @@ -12,10 +12,10 @@ Upstream-Status: Inappropriate [embedded specific] | |||
| 12 | 2 files changed, 2 insertions(+), 2 deletions(-) | 12 | 2 files changed, 2 insertions(+), 2 deletions(-) |
| 13 | 13 | ||
| 14 | diff --git a/configure b/configure | 14 | diff --git a/configure b/configure |
| 15 | index 3b0abeb8b2e..2590471a021 100755 | 15 | index ebc44416b6c..af1d1e24b3d 100755 |
| 16 | --- a/configure | 16 | --- a/configure |
| 17 | +++ b/configure | 17 | +++ b/configure |
| 18 | @@ -10467,7 +10467,7 @@ fi | 18 | @@ -11509,7 +11509,7 @@ fi |
| 19 | # for target_alias and gcc doesn't manage it consistently. | 19 | # for target_alias and gcc doesn't manage it consistently. |
| 20 | target_configargs="--cache-file=./config.cache ${target_configargs}" | 20 | target_configargs="--cache-file=./config.cache ${target_configargs}" |
| 21 | 21 | ||
| @@ -25,10 +25,10 @@ index 3b0abeb8b2e..2590471a021 100755 | |||
| 25 | *" newlib "*) | 25 | *" newlib "*) |
| 26 | case " $target_configargs " in | 26 | case " $target_configargs " in |
| 27 | diff --git a/configure.ac b/configure.ac | 27 | diff --git a/configure.ac b/configure.ac |
| 28 | index 042681c27be..0d9b39c541a 100644 | 28 | index 730db3c1402..6de64a4777c 100644 |
| 29 | --- a/configure.ac | 29 | --- a/configure.ac |
| 30 | +++ b/configure.ac | 30 | +++ b/configure.ac |
| 31 | @@ -3539,7 +3539,7 @@ fi | 31 | @@ -3736,7 +3736,7 @@ fi |
| 32 | # for target_alias and gcc doesn't manage it consistently. | 32 | # for target_alias and gcc doesn't manage it consistently. |
| 33 | target_configargs="--cache-file=./config.cache ${target_configargs}" | 33 | target_configargs="--cache-file=./config.cache ${target_configargs}" |
| 34 | 34 | ||
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 8523af1281..53d2dc63da 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,6 +1,6 @@ | |||
| 1 | From 838daab44918ef738402a2dd069537c6ac519305 Mon Sep 17 00:00:00 2001 | 1 | From f7c26bbbf0496d179f5e71107fe6cf1320b25901 Mon Sep 17 00:00:00 2001 |
| 2 | From: Khem Raj <raj.khem@gmail.com> | 2 | From: Khem Raj <raj.khem@gmail.com> |
| 3 | Date: Mon, 8 Mar 2021 16:04:20 -0800 | 3 | Date: Thu, 23 Jan 2025 17:12:51 -0800 |
| 4 | Subject: [PATCH] gcc: poison-system-directories | 4 | Subject: [PATCH] gcc: poison-system-directories |
| 5 | 5 | ||
| 6 | Add /sw/include and /opt/include based on the original | 6 | Add /sw/include and /opt/include based on the original |
| @@ -13,23 +13,23 @@ wants this to be a failure, they can add "-Werror=poison-system-directories". | |||
| 13 | 13 | ||
| 14 | Upstream-Status: Inappropriate [OE configuration] | 14 | Upstream-Status: Inappropriate [OE configuration] |
| 15 | Signed-off-by: Mark Hatle <mark.hatle@windriver.com> | 15 | Signed-off-by: Mark Hatle <mark.hatle@windriver.com> |
| 16 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
| 17 | Signed-off-by: sunil dora <sunilkumar.dora@windriver.com> | 16 | Signed-off-by: sunil dora <sunilkumar.dora@windriver.com> |
| 17 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
| 18 | --- | 18 | --- |
| 19 | gcc/common.opt | 4 ++++ | 19 | gcc/common.opt | 4 ++++ |
| 20 | gcc/config.in | 10 ++++++++++ | 20 | gcc/config.in | 10 ++++++++++ |
| 21 | gcc/configure | 19 +++++++++++++++++++ | 21 | gcc/configure | 19 +++++++++++++++++++ |
| 22 | gcc/configure.ac | 16 ++++++++++++++++ | 22 | gcc/configure.ac | 16 ++++++++++++++++ |
| 23 | gcc/doc/invoke.texi | 9 +++++++++ | 23 | gcc/doc/invoke.texi | 9 +++++++++ |
| 24 | gcc/gcc.cc | 9 +++++++-- | 24 | gcc/gcc.cc | 12 ++++++++++-- |
| 25 | gcc/incpath.cc | 25 +++++++++++++++++++++++++ | 25 | gcc/incpath.cc | 25 +++++++++++++++++++++++++ |
| 26 | 7 files changed, 90 insertions(+), 2 deletions(-) | 26 | 7 files changed, 93 insertions(+), 2 deletions(-) |
| 27 | 27 | ||
| 28 | diff --git a/gcc/common.opt b/gcc/common.opt | 28 | diff --git a/gcc/common.opt b/gcc/common.opt |
| 29 | index ad348844775..df3992b420d 100644 | 29 | index e3fa0dacec4..bea1adc0940 100644 |
| 30 | --- a/gcc/common.opt | 30 | --- a/gcc/common.opt |
| 31 | +++ b/gcc/common.opt | 31 | +++ b/gcc/common.opt |
| 32 | @@ -715,6 +715,10 @@ Wreturn-local-addr | 32 | @@ -729,6 +729,10 @@ Wreturn-local-addr |
| 33 | Common Var(warn_return_local_addr) Init(1) Warning | 33 | Common Var(warn_return_local_addr) Init(1) Warning |
| 34 | Warn about returning a pointer/reference to a local or temporary variable. | 34 | Warn about returning a pointer/reference to a local or temporary variable. |
| 35 | 35 | ||
| @@ -41,7 +41,7 @@ index ad348844775..df3992b420d 100644 | |||
| 41 | Common Var(warn_shadow) Warning | 41 | Common Var(warn_shadow) Warning |
| 42 | Warn when one variable shadows another. Same as -Wshadow=global. | 42 | Warn when one variable shadows another. Same as -Wshadow=global. |
| 43 | diff --git a/gcc/config.in b/gcc/config.in | 43 | diff --git a/gcc/config.in b/gcc/config.in |
| 44 | index f3de4ba6776..3ce3113510b 100644 | 44 | index a79c51adb2b..8a531ed591c 100644 |
| 45 | --- a/gcc/config.in | 45 | --- a/gcc/config.in |
| 46 | +++ b/gcc/config.in | 46 | +++ b/gcc/config.in |
| 47 | @@ -249,6 +249,16 @@ | 47 | @@ -249,6 +249,16 @@ |
| @@ -62,10 +62,10 @@ index f3de4ba6776..3ce3113510b 100644 | |||
| 62 | optimizer and back end) to be checked for dynamic type safety at runtime. | 62 | optimizer and back end) to be checked for dynamic type safety at runtime. |
| 63 | This is quite expensive. */ | 63 | This is quite expensive. */ |
| 64 | diff --git a/gcc/configure b/gcc/configure | 64 | diff --git a/gcc/configure b/gcc/configure |
| 65 | index abc8bfdc244..d3fa80408f4 100755 | 65 | index 16965953f05..0f4a5d52c30 100755 |
| 66 | --- a/gcc/configure | 66 | --- a/gcc/configure |
| 67 | +++ b/gcc/configure | 67 | +++ b/gcc/configure |
| 68 | @@ -1050,6 +1050,7 @@ enable_maintainer_mode | 68 | @@ -1051,6 +1051,7 @@ enable_maintainer_mode |
| 69 | enable_link_mutex | 69 | enable_link_mutex |
| 70 | enable_link_serialization | 70 | enable_link_serialization |
| 71 | enable_version_specific_runtime_libs | 71 | enable_version_specific_runtime_libs |
| @@ -73,7 +73,7 @@ index abc8bfdc244..d3fa80408f4 100755 | |||
| 73 | enable_plugin | 73 | enable_plugin |
| 74 | enable_host_shared | 74 | enable_host_shared |
| 75 | enable_host_pie | 75 | enable_host_pie |
| 76 | @@ -1823,6 +1824,8 @@ Optional Features: | 76 | @@ -1828,6 +1829,8 @@ Optional Features: |
| 77 | --enable-version-specific-runtime-libs | 77 | --enable-version-specific-runtime-libs |
| 78 | specify that runtime libraries should be installed | 78 | specify that runtime libraries should be installed |
| 79 | in a compiler-specific directory | 79 | in a compiler-specific directory |
| @@ -82,7 +82,7 @@ index abc8bfdc244..d3fa80408f4 100755 | |||
| 82 | --enable-plugin enable plugin support | 82 | --enable-plugin enable plugin support |
| 83 | --enable-host-shared build host code as shared libraries | 83 | --enable-host-shared build host code as shared libraries |
| 84 | --enable-host-pie build host code as PIE | 84 | --enable-host-pie build host code as PIE |
| 85 | @@ -34028,6 +34031,22 @@ if test "${enable_version_specific_runtime_libs+set}" = set; then : | 85 | @@ -34027,6 +34030,22 @@ if test "${enable_version_specific_runtime_libs+set}" = set; then : |
| 86 | fi | 86 | fi |
| 87 | 87 | ||
| 88 | 88 | ||
| @@ -106,10 +106,10 @@ index abc8bfdc244..d3fa80408f4 100755 | |||
| 106 | 106 | ||
| 107 | 107 | ||
| 108 | diff --git a/gcc/configure.ac b/gcc/configure.ac | 108 | diff --git a/gcc/configure.ac b/gcc/configure.ac |
| 109 | index 1d2cefa3f6a..2760b6c540c 100644 | 109 | index 9f67e62950a..b0e3615e5aa 100644 |
| 110 | --- a/gcc/configure.ac | 110 | --- a/gcc/configure.ac |
| 111 | +++ b/gcc/configure.ac | 111 | +++ b/gcc/configure.ac |
| 112 | @@ -7527,6 +7527,22 @@ AC_ARG_ENABLE(version-specific-runtime-libs, | 112 | @@ -7502,6 +7502,22 @@ AC_ARG_ENABLE(version-specific-runtime-libs, |
| 113 | [specify that runtime libraries should be | 113 | [specify that runtime libraries should be |
| 114 | installed in a compiler-specific directory])]) | 114 | installed in a compiler-specific directory])]) |
| 115 | 115 | ||
| @@ -133,20 +133,20 @@ index 1d2cefa3f6a..2760b6c540c 100644 | |||
| 133 | AC_SUBST(subdirs) | 133 | AC_SUBST(subdirs) |
| 134 | AC_SUBST(srcdir) | 134 | AC_SUBST(srcdir) |
| 135 | diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi | 135 | diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi |
| 136 | index f82f7d2817b..1da91813b0e 100644 | 136 | index c2e1bf8031b..d33e2042f38 100644 |
| 137 | --- a/gcc/doc/invoke.texi | 137 | --- a/gcc/doc/invoke.texi |
| 138 | +++ b/gcc/doc/invoke.texi | 138 | +++ b/gcc/doc/invoke.texi |
| 139 | @@ -391,6 +391,7 @@ Objective-C and Objective-C++ Dialects}. | 139 | @@ -405,6 +405,7 @@ Objective-C and Objective-C++ Dialects}. |
| 140 | -Wpacked -Wno-packed-bitfield-compat -Wpacked-not-aligned -Wpadded | 140 | -Wpacked -Wno-packed-bitfield-compat -Wpacked-not-aligned -Wpadded |
| 141 | -Wparentheses -Wno-pedantic-ms-format | 141 | -Wparentheses -Wno-pedantic-ms-format |
| 142 | -Wpointer-arith -Wno-pointer-compare -Wno-pointer-to-int-cast | 142 | -Wpointer-arith -Wno-pointer-compare -Wno-pointer-to-int-cast |
| 143 | +-Wno-poison-system-directories | 143 | +-Wno-poison-system-directories |
| 144 | -Wno-pragmas -Wno-prio-ctor-dtor -Wredundant-decls | 144 | -Wno-pragmas -Wno-pragma-once-outside-header -Wno-prio-ctor-dtor |
| 145 | -Wrestrict -Wno-return-local-addr -Wreturn-type | 145 | -Wno-psabi |
| 146 | -Wno-scalar-storage-order -Wsequence-point | 146 | -Wredundant-decls -Wrestrict |
| 147 | @@ -8861,6 +8862,14 @@ made up of data only and thus requires no special treatment. But, for | 147 | @@ -10727,6 +10728,14 @@ an error. @option{Wint-to-pointer-cast} is enabled by default. |
| 148 | most targets, it is made up of code and thus requires the stack to be | 148 | Suppress warnings from casts from a pointer to an integer type of a |
| 149 | made executable in order for the program to work properly. | 149 | different size. |
| 150 | 150 | ||
| 151 | +@opindex Wno-poison-system-directories | 151 | +@opindex Wno-poison-system-directories |
| 152 | +@item -Wno-poison-system-directories | 152 | +@item -Wno-poison-system-directories |
| @@ -156,14 +156,14 @@ index f82f7d2817b..1da91813b0e 100644 | |||
| 156 | +directories contain the correct headers and libraries for the target | 156 | +directories contain the correct headers and libraries for the target |
| 157 | +system rather than the host. | 157 | +system rather than the host. |
| 158 | + | 158 | + |
| 159 | @opindex Wfloat-equal | 159 | @opindex Winvalid-pch |
| 160 | @opindex Wno-float-equal | 160 | @opindex Wno-invalid-pch |
| 161 | @item -Wfloat-equal | 161 | @item -Winvalid-pch |
| 162 | diff --git a/gcc/gcc.cc b/gcc/gcc.cc | 162 | diff --git a/gcc/gcc.cc b/gcc/gcc.cc |
| 163 | index 728332b8153..a63f128cb95 100644 | 163 | index 4fd87f2c4a1..79d4920a047 100644 |
| 164 | --- a/gcc/gcc.cc | 164 | --- a/gcc/gcc.cc |
| 165 | +++ b/gcc/gcc.cc | 165 | +++ b/gcc/gcc.cc |
| 166 | @@ -902,6 +902,12 @@ proper position among the other output files. */ | 166 | @@ -909,6 +909,12 @@ proper position among the other output files. */ |
| 167 | #define ASM_MAP "" | 167 | #define ASM_MAP "" |
| 168 | #endif | 168 | #endif |
| 169 | 169 | ||
| @@ -176,7 +176,7 @@ index 728332b8153..a63f128cb95 100644 | |||
| 176 | /* Assembler options for compressed debug sections. */ | 176 | /* Assembler options for compressed debug sections. */ |
| 177 | #if HAVE_LD_COMPRESS_DEBUG == 0 | 177 | #if HAVE_LD_COMPRESS_DEBUG == 0 |
| 178 | /* Reject if the linker cannot write compressed debug sections. */ | 178 | /* Reject if the linker cannot write compressed debug sections. */ |
| 179 | @@ -1159,6 +1163,8 @@ proper position among the other output files. */ | 179 | @@ -1166,6 +1172,8 @@ proper position among the other output files. */ |
| 180 | "%{fuse-ld=*:-fuse-ld=%*} " LINK_COMPRESS_DEBUG_SPEC \ | 180 | "%{fuse-ld=*:-fuse-ld=%*} " LINK_COMPRESS_DEBUG_SPEC \ |
| 181 | "%X %{o*} %{e*} %{N} %{n} %{r}\ | 181 | "%X %{o*} %{e*} %{N} %{n} %{r}\ |
| 182 | %{s} %{t} %{u*} %{z} %{Z} %{!nostdlib:%{!r:%{!nostartfiles:%S}}} \ | 182 | %{s} %{t} %{u*} %{z} %{Z} %{!nostdlib:%{!r:%{!nostartfiles:%S}}} \ |
| @@ -185,7 +185,7 @@ index 728332b8153..a63f128cb95 100644 | |||
| 185 | %{static|no-pie|static-pie:} %@{L*} %(link_libgcc) " \ | 185 | %{static|no-pie|static-pie:} %@{L*} %(link_libgcc) " \ |
| 186 | VTABLE_VERIFICATION_SPEC " " SANITIZER_EARLY_SPEC " %o "" \ | 186 | VTABLE_VERIFICATION_SPEC " " SANITIZER_EARLY_SPEC " %o "" \ |
| 187 | %{fopenacc|fopenmp|%:gt(%{ftree-parallelize-loops=*:%*} 1):\ | 187 | %{fopenacc|fopenmp|%:gt(%{ftree-parallelize-loops=*:%*} 1):\ |
| 188 | @@ -1261,7 +1267,7 @@ static const char *cpp_options = | 188 | @@ -1268,7 +1276,7 @@ static const char *cpp_options = |
| 189 | "%(cpp_unique_options) %1 %{m*} %{std*&ansi&trigraphs} %{W*&pedantic*} %{w}\ | 189 | "%(cpp_unique_options) %1 %{m*} %{std*&ansi&trigraphs} %{W*&pedantic*} %{w}\ |
| 190 | %{f*} %{g*:%{%:debug-level-gt(0):%{g*}\ | 190 | %{f*} %{g*:%{%:debug-level-gt(0):%{g*}\ |
| 191 | %{!fno-working-directory:-fworking-directory}}} %{O*}\ | 191 | %{!fno-working-directory:-fworking-directory}}} %{O*}\ |
| @@ -194,9 +194,9 @@ index 728332b8153..a63f128cb95 100644 | |||
| 194 | 194 | ||
| 195 | /* Pass -d* flags, possibly modifying -dumpdir, -dumpbase et al. | 195 | /* Pass -d* flags, possibly modifying -dumpdir, -dumpbase et al. |
| 196 | 196 | ||
| 197 | @@ -1290,7 +1296,7 @@ static const char *cc1_options = | 197 | @@ -1297,7 +1305,7 @@ static const char *cc1_options = |
| 198 | %{coverage:-fprofile-arcs -ftest-coverage}\ | 198 | %{coverage:-fprofile-arcs -ftest-coverage}\ |
| 199 | %{fprofile-arcs|fcondition-coverage|fprofile-generate*|coverage:\ | 199 | %{fprofile-arcs|fcondition-coverage|fpath-coverage|fprofile-generate*|coverage:\ |
| 200 | %{!fprofile-update=single:\ | 200 | %{!fprofile-update=single:\ |
| 201 | - %{pthread:-fprofile-update=prefer-atomic}}}"; | 201 | - %{pthread:-fprofile-update=prefer-atomic}}}"; |
| 202 | + %{pthread:-fprofile-update=prefer-atomic}}}" POISON_IS_ERROR; | 202 | + %{pthread:-fprofile-update=prefer-atomic}}}" POISON_IS_ERROR; |
| @@ -204,7 +204,7 @@ index 728332b8153..a63f128cb95 100644 | |||
| 204 | static const char *asm_options = | 204 | static const char *asm_options = |
| 205 | "%{-target-help:%:print-asm-header()} " | 205 | "%{-target-help:%:print-asm-header()} " |
| 206 | diff --git a/gcc/incpath.cc b/gcc/incpath.cc | 206 | diff --git a/gcc/incpath.cc b/gcc/incpath.cc |
| 207 | index 64cdd2f4a..89f42900d 100644 | 207 | index c1bbfd3872a..2cdbebc4c50 100644 |
| 208 | --- a/gcc/incpath.cc | 208 | --- a/gcc/incpath.cc |
| 209 | +++ b/gcc/incpath.cc | 209 | +++ b/gcc/incpath.cc |
| 210 | @@ -26,6 +26,7 @@ | 210 | @@ -26,6 +26,7 @@ |
| @@ -216,19 +216,19 @@ index 64cdd2f4a..89f42900d 100644 | |||
| 216 | /* Microsoft Windows does not natively support inodes. | 216 | /* Microsoft Windows does not natively support inodes. |
| 217 | VMS has non-numeric inodes. */ | 217 | VMS has non-numeric inodes. */ |
| 218 | @@ -273,6 +274,10 @@ remove_duplicates (cpp_reader *pfile, struct cpp_dir *head, | 218 | @@ -273,6 +274,10 @@ remove_duplicates (cpp_reader *pfile, struct cpp_dir *head, |
| 219 | cur->name, xstrerror (errno)); | 219 | cur->name, xstrerror (errno)); |
| 220 | reason = REASON_NOENT; | 220 | reason = REASON_NOENT; |
| 221 | } | 221 | } |
| 222 | +#ifdef ENABLE_POISON_SYSTEM_DIRECTORIES | 222 | +#ifdef ENABLE_POISON_SYSTEM_DIRECTORIES |
| 223 | + pcur = &cur->next; | 223 | + pcur = &cur->next; |
| 224 | + continue; | 224 | + continue; |
| 225 | +#endif | 225 | +#endif |
| 226 | } | 226 | } |
| 227 | else if (!S_ISDIR (st.st_mode)) | 227 | else if (!S_ISDIR (st.st_mode)) |
| 228 | cpp_error_with_line (pfile, CPP_DL_WARNING, 0, 0, | 228 | cpp_error_with_line (pfile, CPP_DL_WARNING, 0, 0, |
| 229 | @@ -399,6 +404,26 @@ merge_include_chains (const char *sysroot, cpp_reader *pfile, int verbose) | 229 | @@ -411,6 +416,26 @@ merge_include_chains (const char *sysroot, cpp_reader *pfile, int verbose) |
| 230 | fprintf (stderr, _("End of #embed search list.\n")); | ||
| 230 | } | 231 | } |
| 231 | fprintf (stderr, _("End of search list.\n")); | ||
| 232 | } | 232 | } |
| 233 | + | 233 | + |
| 234 | +#ifdef ENABLE_POISON_SYSTEM_DIRECTORIES | 234 | +#ifdef ENABLE_POISON_SYSTEM_DIRECTORIES |
| @@ -253,5 +253,3 @@ index 64cdd2f4a..89f42900d 100644 | |||
| 253 | } | 253 | } |
| 254 | 254 | ||
| 255 | /* Use given -I paths for #include "..." but not #include <...>, and | 255 | /* Use given -I paths for #include "..." but not #include <...>, and |
| 256 | -- | ||
| 257 | 2.34.1 | ||
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 55471b37cd..0c9edf189e 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,4 +1,4 @@ | |||
| 1 | From 33f9c4e4f0a5c2af8ab12612c28ba218ae491587 Mon Sep 17 00:00:00 2001 | 1 | From a4f799209882107726f547a4637659068ae07476 Mon Sep 17 00:00:00 2001 |
| 2 | From: Khem Raj <raj.khem@gmail.com> | 2 | From: Khem Raj <raj.khem@gmail.com> |
| 3 | Date: Fri, 29 Mar 2013 09:10:06 +0400 | 3 | Date: Fri, 29 Mar 2013 09:10:06 +0400 |
| 4 | Subject: [PATCH] 64-bit multilib hack | 4 | Subject: [PATCH] 64-bit multilib hack |
| @@ -38,7 +38,7 @@ Signed-off-by: Mark Hatle <mark.hatle@windriver.com> | |||
| 38 | 6 files changed, 15 insertions(+), 42 deletions(-) | 38 | 6 files changed, 15 insertions(+), 42 deletions(-) |
| 39 | 39 | ||
| 40 | diff --git a/gcc/config/aarch64/t-aarch64-linux b/gcc/config/aarch64/t-aarch64-linux | 40 | diff --git a/gcc/config/aarch64/t-aarch64-linux b/gcc/config/aarch64/t-aarch64-linux |
| 41 | index 3f7b786ecbb..a6c1c92fc7f 100644 | 41 | index 70e36b3299e..4267c32763c 100644 |
| 42 | --- a/gcc/config/aarch64/t-aarch64-linux | 42 | --- a/gcc/config/aarch64/t-aarch64-linux |
| 43 | +++ b/gcc/config/aarch64/t-aarch64-linux | 43 | +++ b/gcc/config/aarch64/t-aarch64-linux |
| 44 | @@ -21,8 +21,8 @@ | 44 | @@ -21,8 +21,8 @@ |
| @@ -55,7 +55,7 @@ index 3f7b786ecbb..a6c1c92fc7f 100644 | |||
| 55 | -MULTILIB_OSDIRNAMES += mabi.ilp32=../libilp32$(call if_multiarch,:aarch64$(AARCH_BE)-linux-gnu_ilp32) | 55 | -MULTILIB_OSDIRNAMES += mabi.ilp32=../libilp32$(call if_multiarch,:aarch64$(AARCH_BE)-linux-gnu_ilp32) |
| 56 | +#MULTILIB_OSDIRNAMES += mabi.ilp32=../libilp32$(call if_multiarch,:aarch64$(AARCH_BE)-linux-gnu_ilp32) | 56 | +#MULTILIB_OSDIRNAMES += mabi.ilp32=../libilp32$(call if_multiarch,:aarch64$(AARCH_BE)-linux-gnu_ilp32) |
| 57 | diff --git a/gcc/config/arc/t-multilib-linux b/gcc/config/arc/t-multilib-linux | 57 | diff --git a/gcc/config/arc/t-multilib-linux b/gcc/config/arc/t-multilib-linux |
| 58 | index 07bc77ba34a..f7e2e3919cf 100644 | 58 | index e72687260eb..f701fa9e201 100644 |
| 59 | --- a/gcc/config/arc/t-multilib-linux | 59 | --- a/gcc/config/arc/t-multilib-linux |
| 60 | +++ b/gcc/config/arc/t-multilib-linux | 60 | +++ b/gcc/config/arc/t-multilib-linux |
| 61 | @@ -16,9 +16,9 @@ | 61 | @@ -16,9 +16,9 @@ |
| @@ -71,7 +71,7 @@ index 07bc77ba34a..f7e2e3919cf 100644 | |||
| 71 | # Aliases: | 71 | # Aliases: |
| 72 | MULTILIB_MATCHES += mcpu?arc700=mA7 | 72 | MULTILIB_MATCHES += mcpu?arc700=mA7 |
| 73 | diff --git a/gcc/config/i386/t-linux64 b/gcc/config/i386/t-linux64 | 73 | diff --git a/gcc/config/i386/t-linux64 b/gcc/config/i386/t-linux64 |
| 74 | index f9edc289e57..047d8e4aff9 100644 | 74 | index 64a4a20e64f..2666e731dd6 100644 |
| 75 | --- a/gcc/config/i386/t-linux64 | 75 | --- a/gcc/config/i386/t-linux64 |
| 76 | +++ b/gcc/config/i386/t-linux64 | 76 | +++ b/gcc/config/i386/t-linux64 |
| 77 | @@ -32,7 +32,5 @@ | 77 | @@ -32,7 +32,5 @@ |
| @@ -85,7 +85,7 @@ index f9edc289e57..047d8e4aff9 100644 | |||
| 85 | +MULTILIB_DIRNAMES = . . | 85 | +MULTILIB_DIRNAMES = . . |
| 86 | +MULTILIB_OSDIRNAMES = ../$(shell basename $(base_libdir)) ../$(shell basename $(base_libdir)) | 86 | +MULTILIB_OSDIRNAMES = ../$(shell basename $(base_libdir)) ../$(shell basename $(base_libdir)) |
| 87 | diff --git a/gcc/config/mips/t-linux64 b/gcc/config/mips/t-linux64 | 87 | diff --git a/gcc/config/mips/t-linux64 b/gcc/config/mips/t-linux64 |
| 88 | index e4e2f5eaedb..c503974de37 100644 | 88 | index 34a84461ebb..431a6b5183f 100644 |
| 89 | --- a/gcc/config/mips/t-linux64 | 89 | --- a/gcc/config/mips/t-linux64 |
| 90 | +++ b/gcc/config/mips/t-linux64 | 90 | +++ b/gcc/config/mips/t-linux64 |
| 91 | @@ -17,29 +17,5 @@ | 91 | @@ -17,29 +17,5 @@ |
| @@ -134,7 +134,7 @@ index a6f64f88d25..0e21db58f7d 100644 | |||
| 134 | -MULTIARCH_DIRNAME := $(call if_multiarch,$(firstword $(subst -, ,$(target)))-linux-gnu) | 134 | -MULTIARCH_DIRNAME := $(call if_multiarch,$(firstword $(subst -, ,$(target)))-linux-gnu) |
| 135 | +#MULTIARCH_DIRNAME := $(call if_multiarch,$(firstword $(subst -, ,$(target)))-linux-gnu) | 135 | +#MULTIARCH_DIRNAME := $(call if_multiarch,$(firstword $(subst -, ,$(target)))-linux-gnu) |
| 136 | diff --git a/gcc/config/rs6000/t-linux64 b/gcc/config/rs6000/t-linux64 | 136 | diff --git a/gcc/config/rs6000/t-linux64 b/gcc/config/rs6000/t-linux64 |
| 137 | index 248b5891e36..379689561a7 100644 | 137 | index f56b47c268e..c408c32d8f4 100644 |
| 138 | --- a/gcc/config/rs6000/t-linux64 | 138 | --- a/gcc/config/rs6000/t-linux64 |
| 139 | +++ b/gcc/config/rs6000/t-linux64 | 139 | +++ b/gcc/config/rs6000/t-linux64 |
| 140 | @@ -26,10 +26,9 @@ | 140 | @@ -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 2dc6b13bfb..03139326c9 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 @@ | |||
| 1 | From 40c537352e085df2157cf907da6d694266ab74fe Mon Sep 17 00:00:00 2001 | 1 | From bcc97c2c8558cd5d3879a907a216eb0e2008c976 Mon Sep 17 00:00:00 2001 |
| 2 | From: Richard Purdie <richard.purdie@linuxfoundation.org> | 2 | From: Richard Purdie <richard.purdie@linuxfoundation.org> |
| 3 | Date: Thu, 28 Oct 2021 11:33:40 +0100 | 3 | Date: Thu, 28 Oct 2021 11:33:40 +0100 |
| 4 | Subject: [PATCH] Pass CXXFLAGS_FOR_BUILD in a couple of places to avoid these | 4 | Subject: [PATCH] Pass CXXFLAGS_FOR_BUILD in a couple of places to avoid these |
| @@ -23,7 +23,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> | |||
| 23 | 2 files changed, 4 insertions(+) | 23 | 2 files changed, 4 insertions(+) |
| 24 | 24 | ||
| 25 | diff --git a/Makefile.in b/Makefile.in | 25 | diff --git a/Makefile.in b/Makefile.in |
| 26 | index db4fa6c6260..dee862be8a5 100644 | 26 | index b1ed67d3d4f..4d7f45455a3 100644 |
| 27 | --- a/Makefile.in | 27 | --- a/Makefile.in |
| 28 | +++ b/Makefile.in | 28 | +++ b/Makefile.in |
| 29 | @@ -179,6 +179,7 @@ BUILD_EXPORTS = \ | 29 | @@ -179,6 +179,7 @@ BUILD_EXPORTS = \ |
| @@ -34,7 +34,7 @@ index db4fa6c6260..dee862be8a5 100644 | |||
| 34 | LDFLAGS="$(LDFLAGS_FOR_BUILD)" | 34 | LDFLAGS="$(LDFLAGS_FOR_BUILD)" |
| 35 | 35 | ||
| 36 | # This is the list of directories to built for the host system. | 36 | # This is the list of directories to built for the host system. |
| 37 | @@ -211,6 +212,7 @@ HOST_EXPORTS = \ | 37 | @@ -212,6 +213,7 @@ HOST_EXPORTS = \ |
| 38 | CPP_FOR_BUILD="$(CPP_FOR_BUILD)"; export CPP_FOR_BUILD; \ | 38 | CPP_FOR_BUILD="$(CPP_FOR_BUILD)"; export CPP_FOR_BUILD; \ |
| 39 | CPPFLAGS_FOR_BUILD="$(CPPFLAGS_FOR_BUILD)"; export CPPFLAGS_FOR_BUILD; \ | 39 | CPPFLAGS_FOR_BUILD="$(CPPFLAGS_FOR_BUILD)"; export CPPFLAGS_FOR_BUILD; \ |
| 40 | CXX_FOR_BUILD="$(CXX_FOR_BUILD)"; export CXX_FOR_BUILD; \ | 40 | CXX_FOR_BUILD="$(CXX_FOR_BUILD)"; export CXX_FOR_BUILD; \ |
| @@ -43,7 +43,7 @@ index db4fa6c6260..dee862be8a5 100644 | |||
| 43 | DSYMUTIL="$(DSYMUTIL)"; export DSYMUTIL; \ | 43 | DSYMUTIL="$(DSYMUTIL)"; export DSYMUTIL; \ |
| 44 | LD="$(LD)"; export LD; \ | 44 | LD="$(LD)"; export LD; \ |
| 45 | diff --git a/Makefile.tpl b/Makefile.tpl | 45 | diff --git a/Makefile.tpl b/Makefile.tpl |
| 46 | index 1d5813cd569..ff0fae53b0c 100644 | 46 | index 7dccf91ed8e..7cb61bf63ea 100644 |
| 47 | --- a/Makefile.tpl | 47 | --- a/Makefile.tpl |
| 48 | +++ b/Makefile.tpl | 48 | +++ b/Makefile.tpl |
| 49 | @@ -182,6 +182,7 @@ BUILD_EXPORTS = \ | 49 | @@ -182,6 +182,7 @@ BUILD_EXPORTS = \ |
| @@ -54,7 +54,7 @@ index 1d5813cd569..ff0fae53b0c 100644 | |||
| 54 | LDFLAGS="$(LDFLAGS_FOR_BUILD)" | 54 | LDFLAGS="$(LDFLAGS_FOR_BUILD)" |
| 55 | 55 | ||
| 56 | # This is the list of directories to built for the host system. | 56 | # This is the list of directories to built for the host system. |
| 57 | @@ -214,6 +215,7 @@ HOST_EXPORTS = \ | 57 | @@ -215,6 +216,7 @@ HOST_EXPORTS = \ |
| 58 | CPP_FOR_BUILD="$(CPP_FOR_BUILD)"; export CPP_FOR_BUILD; \ | 58 | CPP_FOR_BUILD="$(CPP_FOR_BUILD)"; export CPP_FOR_BUILD; \ |
| 59 | CPPFLAGS_FOR_BUILD="$(CPPFLAGS_FOR_BUILD)"; export CPPFLAGS_FOR_BUILD; \ | 59 | CPPFLAGS_FOR_BUILD="$(CPPFLAGS_FOR_BUILD)"; export CPPFLAGS_FOR_BUILD; \ |
| 60 | CXX_FOR_BUILD="$(CXX_FOR_BUILD)"; export CXX_FOR_BUILD; \ | 60 | 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 c386b502aa..e8e829d9f5 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 @@ | |||
| 1 | From d145dd6dec6863aa303503643b2d3ed470936dd0 Mon Sep 17 00:00:00 2001 | 1 | From fd6aa3c3ff5361a738b31d6127cb05910cd6b8c0 Mon Sep 17 00:00:00 2001 |
| 2 | From: Khem Raj <raj.khem@gmail.com> | 2 | From: Khem Raj <raj.khem@gmail.com> |
| 3 | Date: Fri, 29 Mar 2013 09:17:25 +0400 | 3 | Date: Fri, 29 Mar 2013 09:17:25 +0400 |
| 4 | Subject: [PATCH] Use the defaults.h in ${B} instead of ${S}, and t-oe in ${B} | 4 | Subject: [PATCH] Use the defaults.h in ${B} instead of ${S}, and t-oe in ${B} |
| @@ -26,10 +26,10 @@ Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> | |||
| 26 | 4 files changed, 7 insertions(+), 7 deletions(-) | 26 | 4 files changed, 7 insertions(+), 7 deletions(-) |
| 27 | 27 | ||
| 28 | diff --git a/gcc/Makefile.in b/gcc/Makefile.in | 28 | diff --git a/gcc/Makefile.in b/gcc/Makefile.in |
| 29 | index a74761b7ab3..956437df95b 100644 | 29 | index 55b4cd7dbed..5546e259a20 100644 |
| 30 | --- a/gcc/Makefile.in | 30 | --- a/gcc/Makefile.in |
| 31 | +++ b/gcc/Makefile.in | 31 | +++ b/gcc/Makefile.in |
| 32 | @@ -590,7 +590,7 @@ TARGET_SYSTEM_ROOT = @TARGET_SYSTEM_ROOT@ | 32 | @@ -596,7 +596,7 @@ TARGET_SYSTEM_ROOT = @TARGET_SYSTEM_ROOT@ |
| 33 | TARGET_SYSTEM_ROOT_DEFINE = @TARGET_SYSTEM_ROOT_DEFINE@ | 33 | TARGET_SYSTEM_ROOT_DEFINE = @TARGET_SYSTEM_ROOT_DEFINE@ |
| 34 | 34 | ||
| 35 | xmake_file=@xmake_file@ | 35 | xmake_file=@xmake_file@ |
| @@ -39,10 +39,10 @@ index a74761b7ab3..956437df95b 100644 | |||
| 39 | TM_MULTILIB_CONFIG=@TM_MULTILIB_CONFIG@ | 39 | TM_MULTILIB_CONFIG=@TM_MULTILIB_CONFIG@ |
| 40 | TM_MULTILIB_EXCEPTIONS_CONFIG=@TM_MULTILIB_EXCEPTIONS_CONFIG@ | 40 | TM_MULTILIB_EXCEPTIONS_CONFIG=@TM_MULTILIB_EXCEPTIONS_CONFIG@ |
| 41 | diff --git a/gcc/configure b/gcc/configure | 41 | diff --git a/gcc/configure b/gcc/configure |
| 42 | index d3fa80408f4..f2706f94062 100755 | 42 | index 0f4a5d52c30..a2a8761055c 100755 |
| 43 | --- a/gcc/configure | 43 | --- a/gcc/configure |
| 44 | +++ b/gcc/configure | 44 | +++ b/gcc/configure |
| 45 | @@ -15161,8 +15161,8 @@ for f in $tm_file; do | 45 | @@ -15106,8 +15106,8 @@ for f in $tm_file; do |
| 46 | tm_include_list="${tm_include_list} $f" | 46 | tm_include_list="${tm_include_list} $f" |
| 47 | ;; | 47 | ;; |
| 48 | defaults.h ) | 48 | defaults.h ) |
| @@ -54,10 +54,10 @@ index d3fa80408f4..f2706f94062 100755 | |||
| 54 | * ) | 54 | * ) |
| 55 | tm_file_list="${tm_file_list} \$(srcdir)/config/$f" | 55 | tm_file_list="${tm_file_list} \$(srcdir)/config/$f" |
| 56 | diff --git a/gcc/configure.ac b/gcc/configure.ac | 56 | diff --git a/gcc/configure.ac b/gcc/configure.ac |
| 57 | index 2760b6c540c..3f972dea24f 100644 | 57 | index b0e3615e5aa..58ad9dc01fe 100644 |
| 58 | --- a/gcc/configure.ac | 58 | --- a/gcc/configure.ac |
| 59 | +++ b/gcc/configure.ac | 59 | +++ b/gcc/configure.ac |
| 60 | @@ -2390,8 +2390,8 @@ for f in $tm_file; do | 60 | @@ -2426,8 +2426,8 @@ for f in $tm_file; do |
| 61 | tm_include_list="${tm_include_list} $f" | 61 | tm_include_list="${tm_include_list} $f" |
| 62 | ;; | 62 | ;; |
| 63 | defaults.h ) | 63 | defaults.h ) |
| @@ -69,7 +69,7 @@ index 2760b6c540c..3f972dea24f 100644 | |||
| 69 | * ) | 69 | * ) |
| 70 | tm_file_list="${tm_file_list} \$(srcdir)/config/$f" | 70 | tm_file_list="${tm_file_list} \$(srcdir)/config/$f" |
| 71 | diff --git a/gcc/mkconfig.sh b/gcc/mkconfig.sh | 71 | diff --git a/gcc/mkconfig.sh b/gcc/mkconfig.sh |
| 72 | index 1b015b70b38..145af56745e 100644 | 72 | index e02466b4416..0ea1a0c9ca6 100644 |
| 73 | --- a/gcc/mkconfig.sh | 73 | --- a/gcc/mkconfig.sh |
| 74 | +++ b/gcc/mkconfig.sh | 74 | +++ b/gcc/mkconfig.sh |
| 75 | @@ -77,7 +77,7 @@ if [ -n "$HEADERS" ]; then | 75 | @@ -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 ca1158ee27..26476de33f 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 @@ | |||
| 1 | From 429711e243bbda4d662d687c1a6fea24fcb34827 Mon Sep 17 00:00:00 2001 | 1 | From b931ab5282cc11627b6f68a6477b79f41ae80b3a Mon Sep 17 00:00:00 2001 |
| 2 | From: Khem Raj <raj.khem@gmail.com> | 2 | From: Khem Raj <raj.khem@gmail.com> |
| 3 | Date: Fri, 29 Mar 2013 09:22:00 +0400 | 3 | Date: Fri, 29 Mar 2013 09:22:00 +0400 |
| 4 | Subject: [PATCH] cpp: honor sysroot. | 4 | Subject: [PATCH] cpp: honor sysroot. |
| @@ -26,10 +26,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> | |||
| 26 | 2 files changed, 2 insertions(+), 2 deletions(-) | 26 | 2 files changed, 2 insertions(+), 2 deletions(-) |
| 27 | 27 | ||
| 28 | diff --git a/gcc/cp/lang-specs.h b/gcc/cp/lang-specs.h | 28 | diff --git a/gcc/cp/lang-specs.h b/gcc/cp/lang-specs.h |
| 29 | index 7a7f5ff0ab5..fb3d88cdb11 100644 | 29 | index a67ce4c22a5..ce07a1c4b1d 100644 |
| 30 | --- a/gcc/cp/lang-specs.h | 30 | --- a/gcc/cp/lang-specs.h |
| 31 | +++ b/gcc/cp/lang-specs.h | 31 | +++ b/gcc/cp/lang-specs.h |
| 32 | @@ -116,7 +116,7 @@ along with GCC; see the file COPYING3. If not see | 32 | @@ -122,7 +122,7 @@ along with GCC; see the file COPYING3. If not see |
| 33 | {".ii", "@c++-cpp-output", 0, 0, 0}, | 33 | {".ii", "@c++-cpp-output", 0, 0, 0}, |
| 34 | {"@c++-cpp-output", | 34 | {"@c++-cpp-output", |
| 35 | "%{!E:%{!M:%{!MM:" | 35 | "%{!E:%{!M:%{!MM:" |
| @@ -39,10 +39,10 @@ index 7a7f5ff0ab5..fb3d88cdb11 100644 | |||
| 39 | " %{fmodule-only:%{!S:-o %g.s%V}}" | 39 | " %{fmodule-only:%{!S:-o %g.s%V}}" |
| 40 | " %{!fmodule-only:%{!fmodule-header*:%(invoke_as)}}}" | 40 | " %{!fmodule-only:%{!fmodule-header*:%(invoke_as)}}}" |
| 41 | diff --git a/gcc/gcc.cc b/gcc/gcc.cc | 41 | diff --git a/gcc/gcc.cc b/gcc/gcc.cc |
| 42 | index 343e4915097..e3e9374d1cc 100644 | 42 | index 79d4920a047..c1488865b8b 100644 |
| 43 | --- a/gcc/gcc.cc | 43 | --- a/gcc/gcc.cc |
| 44 | +++ b/gcc/gcc.cc | 44 | +++ b/gcc/gcc.cc |
| 45 | @@ -1487,7 +1487,7 @@ static const struct compiler default_compilers[] = | 45 | @@ -1497,7 +1497,7 @@ static const struct compiler default_compilers[] = |
| 46 | %W{o*:--output-pch %w%*}}%{!S:%V}}}}}}}}", 0, 0, 0}, | 46 | %W{o*:--output-pch %w%*}}%{!S:%V}}}}}}}}", 0, 0, 0}, |
| 47 | {".i", "@cpp-output", 0, 0, 0}, | 47 | {".i", "@cpp-output", 0, 0, 0}, |
| 48 | {"@cpp-output", | 48 | {"@cpp-output", |
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 4ed5501551..2b727b09af 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 @@ | |||
| 1 | From 4067ae345f0ff1fbf37c0348f2af09257513b817 Mon Sep 17 00:00:00 2001 | 1 | From d9513f8c3fa3f228358fd4d0716941e84bda413e Mon Sep 17 00:00:00 2001 |
| 2 | From: Khem Raj <raj.khem@gmail.com> | 2 | From: Khem Raj <raj.khem@gmail.com> |
| 3 | Date: Fri, 29 Mar 2013 09:24:50 +0400 | 3 | Date: Fri, 29 Mar 2013 09:24:50 +0400 |
| 4 | Subject: [PATCH] Define GLIBC_DYNAMIC_LINKER and UCLIBC_DYNAMIC_LINKER | 4 | Subject: [PATCH] Define GLIBC_DYNAMIC_LINKER and UCLIBC_DYNAMIC_LINKER |
| @@ -25,7 +25,6 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> | |||
| 25 | gcc/config/loongarch/gnu-user.h | 4 ++-- | 25 | gcc/config/loongarch/gnu-user.h | 4 ++-- |
| 26 | gcc/config/microblaze/linux.h | 4 ++-- | 26 | gcc/config/microblaze/linux.h | 4 ++-- |
| 27 | gcc/config/mips/linux.h | 18 +++++++++--------- | 27 | gcc/config/mips/linux.h | 18 +++++++++--------- |
| 28 | gcc/config/nios2/linux.h | 4 ++-- | ||
| 29 | gcc/config/riscv/linux.h | 4 ++-- | 28 | gcc/config/riscv/linux.h | 4 ++-- |
| 30 | gcc/config/rs6000/linux64.h | 15 +++++---------- | 29 | gcc/config/rs6000/linux64.h | 15 +++++---------- |
| 31 | gcc/config/rs6000/sysv4.h | 4 ++-- | 30 | gcc/config/rs6000/sysv4.h | 4 ++-- |
| @@ -33,10 +32,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> | |||
| 33 | gcc/config/sh/linux.h | 4 ++-- | 32 | gcc/config/sh/linux.h | 4 ++-- |
| 34 | gcc/config/sparc/linux.h | 2 +- | 33 | gcc/config/sparc/linux.h | 2 +- |
| 35 | gcc/config/sparc/linux64.h | 4 ++-- | 34 | gcc/config/sparc/linux64.h | 4 ++-- |
| 36 | 18 files changed, 53 insertions(+), 58 deletions(-) | 35 | 17 files changed, 51 insertions(+), 56 deletions(-) |
| 37 | 36 | ||
| 38 | diff --git a/gcc/config/aarch64/aarch64-linux.h b/gcc/config/aarch64/aarch64-linux.h | 37 | diff --git a/gcc/config/aarch64/aarch64-linux.h b/gcc/config/aarch64/aarch64-linux.h |
| 39 | index 8e51c8202cc..732e4f4a477 100644 | 38 | index 116bb4e69f3..c0de4900dc2 100644 |
| 40 | --- a/gcc/config/aarch64/aarch64-linux.h | 39 | --- a/gcc/config/aarch64/aarch64-linux.h |
| 41 | +++ b/gcc/config/aarch64/aarch64-linux.h | 40 | +++ b/gcc/config/aarch64/aarch64-linux.h |
| 42 | @@ -21,10 +21,10 @@ | 41 | @@ -21,10 +21,10 @@ |
| @@ -53,7 +52,7 @@ index 8e51c8202cc..732e4f4a477 100644 | |||
| 53 | #undef ASAN_CC1_SPEC | 52 | #undef ASAN_CC1_SPEC |
| 54 | #define ASAN_CC1_SPEC "%{%:sanitize(address):-funwind-tables}" | 53 | #define ASAN_CC1_SPEC "%{%:sanitize(address):-funwind-tables}" |
| 55 | diff --git a/gcc/config/alpha/linux-elf.h b/gcc/config/alpha/linux-elf.h | 54 | diff --git a/gcc/config/alpha/linux-elf.h b/gcc/config/alpha/linux-elf.h |
| 56 | index 40ccf0bd9b4..ab5c59655fc 100644 | 55 | index 3fd3b831166..6471fa32b0b 100644 |
| 57 | --- a/gcc/config/alpha/linux-elf.h | 56 | --- a/gcc/config/alpha/linux-elf.h |
| 58 | +++ b/gcc/config/alpha/linux-elf.h | 57 | +++ b/gcc/config/alpha/linux-elf.h |
| 59 | @@ -23,8 +23,8 @@ along with GCC; see the file COPYING3. If not see | 58 | @@ -23,8 +23,8 @@ along with GCC; see the file COPYING3. If not see |
| @@ -68,10 +67,10 @@ index 40ccf0bd9b4..ab5c59655fc 100644 | |||
| 68 | #define CHOOSE_DYNAMIC_LINKER(G, U) "%{mglibc:" G ";:" U "}" | 67 | #define CHOOSE_DYNAMIC_LINKER(G, U) "%{mglibc:" G ";:" U "}" |
| 69 | #elif DEFAULT_LIBC == LIBC_GLIBC | 68 | #elif DEFAULT_LIBC == LIBC_GLIBC |
| 70 | diff --git a/gcc/config/arm/linux-eabi.h b/gcc/config/arm/linux-eabi.h | 69 | diff --git a/gcc/config/arm/linux-eabi.h b/gcc/config/arm/linux-eabi.h |
| 71 | index eef791f6a02..335cb4c3607 100644 | 70 | index 8ef5643b5d6..76893197773 100644 |
| 72 | --- a/gcc/config/arm/linux-eabi.h | 71 | --- a/gcc/config/arm/linux-eabi.h |
| 73 | +++ b/gcc/config/arm/linux-eabi.h | 72 | +++ b/gcc/config/arm/linux-eabi.h |
| 74 | @@ -62,8 +62,8 @@ | 73 | @@ -65,8 +65,8 @@ |
| 75 | GLIBC_DYNAMIC_LINKER_DEFAULT and TARGET_DEFAULT_FLOAT_ABI. */ | 74 | GLIBC_DYNAMIC_LINKER_DEFAULT and TARGET_DEFAULT_FLOAT_ABI. */ |
| 76 | 75 | ||
| 77 | #undef GLIBC_DYNAMIC_LINKER | 76 | #undef GLIBC_DYNAMIC_LINKER |
| @@ -82,7 +81,7 @@ index eef791f6a02..335cb4c3607 100644 | |||
| 82 | #define GLIBC_DYNAMIC_LINKER_DEFAULT GLIBC_DYNAMIC_LINKER_SOFT_FLOAT | 81 | #define GLIBC_DYNAMIC_LINKER_DEFAULT GLIBC_DYNAMIC_LINKER_SOFT_FLOAT |
| 83 | 82 | ||
| 84 | #define GLIBC_DYNAMIC_LINKER \ | 83 | #define GLIBC_DYNAMIC_LINKER \ |
| 85 | @@ -86,7 +86,7 @@ | 84 | @@ -89,7 +89,7 @@ |
| 86 | #define MUSL_DYNAMIC_LINKER_E "%{mbig-endian:eb}" | 85 | #define MUSL_DYNAMIC_LINKER_E "%{mbig-endian:eb}" |
| 87 | #endif | 86 | #endif |
| 88 | #define MUSL_DYNAMIC_LINKER \ | 87 | #define MUSL_DYNAMIC_LINKER \ |
| @@ -92,7 +91,7 @@ index eef791f6a02..335cb4c3607 100644 | |||
| 92 | /* At this point, bpabi.h will have clobbered LINK_SPEC. We want to | 91 | /* At this point, bpabi.h will have clobbered LINK_SPEC. We want to |
| 93 | use the GNU/Linux version, not the generic BPABI version. */ | 92 | use the GNU/Linux version, not the generic BPABI version. */ |
| 94 | diff --git a/gcc/config/arm/linux-elf.h b/gcc/config/arm/linux-elf.h | 93 | diff --git a/gcc/config/arm/linux-elf.h b/gcc/config/arm/linux-elf.h |
| 95 | index ccae8abf6f6..ea421d03891 100644 | 94 | index d4d389e2aa8..6c4b1e13463 100644 |
| 96 | --- a/gcc/config/arm/linux-elf.h | 95 | --- a/gcc/config/arm/linux-elf.h |
| 97 | +++ b/gcc/config/arm/linux-elf.h | 96 | +++ b/gcc/config/arm/linux-elf.h |
| 98 | @@ -60,7 +60,7 @@ | 97 | @@ -60,7 +60,7 @@ |
| @@ -105,7 +104,7 @@ index ccae8abf6f6..ea421d03891 100644 | |||
| 105 | #define LINUX_TARGET_LINK_SPEC "%{h*} \ | 104 | #define LINUX_TARGET_LINK_SPEC "%{h*} \ |
| 106 | %{static:-Bstatic} \ | 105 | %{static:-Bstatic} \ |
| 107 | diff --git a/gcc/config/i386/linux.h b/gcc/config/i386/linux.h | 106 | diff --git a/gcc/config/i386/linux.h b/gcc/config/i386/linux.h |
| 108 | index 20a96d56e65..7a7a4f873e4 100644 | 107 | index efbd978c610..9ea0261b0fc 100644 |
| 109 | --- a/gcc/config/i386/linux.h | 108 | --- a/gcc/config/i386/linux.h |
| 110 | +++ b/gcc/config/i386/linux.h | 109 | +++ b/gcc/config/i386/linux.h |
| 111 | @@ -20,7 +20,7 @@ along with GCC; see the file COPYING3. If not see | 110 | @@ -20,7 +20,7 @@ along with GCC; see the file COPYING3. If not see |
| @@ -119,7 +118,7 @@ index 20a96d56e65..7a7a4f873e4 100644 | |||
| 119 | -#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-i386.so.1" | 118 | -#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-i386.so.1" |
| 120 | +#define MUSL_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-musl-i386.so.1" | 119 | +#define MUSL_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-musl-i386.so.1" |
| 121 | diff --git a/gcc/config/i386/linux64.h b/gcc/config/i386/linux64.h | 120 | diff --git a/gcc/config/i386/linux64.h b/gcc/config/i386/linux64.h |
| 122 | index 3dd23eef5e5..960cd7c0450 100644 | 121 | index 24170ee2845..733e3e4945a 100644 |
| 123 | --- a/gcc/config/i386/linux64.h | 122 | --- a/gcc/config/i386/linux64.h |
| 124 | +++ b/gcc/config/i386/linux64.h | 123 | +++ b/gcc/config/i386/linux64.h |
| 125 | @@ -27,13 +27,13 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see | 124 | @@ -27,13 +27,13 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see |
| @@ -143,7 +142,7 @@ index 3dd23eef5e5..960cd7c0450 100644 | |||
| 143 | -#define MUSL_DYNAMIC_LINKERX32 "/lib/ld-musl-x32.so.1" | 142 | -#define MUSL_DYNAMIC_LINKERX32 "/lib/ld-musl-x32.so.1" |
| 144 | +#define MUSL_DYNAMIC_LINKERX32 SYSTEMLIBS_DIR "ld-musl-x32.so.1" | 143 | +#define MUSL_DYNAMIC_LINKERX32 SYSTEMLIBS_DIR "ld-musl-x32.so.1" |
| 145 | diff --git a/gcc/config/linux.h b/gcc/config/linux.h | 144 | diff --git a/gcc/config/linux.h b/gcc/config/linux.h |
| 146 | index a7248ac90d0..e36f32bf59e 100644 | 145 | index d6280a4d4dd..c79d4902f85 100644 |
| 147 | --- a/gcc/config/linux.h | 146 | --- a/gcc/config/linux.h |
| 148 | +++ b/gcc/config/linux.h | 147 | +++ b/gcc/config/linux.h |
| 149 | @@ -86,10 +86,10 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see | 148 | @@ -86,10 +86,10 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see |
| @@ -162,7 +161,7 @@ index a7248ac90d0..e36f32bf59e 100644 | |||
| 162 | #define BIONIC_DYNAMIC_LINKER32 "/system/bin/linker" | 161 | #define BIONIC_DYNAMIC_LINKER32 "/system/bin/linker" |
| 163 | #define BIONIC_DYNAMIC_LINKER64 "/system/bin/linker64" | 162 | #define BIONIC_DYNAMIC_LINKER64 "/system/bin/linker64" |
| 164 | diff --git a/gcc/config/loongarch/gnu-user.h b/gcc/config/loongarch/gnu-user.h | 163 | diff --git a/gcc/config/loongarch/gnu-user.h b/gcc/config/loongarch/gnu-user.h |
| 165 | index e5d84e180e3..98cb49c189f 100644 | 164 | index fbc75a90ad5..38c239940bd 100644 |
| 166 | --- a/gcc/config/loongarch/gnu-user.h | 165 | --- a/gcc/config/loongarch/gnu-user.h |
| 167 | +++ b/gcc/config/loongarch/gnu-user.h | 166 | +++ b/gcc/config/loongarch/gnu-user.h |
| 168 | @@ -31,7 +31,7 @@ along with GCC; see the file COPYING3. If not see | 167 | @@ -31,7 +31,7 @@ along with GCC; see the file COPYING3. If not see |
| @@ -184,7 +183,7 @@ index e5d84e180e3..98cb49c189f 100644 | |||
| 184 | #undef GNU_USER_TARGET_LINK_SPEC | 183 | #undef GNU_USER_TARGET_LINK_SPEC |
| 185 | #define GNU_USER_TARGET_LINK_SPEC \ | 184 | #define GNU_USER_TARGET_LINK_SPEC \ |
| 186 | diff --git a/gcc/config/microblaze/linux.h b/gcc/config/microblaze/linux.h | 185 | diff --git a/gcc/config/microblaze/linux.h b/gcc/config/microblaze/linux.h |
| 187 | index 5ed8ee518be..299d1a62c81 100644 | 186 | index 7b09cde7693..8bfafaf87f7 100644 |
| 188 | --- a/gcc/config/microblaze/linux.h | 187 | --- a/gcc/config/microblaze/linux.h |
| 189 | +++ b/gcc/config/microblaze/linux.h | 188 | +++ b/gcc/config/microblaze/linux.h |
| 190 | @@ -28,7 +28,7 @@ | 189 | @@ -28,7 +28,7 @@ |
| @@ -206,7 +205,7 @@ index 5ed8ee518be..299d1a62c81 100644 | |||
| 206 | #undef SUBTARGET_EXTRA_SPECS | 205 | #undef SUBTARGET_EXTRA_SPECS |
| 207 | #define SUBTARGET_EXTRA_SPECS \ | 206 | #define SUBTARGET_EXTRA_SPECS \ |
| 208 | diff --git a/gcc/config/mips/linux.h b/gcc/config/mips/linux.h | 207 | diff --git a/gcc/config/mips/linux.h b/gcc/config/mips/linux.h |
| 209 | index 8d098dd2f44..1c5ebbd26d5 100644 | 208 | index ae15d490108..0281650009d 100644 |
| 210 | --- a/gcc/config/mips/linux.h | 209 | --- a/gcc/config/mips/linux.h |
| 211 | +++ b/gcc/config/mips/linux.h | 210 | +++ b/gcc/config/mips/linux.h |
| 212 | @@ -22,29 +22,29 @@ along with GCC; see the file COPYING3. If not see | 211 | @@ -22,29 +22,29 @@ along with GCC; see the file COPYING3. If not see |
| @@ -248,25 +247,8 @@ index 8d098dd2f44..1c5ebbd26d5 100644 | |||
| 248 | 247 | ||
| 249 | #define BIONIC_DYNAMIC_LINKERN32 "/system/bin/linker32" | 248 | #define BIONIC_DYNAMIC_LINKERN32 "/system/bin/linker32" |
| 250 | #define GNU_USER_DYNAMIC_LINKERN32 \ | 249 | #define GNU_USER_DYNAMIC_LINKERN32 \ |
| 251 | diff --git a/gcc/config/nios2/linux.h b/gcc/config/nios2/linux.h | ||
| 252 | index 06c442e85f4..b21a3c076c9 100644 | ||
| 253 | --- a/gcc/config/nios2/linux.h | ||
| 254 | +++ b/gcc/config/nios2/linux.h | ||
| 255 | @@ -29,10 +29,10 @@ | ||
| 256 | #undef CPP_SPEC | ||
| 257 | #define CPP_SPEC "%{posix:-D_POSIX_SOURCE} %{pthread:-D_REENTRANT}" | ||
| 258 | |||
| 259 | -#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux-nios2.so.1" | ||
| 260 | +#define GLIBC_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-linux-nios2.so.1" | ||
| 261 | |||
| 262 | #undef MUSL_DYNAMIC_LINKER | ||
| 263 | -#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-nios2.so.1" | ||
| 264 | +#define MUSL_DYNAMIC_LINKER SYSTEMLIBS_DIR "ld-musl-nios2.so.1" | ||
| 265 | |||
| 266 | #undef LINK_SPEC | ||
| 267 | #define LINK_SPEC LINK_SPEC_ENDIAN \ | ||
| 268 | diff --git a/gcc/config/riscv/linux.h b/gcc/config/riscv/linux.h | 250 | diff --git a/gcc/config/riscv/linux.h b/gcc/config/riscv/linux.h |
| 269 | index 3c356227134..4d16bae86db 100644 | 251 | index 9060c940a44..c7712db194a 100644 |
| 270 | --- a/gcc/config/riscv/linux.h | 252 | --- a/gcc/config/riscv/linux.h |
| 271 | +++ b/gcc/config/riscv/linux.h | 253 | +++ b/gcc/config/riscv/linux.h |
| 272 | @@ -22,7 +22,7 @@ along with GCC; see the file COPYING3. If not see | 254 | @@ -22,7 +22,7 @@ along with GCC; see the file COPYING3. If not see |
| @@ -288,7 +270,7 @@ index 3c356227134..4d16bae86db 100644 | |||
| 288 | #define ICACHE_FLUSH_FUNC "__riscv_flush_icache" | 270 | #define ICACHE_FLUSH_FUNC "__riscv_flush_icache" |
| 289 | 271 | ||
| 290 | diff --git a/gcc/config/rs6000/linux64.h b/gcc/config/rs6000/linux64.h | 272 | diff --git a/gcc/config/rs6000/linux64.h b/gcc/config/rs6000/linux64.h |
| 291 | index 655d1054d76..a11ae7643b7 100644 | 273 | index 0316d8cb65d..8de5eb8bb49 100644 |
| 292 | --- a/gcc/config/rs6000/linux64.h | 274 | --- a/gcc/config/rs6000/linux64.h |
| 293 | +++ b/gcc/config/rs6000/linux64.h | 275 | +++ b/gcc/config/rs6000/linux64.h |
| 294 | @@ -340,24 +340,19 @@ extern int dot_symbols; | 276 | @@ -340,24 +340,19 @@ extern int dot_symbols; |
| @@ -322,10 +304,10 @@ index 655d1054d76..a11ae7643b7 100644 | |||
| 322 | #undef DEFAULT_ASM_ENDIAN | 304 | #undef DEFAULT_ASM_ENDIAN |
| 323 | #if (TARGET_DEFAULT & MASK_LITTLE_ENDIAN) | 305 | #if (TARGET_DEFAULT & MASK_LITTLE_ENDIAN) |
| 324 | diff --git a/gcc/config/rs6000/sysv4.h b/gcc/config/rs6000/sysv4.h | 306 | diff --git a/gcc/config/rs6000/sysv4.h b/gcc/config/rs6000/sysv4.h |
| 325 | index bcafa9d0cf4..8fda952e69c 100644 | 307 | index afb5c6ad867..3eb6c814ced 100644 |
| 326 | --- a/gcc/config/rs6000/sysv4.h | 308 | --- a/gcc/config/rs6000/sysv4.h |
| 327 | +++ b/gcc/config/rs6000/sysv4.h | 309 | +++ b/gcc/config/rs6000/sysv4.h |
| 328 | @@ -771,10 +771,10 @@ GNU_USER_TARGET_CC1_SPEC | 310 | @@ -772,10 +772,10 @@ GNU_USER_TARGET_CC1_SPEC |
| 329 | 311 | ||
| 330 | #define MUSL_DYNAMIC_LINKER_E ENDIAN_SELECT("","le","") | 312 | #define MUSL_DYNAMIC_LINKER_E ENDIAN_SELECT("","le","") |
| 331 | 313 | ||
| @@ -339,7 +321,7 @@ index bcafa9d0cf4..8fda952e69c 100644 | |||
| 339 | #ifndef GNU_USER_DYNAMIC_LINKER | 321 | #ifndef GNU_USER_DYNAMIC_LINKER |
| 340 | #define GNU_USER_DYNAMIC_LINKER GLIBC_DYNAMIC_LINKER | 322 | #define GNU_USER_DYNAMIC_LINKER GLIBC_DYNAMIC_LINKER |
| 341 | diff --git a/gcc/config/s390/linux.h b/gcc/config/s390/linux.h | 323 | diff --git a/gcc/config/s390/linux.h b/gcc/config/s390/linux.h |
| 342 | index 83ea2f669a0..bc7cffbad3f 100644 | 324 | index 2c3bca5dfcb..1332624abad 100644 |
| 343 | --- a/gcc/config/s390/linux.h | 325 | --- a/gcc/config/s390/linux.h |
| 344 | +++ b/gcc/config/s390/linux.h | 326 | +++ b/gcc/config/s390/linux.h |
| 345 | @@ -72,13 +72,13 @@ along with GCC; see the file COPYING3. If not see | 327 | @@ -72,13 +72,13 @@ along with GCC; see the file COPYING3. If not see |
| @@ -361,7 +343,7 @@ index 83ea2f669a0..bc7cffbad3f 100644 | |||
| 361 | #undef LINK_SPEC | 343 | #undef LINK_SPEC |
| 362 | #define LINK_SPEC \ | 344 | #define LINK_SPEC \ |
| 363 | diff --git a/gcc/config/sh/linux.h b/gcc/config/sh/linux.h | 345 | diff --git a/gcc/config/sh/linux.h b/gcc/config/sh/linux.h |
| 364 | index 34cbbed633f..14000d3394c 100644 | 346 | index 78a7905a919..28493851982 100644 |
| 365 | --- a/gcc/config/sh/linux.h | 347 | --- a/gcc/config/sh/linux.h |
| 366 | +++ b/gcc/config/sh/linux.h | 348 | +++ b/gcc/config/sh/linux.h |
| 367 | @@ -61,10 +61,10 @@ along with GCC; see the file COPYING3. If not see | 349 | @@ -61,10 +61,10 @@ along with GCC; see the file COPYING3. If not see |
| @@ -378,7 +360,7 @@ index 34cbbed633f..14000d3394c 100644 | |||
| 378 | #undef SUBTARGET_LINK_EMUL_SUFFIX | 360 | #undef SUBTARGET_LINK_EMUL_SUFFIX |
| 379 | #define SUBTARGET_LINK_EMUL_SUFFIX "%{mfdpic:_fd;:_linux}" | 361 | #define SUBTARGET_LINK_EMUL_SUFFIX "%{mfdpic:_fd;:_linux}" |
| 380 | diff --git a/gcc/config/sparc/linux.h b/gcc/config/sparc/linux.h | 362 | diff --git a/gcc/config/sparc/linux.h b/gcc/config/sparc/linux.h |
| 381 | index 9646fa9c41e..396fb047fac 100644 | 363 | index 6d928846895..cd35dc8fa30 100644 |
| 382 | --- a/gcc/config/sparc/linux.h | 364 | --- a/gcc/config/sparc/linux.h |
| 383 | +++ b/gcc/config/sparc/linux.h | 365 | +++ b/gcc/config/sparc/linux.h |
| 384 | @@ -78,7 +78,7 @@ extern const char *host_detect_local_cpu (int argc, const char **argv); | 366 | @@ -78,7 +78,7 @@ extern const char *host_detect_local_cpu (int argc, const char **argv); |
| @@ -391,7 +373,7 @@ index 9646fa9c41e..396fb047fac 100644 | |||
| 391 | #undef LINK_SPEC | 373 | #undef LINK_SPEC |
| 392 | #define LINK_SPEC "-m elf32_sparc %{shared:-shared} \ | 374 | #define LINK_SPEC "-m elf32_sparc %{shared:-shared} \ |
| 393 | diff --git a/gcc/config/sparc/linux64.h b/gcc/config/sparc/linux64.h | 375 | diff --git a/gcc/config/sparc/linux64.h b/gcc/config/sparc/linux64.h |
| 394 | index 83e0d6874d9..9a32d2cfff5 100644 | 376 | index 97d5012f43f..65162c7c300 100644 |
| 395 | --- a/gcc/config/sparc/linux64.h | 377 | --- a/gcc/config/sparc/linux64.h |
| 396 | +++ b/gcc/config/sparc/linux64.h | 378 | +++ b/gcc/config/sparc/linux64.h |
| 397 | @@ -78,8 +78,8 @@ along with GCC; see the file COPYING3. If not see | 379 | @@ -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 b8081d4614..f24bb2acf0 100644 --- a/meta/recipes-devtools/gcc/gcc/0008-libtool.patch +++ b/meta/recipes-devtools/gcc/gcc/0008-libtool.patch | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | From 462e2111804490fcdbb9fd87a86b1e7ac1805803 Mon Sep 17 00:00:00 2001 | 1 | From 7108016f82a3ce9d275b5d0f37dbde422de6ab15 Mon Sep 17 00:00:00 2001 |
| 2 | From: Khem Raj <raj.khem@gmail.com> | 2 | From: Khem Raj <raj.khem@gmail.com> |
| 3 | Date: Fri, 29 Mar 2013 09:29:11 +0400 | 3 | Date: Fri, 29 Mar 2013 09:29:11 +0400 |
| 4 | Subject: [PATCH] libtool | 4 | Subject: [PATCH] libtool |
| @@ -22,10 +22,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> | |||
| 22 | 1 file changed, 4 insertions(+) | 22 | 1 file changed, 4 insertions(+) |
| 23 | 23 | ||
| 24 | diff --git a/ltmain.sh b/ltmain.sh | 24 | diff --git a/ltmain.sh b/ltmain.sh |
| 25 | index 70990740b6c..ee938056bef 100644 | 25 | index 1a710177fb2..e8474602b0b 100644 |
| 26 | --- a/ltmain.sh | 26 | --- a/ltmain.sh |
| 27 | +++ b/ltmain.sh | 27 | +++ b/ltmain.sh |
| 28 | @@ -6359,6 +6359,10 @@ func_mode_link () | 28 | @@ -6381,6 +6381,10 @@ func_mode_link () |
| 29 | func_warning "ignoring multiple \`-rpath's for a libtool library" | 29 | func_warning "ignoring multiple \`-rpath's for a libtool library" |
| 30 | 30 | ||
| 31 | install_libdir="$1" | 31 | install_libdir="$1" |
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 015777c35b..215a599cb8 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 @@ | |||
| 1 | From 702550757997de7013c96047dbc07791e5ff1d32 Mon Sep 17 00:00:00 2001 | 1 | From 135523bfabbd37cc6326da1a7ec3cd8bc7387439 Mon Sep 17 00:00:00 2001 |
| 2 | From: Khem Raj <raj.khem@gmail.com> | 2 | From: Khem Raj <raj.khem@gmail.com> |
| 3 | Date: Fri, 29 Mar 2013 09:30:32 +0400 | 3 | Date: Fri, 29 Mar 2013 09:30:32 +0400 |
| 4 | Subject: [PATCH] gcc: armv4: pass fix-v4bx to linker to support EABI. | 4 | Subject: [PATCH] gcc: armv4: pass fix-v4bx to linker to support EABI. |
| @@ -18,10 +18,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> | |||
| 18 | 1 file changed, 5 insertions(+), 1 deletion(-) | 18 | 1 file changed, 5 insertions(+), 1 deletion(-) |
| 19 | 19 | ||
| 20 | diff --git a/gcc/config/arm/linux-eabi.h b/gcc/config/arm/linux-eabi.h | 20 | diff --git a/gcc/config/arm/linux-eabi.h b/gcc/config/arm/linux-eabi.h |
| 21 | index 335cb4c3607..1d5235075cb 100644 | 21 | index 76893197773..12c334463c6 100644 |
| 22 | --- a/gcc/config/arm/linux-eabi.h | 22 | --- a/gcc/config/arm/linux-eabi.h |
| 23 | +++ b/gcc/config/arm/linux-eabi.h | 23 | +++ b/gcc/config/arm/linux-eabi.h |
| 24 | @@ -88,10 +88,14 @@ | 24 | @@ -91,10 +91,14 @@ |
| 25 | #define MUSL_DYNAMIC_LINKER \ | 25 | #define MUSL_DYNAMIC_LINKER \ |
| 26 | SYSTEMLIBS_DIR "ld-musl-arm" MUSL_DYNAMIC_LINKER_E "%{mfloat-abi=hard:hf}%{mfdpic:-fdpic}.so.1" | 26 | SYSTEMLIBS_DIR "ld-musl-arm" MUSL_DYNAMIC_LINKER_E "%{mfloat-abi=hard:hf}%{mfdpic:-fdpic}.so.1" |
| 27 | 27 | ||
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 9920e61a7f..c3c4212115 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 @@ | |||
| 1 | From 818edee70eb8c5471a9d2924dd50f7cdd9774c12 Mon Sep 17 00:00:00 2001 | 1 | From 2ede6edb029ef3d98f3ead90f7be54b71cb42ae2 Mon Sep 17 00:00:00 2001 |
| 2 | From: Khem Raj <raj.khem@gmail.com> | 2 | From: Khem Raj <raj.khem@gmail.com> |
| 3 | Date: Fri, 29 Mar 2013 09:33:04 +0400 | 3 | Date: Fri, 29 Mar 2013 09:33:04 +0400 |
| 4 | Subject: [PATCH] Use the multilib config files from ${B} instead of using the | 4 | Subject: [PATCH] Use the multilib config files from ${B} instead of using the |
| @@ -18,10 +18,10 @@ Upstream-Status: Inappropriate [configuration] | |||
| 18 | 2 files changed, 36 insertions(+), 8 deletions(-) | 18 | 2 files changed, 36 insertions(+), 8 deletions(-) |
| 19 | 19 | ||
| 20 | diff --git a/gcc/configure b/gcc/configure | 20 | diff --git a/gcc/configure b/gcc/configure |
| 21 | index f2706f94062..135c557b595 100755 | 21 | index a2a8761055c..a5a028f39c3 100755 |
| 22 | --- a/gcc/configure | 22 | --- a/gcc/configure |
| 23 | +++ b/gcc/configure | 23 | +++ b/gcc/configure |
| 24 | @@ -15141,10 +15141,20 @@ done | 24 | @@ -15086,10 +15086,20 @@ done |
| 25 | tmake_file_= | 25 | tmake_file_= |
| 26 | for f in ${tmake_file} | 26 | for f in ${tmake_file} |
| 27 | do | 27 | do |
| @@ -46,7 +46,7 @@ index f2706f94062..135c557b595 100755 | |||
| 46 | done | 46 | done |
| 47 | tmake_file="${tmake_file_}${omp_device_property_tmake_file}" | 47 | tmake_file="${tmake_file_}${omp_device_property_tmake_file}" |
| 48 | 48 | ||
| 49 | @@ -15155,6 +15165,10 @@ tm_file_list="options.h" | 49 | @@ -15100,6 +15110,10 @@ tm_file_list="options.h" |
| 50 | tm_include_list="options.h insn-constants.h" | 50 | tm_include_list="options.h insn-constants.h" |
| 51 | for f in $tm_file; do | 51 | for f in $tm_file; do |
| 52 | case $f in | 52 | case $f in |
| @@ -58,10 +58,10 @@ index f2706f94062..135c557b595 100755 | |||
| 58 | f=`echo $f | sed 's/^..//'` | 58 | f=`echo $f | sed 's/^..//'` |
| 59 | tm_file_list="${tm_file_list} $f" | 59 | tm_file_list="${tm_file_list} $f" |
| 60 | diff --git a/gcc/configure.ac b/gcc/configure.ac | 60 | diff --git a/gcc/configure.ac b/gcc/configure.ac |
| 61 | index 3f972dea24f..cbf8fea3ca1 100644 | 61 | index 58ad9dc01fe..36ed7153398 100644 |
| 62 | --- a/gcc/configure.ac | 62 | --- a/gcc/configure.ac |
| 63 | +++ b/gcc/configure.ac | 63 | +++ b/gcc/configure.ac |
| 64 | @@ -2370,10 +2370,20 @@ done | 64 | @@ -2406,10 +2406,20 @@ done |
| 65 | tmake_file_= | 65 | tmake_file_= |
| 66 | for f in ${tmake_file} | 66 | for f in ${tmake_file} |
| 67 | do | 67 | do |
| @@ -86,7 +86,7 @@ index 3f972dea24f..cbf8fea3ca1 100644 | |||
| 86 | done | 86 | done |
| 87 | tmake_file="${tmake_file_}${omp_device_property_tmake_file}" | 87 | tmake_file="${tmake_file_}${omp_device_property_tmake_file}" |
| 88 | 88 | ||
| 89 | @@ -2384,6 +2394,10 @@ tm_file_list="options.h" | 89 | @@ -2420,6 +2430,10 @@ tm_file_list="options.h" |
| 90 | tm_include_list="options.h insn-constants.h" | 90 | tm_include_list="options.h insn-constants.h" |
| 91 | for f in $tm_file; do | 91 | for f in $tm_file; do |
| 92 | case $f in | 92 | 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 index 0b19de57c0..9e05277515 100644 --- 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 | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | From 875975598d5a1000b8c8ad7596178d0a64f9e0cb Mon Sep 17 00:00:00 2001 | 1 | From a60798dd091f46dbb5f2fa9cf7655b41e9431a73 Mon Sep 17 00:00:00 2001 |
| 2 | From: Khem Raj <raj.khem@gmail.com> | 2 | From: Khem Raj <raj.khem@gmail.com> |
| 3 | Date: Tue, 31 Jan 2023 22:03:38 -0800 | 3 | Date: Tue, 31 Jan 2023 22:03:38 -0800 |
| 4 | Subject: [PATCH] aarch64: Fix include paths when S != B | 4 | Subject: [PATCH] aarch64: Fix include paths when S != B |
| @@ -28,10 +28,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> | |||
| 28 | 1 file changed, 7 insertions(+), 7 deletions(-) | 28 | 1 file changed, 7 insertions(+), 7 deletions(-) |
| 29 | 29 | ||
| 30 | diff --git a/gcc/config/aarch64/aarch64.h b/gcc/config/aarch64/aarch64.h | 30 | diff --git a/gcc/config/aarch64/aarch64.h b/gcc/config/aarch64/aarch64.h |
| 31 | index 4fa1dfc7906..63c9a832d1c 100644 | 31 | index e8bd8c73c12..6ea05b64601 100644 |
| 32 | --- a/gcc/config/aarch64/aarch64.h | 32 | --- a/gcc/config/aarch64/aarch64.h |
| 33 | +++ b/gcc/config/aarch64/aarch64.h | 33 | +++ b/gcc/config/aarch64/aarch64.h |
| 34 | @@ -170,9 +170,9 @@ enum class aarch64_feature : unsigned char { | 34 | @@ -163,9 +163,9 @@ enum class aarch64_feature : unsigned char { |
| 35 | #define DEF_AARCH64_ISA_MODE(IDENT) IDENT, | 35 | #define DEF_AARCH64_ISA_MODE(IDENT) IDENT, |
| 36 | #define AARCH64_OPT_EXTENSION(A, IDENT, C, D, E, F) IDENT, | 36 | #define AARCH64_OPT_EXTENSION(A, IDENT, C, D, E, F) IDENT, |
| 37 | #define AARCH64_ARCH(A, B, IDENT, D, E) IDENT, | 37 | #define AARCH64_ARCH(A, B, IDENT, D, E) IDENT, |
| @@ -44,7 +44,7 @@ index 4fa1dfc7906..63c9a832d1c 100644 | |||
| 44 | }; | 44 | }; |
| 45 | 45 | ||
| 46 | /* Define unique flags for each of the above. */ | 46 | /* Define unique flags for each of the above. */ |
| 47 | @@ -182,16 +182,16 @@ enum class aarch64_feature : unsigned char { | 47 | @@ -175,16 +175,16 @@ enum class aarch64_feature : unsigned char { |
| 48 | #define DEF_AARCH64_ISA_MODE(IDENT) HANDLE (IDENT) | 48 | #define DEF_AARCH64_ISA_MODE(IDENT) HANDLE (IDENT) |
| 49 | #define AARCH64_OPT_EXTENSION(A, IDENT, C, D, E, F) HANDLE (IDENT) | 49 | #define AARCH64_OPT_EXTENSION(A, IDENT, C, D, E, F) HANDLE (IDENT) |
| 50 | #define AARCH64_ARCH(A, B, IDENT, D, E) HANDLE (IDENT) | 50 | #define AARCH64_ARCH(A, B, IDENT, D, E) HANDLE (IDENT) |
| @@ -56,12 +56,12 @@ index 4fa1dfc7906..63c9a832d1c 100644 | |||
| 56 | +#include "config/aarch64/aarch64-arches.def" | 56 | +#include "config/aarch64/aarch64-arches.def" |
| 57 | #undef HANDLE | 57 | #undef HANDLE |
| 58 | 58 | ||
| 59 | constexpr auto AARCH64_FL_SM_STATE = AARCH64_FL_SM_ON | AARCH64_FL_SM_OFF; | 59 | /* Define aarch64_isa_mode masks. */ |
| 60 | 60 | #define DEF_AARCH64_ISA_MODE(IDENT) \ | |
| 61 | constexpr unsigned int AARCH64_NUM_ISA_MODES = (0 | 61 | constexpr auto AARCH64_ISA_MODE_##IDENT ATTRIBUTE_UNUSED \ |
| 62 | #define DEF_AARCH64_ISA_MODE(IDENT) + 1 | 62 | = aarch64_isa_mode (1) << int (aarch64_feature::IDENT); |
| 63 | -#include "aarch64-isa-modes.def" | 63 | -#include "aarch64-isa-modes.def" |
| 64 | +#include "config/aarch64/aarch64-isa-modes.def" | 64 | +#include "config/aarch64/aarch64-isa-modes.def" |
| 65 | ); | 65 | #undef HANDLE |
| 66 | 66 | ||
| 67 | /* The mask of all ISA modes. */ | 67 | constexpr auto AARCH64_FL_SM_STATE ATTRIBUTE_UNUSED |
diff --git a/meta/recipes-devtools/gcc/gcc/0012-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 index 6eb5bceebd..8d0c39f9ce 100644 --- a/meta/recipes-devtools/gcc/gcc/0012-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 @@ | |||
| 1 | From b38add903c7f701e5b79dd7d93fb7dc61d8252c7 Mon Sep 17 00:00:00 2001 | 1 | From 3745be5dece41bc2c633e1702980965e28888f62 Mon Sep 17 00:00:00 2001 |
| 2 | From: Khem Raj <raj.khem@gmail.com> | 2 | From: Khem Raj <raj.khem@gmail.com> |
| 3 | Date: Fri, 20 Feb 2015 09:39:38 +0000 | 3 | Date: Fri, 20 Feb 2015 09:39:38 +0000 |
| 4 | Subject: [PATCH] Avoid using libdir from .la which usually points to a host | 4 | Subject: [PATCH] Avoid using libdir from .la which usually points to a host |
| @@ -13,10 +13,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> | |||
| 13 | 1 file changed, 3 insertions(+) | 13 | 1 file changed, 3 insertions(+) |
| 14 | 14 | ||
| 15 | diff --git a/ltmain.sh b/ltmain.sh | 15 | diff --git a/ltmain.sh b/ltmain.sh |
| 16 | index ee938056bef..9ebc7e3d1e0 100644 | 16 | index e8474602b0b..ef93f977a52 100644 |
| 17 | --- a/ltmain.sh | 17 | --- a/ltmain.sh |
| 18 | +++ b/ltmain.sh | 18 | +++ b/ltmain.sh |
| 19 | @@ -5628,6 +5628,9 @@ func_mode_link () | 19 | @@ -5650,6 +5650,9 @@ func_mode_link () |
| 20 | absdir="$abs_ladir" | 20 | absdir="$abs_ladir" |
| 21 | libdir="$abs_ladir" | 21 | libdir="$abs_ladir" |
| 22 | else | 22 | else |
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 32a126ac8a..906ef3f74b 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 @@ | |||
| 1 | From 304299aef8b1ae1f89a0fabbceed0d48091b569b Mon Sep 17 00:00:00 2001 | 1 | From 860aae0d1f5dce7a879690d53a6ab54c6a32107e Mon Sep 17 00:00:00 2001 |
| 2 | From: Khem Raj <raj.khem@gmail.com> | 2 | From: Khem Raj <raj.khem@gmail.com> |
| 3 | Date: Fri, 20 Feb 2015 10:25:11 +0000 | 3 | Date: Fri, 20 Feb 2015 10:25:11 +0000 |
| 4 | Subject: [PATCH] Ensure target gcc headers can be included | 4 | Subject: [PATCH] Ensure target gcc headers can be included |
| @@ -25,10 +25,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> | |||
| 25 | 4 files changed, 22 insertions(+) | 25 | 4 files changed, 22 insertions(+) |
| 26 | 26 | ||
| 27 | diff --git a/gcc/Makefile.in b/gcc/Makefile.in | 27 | diff --git a/gcc/Makefile.in b/gcc/Makefile.in |
| 28 | index 956437df95b..6a009c696e9 100644 | 28 | index 5546e259a20..944d0a6680a 100644 |
| 29 | --- a/gcc/Makefile.in | 29 | --- a/gcc/Makefile.in |
| 30 | +++ b/gcc/Makefile.in | 30 | +++ b/gcc/Makefile.in |
| 31 | @@ -671,6 +671,7 @@ libexecdir = @libexecdir@ | 31 | @@ -680,6 +680,7 @@ libexecdir = @libexecdir@ |
| 32 | 32 | ||
| 33 | # Directory in which the compiler finds libraries etc. | 33 | # Directory in which the compiler finds libraries etc. |
| 34 | libsubdir = $(libdir)/gcc/$(real_target_noncanonical)/$(version)$(accel_dir_suffix) | 34 | libsubdir = $(libdir)/gcc/$(real_target_noncanonical)/$(version)$(accel_dir_suffix) |
| @@ -36,7 +36,7 @@ index 956437df95b..6a009c696e9 100644 | |||
| 36 | # Directory in which the compiler finds executables | 36 | # Directory in which the compiler finds executables |
| 37 | libexecsubdir = $(libexecdir)/gcc/$(real_target_noncanonical)/$(version)$(accel_dir_suffix) | 37 | libexecsubdir = $(libexecdir)/gcc/$(real_target_noncanonical)/$(version)$(accel_dir_suffix) |
| 38 | # Directory in which all plugin resources are installed | 38 | # Directory in which all plugin resources are installed |
| 39 | @@ -3199,6 +3200,7 @@ CFLAGS-intl.o += -DLOCALEDIR=\"$(localedir)\" | 39 | @@ -3397,6 +3398,7 @@ CFLAGS-intl.o += -DLOCALEDIR=\"$(localedir)\" |
| 40 | 40 | ||
| 41 | PREPROCESSOR_DEFINES = \ | 41 | PREPROCESSOR_DEFINES = \ |
| 42 | -DGCC_INCLUDE_DIR=\"$(libsubdir)/include\" \ | 42 | -DGCC_INCLUDE_DIR=\"$(libsubdir)/include\" \ |
| @@ -45,7 +45,7 @@ index 956437df95b..6a009c696e9 100644 | |||
| 45 | -DGPLUSPLUS_INCLUDE_DIR=\"$(gcc_gxx_include_dir)\" \ | 45 | -DGPLUSPLUS_INCLUDE_DIR=\"$(gcc_gxx_include_dir)\" \ |
| 46 | -DGPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT=$(gcc_gxx_include_dir_add_sysroot) \ | 46 | -DGPLUSPLUS_INCLUDE_DIR_ADD_SYSROOT=$(gcc_gxx_include_dir_add_sysroot) \ |
| 47 | diff --git a/gcc/config/linux.h b/gcc/config/linux.h | 47 | diff --git a/gcc/config/linux.h b/gcc/config/linux.h |
| 48 | index e36f32bf59e..c6aada42eb7 100644 | 48 | index c79d4902f85..640def63c27 100644 |
| 49 | --- a/gcc/config/linux.h | 49 | --- a/gcc/config/linux.h |
| 50 | +++ b/gcc/config/linux.h | 50 | +++ b/gcc/config/linux.h |
| 51 | @@ -157,6 +157,13 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see | 51 | @@ -157,6 +157,13 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see |
| @@ -71,10 +71,10 @@ index e36f32bf59e..c6aada42eb7 100644 | |||
| 71 | { GCC_INCLUDE_DIR, "GCC", 0, 1, 0, 0 }, \ | 71 | { GCC_INCLUDE_DIR, "GCC", 0, 1, 0, 0 }, \ |
| 72 | { 0, 0, 0, 0, 0, 0 } \ | 72 | { 0, 0, 0, 0, 0, 0 } \ |
| 73 | diff --git a/gcc/config/rs6000/sysv4.h b/gcc/config/rs6000/sysv4.h | 73 | diff --git a/gcc/config/rs6000/sysv4.h b/gcc/config/rs6000/sysv4.h |
| 74 | index 8fda952e69c..247acec9d8e 100644 | 74 | index 3eb6c814ced..d534b9d2295 100644 |
| 75 | --- a/gcc/config/rs6000/sysv4.h | 75 | --- a/gcc/config/rs6000/sysv4.h |
| 76 | +++ b/gcc/config/rs6000/sysv4.h | 76 | +++ b/gcc/config/rs6000/sysv4.h |
| 77 | @@ -986,6 +986,13 @@ ncrtn.o%s" | 77 | @@ -987,6 +987,13 @@ ncrtn.o%s" |
| 78 | #define INCLUDE_DEFAULTS_MUSL_TOOL | 78 | #define INCLUDE_DEFAULTS_MUSL_TOOL |
| 79 | #endif | 79 | #endif |
| 80 | 80 | ||
| @@ -88,7 +88,7 @@ index 8fda952e69c..247acec9d8e 100644 | |||
| 88 | #ifdef NATIVE_SYSTEM_HEADER_DIR | 88 | #ifdef NATIVE_SYSTEM_HEADER_DIR |
| 89 | #define INCLUDE_DEFAULTS_MUSL_NATIVE \ | 89 | #define INCLUDE_DEFAULTS_MUSL_NATIVE \ |
| 90 | { NATIVE_SYSTEM_HEADER_DIR, 0, 0, 0, 1, 2 }, \ | 90 | { NATIVE_SYSTEM_HEADER_DIR, 0, 0, 0, 1, 2 }, \ |
| 91 | @@ -1012,6 +1019,7 @@ ncrtn.o%s" | 91 | @@ -1013,6 +1020,7 @@ ncrtn.o%s" |
| 92 | INCLUDE_DEFAULTS_MUSL_PREFIX \ | 92 | INCLUDE_DEFAULTS_MUSL_PREFIX \ |
| 93 | INCLUDE_DEFAULTS_MUSL_CROSS \ | 93 | INCLUDE_DEFAULTS_MUSL_CROSS \ |
| 94 | INCLUDE_DEFAULTS_MUSL_TOOL \ | 94 | INCLUDE_DEFAULTS_MUSL_TOOL \ |
| @@ -97,7 +97,7 @@ index 8fda952e69c..247acec9d8e 100644 | |||
| 97 | { GCC_INCLUDE_DIR, "GCC", 0, 1, 0, 0 }, \ | 97 | { GCC_INCLUDE_DIR, "GCC", 0, 1, 0, 0 }, \ |
| 98 | { 0, 0, 0, 0, 0, 0 } \ | 98 | { 0, 0, 0, 0, 0, 0 } \ |
| 99 | diff --git a/gcc/cppdefault.cc b/gcc/cppdefault.cc | 99 | diff --git a/gcc/cppdefault.cc b/gcc/cppdefault.cc |
| 100 | index f82b4badad7..98bd66f95c6 100644 | 100 | index f98c39c53ec..db1e517fadc 100644 |
| 101 | --- a/gcc/cppdefault.cc | 101 | --- a/gcc/cppdefault.cc |
| 102 | +++ b/gcc/cppdefault.cc | 102 | +++ b/gcc/cppdefault.cc |
| 103 | @@ -64,6 +64,10 @@ const struct default_include cpp_include_defaults[] | 103 | @@ -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 5f48dccc0a..c7bf8d1c8e 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 @@ | |||
| 1 | From a32cbf0d1c036e6435469898829f96a02c5993a8 Mon Sep 17 00:00:00 2001 | 1 | From f28f581fbafa76a48cc7e88ab9c6eb63db6342c4 Mon Sep 17 00:00:00 2001 |
| 2 | From: Khem Raj <raj.khem@gmail.com> | 2 | From: Khem Raj <raj.khem@gmail.com> |
| 3 | Date: Tue, 3 Mar 2015 08:21:19 +0000 | 3 | Date: Tue, 3 Mar 2015 08:21:19 +0000 |
| 4 | Subject: [PATCH] Don't search host directory during "relink" if $inst_prefix | 4 | Subject: [PATCH] Don't search host directory during "relink" if $inst_prefix |
| @@ -14,10 +14,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> | |||
| 14 | 1 file changed, 3 insertions(+), 2 deletions(-) | 14 | 1 file changed, 3 insertions(+), 2 deletions(-) |
| 15 | 15 | ||
| 16 | diff --git a/ltmain.sh b/ltmain.sh | 16 | diff --git a/ltmain.sh b/ltmain.sh |
| 17 | index 9ebc7e3d1e0..7ea79fa8be6 100644 | 17 | index ef93f977a52..2ae16bf5d63 100644 |
| 18 | --- a/ltmain.sh | 18 | --- a/ltmain.sh |
| 19 | +++ b/ltmain.sh | 19 | +++ b/ltmain.sh |
| 20 | @@ -6004,12 +6004,13 @@ func_mode_link () | 20 | @@ -6026,12 +6026,13 @@ func_mode_link () |
| 21 | fi | 21 | fi |
| 22 | else | 22 | else |
| 23 | # We cannot seem to hardcode it, guess we'll fake it. | 23 | # We cannot seem to hardcode it, guess we'll fake it. |
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 e34e65e479..9abf72b8e8 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 @@ | |||
| 1 | From 6721497a3b4b575e5f9eae785dd4eca0f87b4a5b Mon Sep 17 00:00:00 2001 | 1 | From b54d51c58012f9eac31cf83a8e02c7069bf80a74 Mon Sep 17 00:00:00 2001 |
| 2 | From: Robert Yang <liezhi.yang@windriver.com> | 2 | From: Robert Yang <liezhi.yang@windriver.com> |
| 3 | Date: Sun, 5 Jul 2015 20:25:18 -0700 | 3 | Date: Sun, 5 Jul 2015 20:25:18 -0700 |
| 4 | Subject: [PATCH] libcc1: fix libcc1's install path and rpath | 4 | Subject: [PATCH] libcc1: fix libcc1's install path and rpath |
| @@ -20,7 +20,7 @@ Signed-off-by: Robert Yang <liezhi.yang@windriver.com> | |||
| 20 | 2 files changed, 4 insertions(+), 4 deletions(-) | 20 | 2 files changed, 4 insertions(+), 4 deletions(-) |
| 21 | 21 | ||
| 22 | diff --git a/libcc1/Makefile.am b/libcc1/Makefile.am | 22 | diff --git a/libcc1/Makefile.am b/libcc1/Makefile.am |
| 23 | index b592bc8645f..97e2b615fb7 100644 | 23 | index f79e48a9aa2..bd8390946a2 100644 |
| 24 | --- a/libcc1/Makefile.am | 24 | --- a/libcc1/Makefile.am |
| 25 | +++ b/libcc1/Makefile.am | 25 | +++ b/libcc1/Makefile.am |
| 26 | @@ -40,8 +40,8 @@ libiberty = $(if $(wildcard $(libiberty_noasan)),$(Wc)$(libiberty_noasan), \ | 26 | @@ -40,8 +40,8 @@ libiberty = $(if $(wildcard $(libiberty_noasan)),$(Wc)$(libiberty_noasan), \ |
| @@ -35,7 +35,7 @@ index b592bc8645f..97e2b615fb7 100644 | |||
| 35 | if ENABLE_PLUGIN | 35 | if ENABLE_PLUGIN |
| 36 | plugin_LTLIBRARIES = libcc1plugin.la libcp1plugin.la | 36 | plugin_LTLIBRARIES = libcc1plugin.la libcp1plugin.la |
| 37 | diff --git a/libcc1/Makefile.in b/libcc1/Makefile.in | 37 | diff --git a/libcc1/Makefile.in b/libcc1/Makefile.in |
| 38 | index f8f590d71e9..56462492045 100644 | 38 | index 9d56a8323b0..4deb08d8b34 100644 |
| 39 | --- a/libcc1/Makefile.in | 39 | --- a/libcc1/Makefile.in |
| 40 | +++ b/libcc1/Makefile.in | 40 | +++ b/libcc1/Makefile.in |
| 41 | @@ -396,8 +396,8 @@ libiberty = $(if $(wildcard $(libiberty_noasan)),$(Wc)$(libiberty_noasan), \ | 41 | @@ -396,8 +396,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 edd100ee46..682317fee8 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 @@ | |||
| 1 | From 3f5ac862051e1c77dcca3e63a912f43d66ccdb6f Mon Sep 17 00:00:00 2001 | 1 | From ccfe6d014e8cc04b0d3420f82dca8920fb659a07 Mon Sep 17 00:00:00 2001 |
| 2 | From: Khem Raj <raj.khem@gmail.com> | 2 | From: Khem Raj <raj.khem@gmail.com> |
| 3 | Date: Mon, 7 Dec 2015 23:39:54 +0000 | 3 | Date: Mon, 7 Dec 2015 23:39:54 +0000 |
| 4 | Subject: [PATCH] handle sysroot support for nativesdk-gcc | 4 | Subject: [PATCH] handle sysroot support for nativesdk-gcc |
| @@ -46,10 +46,10 @@ Signed-off-by: Mark Hatle <mark.hatle@kernel.crashing.org> | |||
| 46 | 8 files changed, 95 insertions(+), 73 deletions(-) | 46 | 8 files changed, 95 insertions(+), 73 deletions(-) |
| 47 | 47 | ||
| 48 | diff --git a/gcc/c-family/c-opts.cc b/gcc/c-family/c-opts.cc | 48 | diff --git a/gcc/c-family/c-opts.cc b/gcc/c-family/c-opts.cc |
| 49 | index f4dced8d826..911aeb68d2d 100644 | 49 | index d43b3aef102..b157ad37483 100644 |
| 50 | --- a/gcc/c-family/c-opts.cc | 50 | --- a/gcc/c-family/c-opts.cc |
| 51 | +++ b/gcc/c-family/c-opts.cc | 51 | +++ b/gcc/c-family/c-opts.cc |
| 52 | @@ -1542,8 +1542,8 @@ add_prefixed_path (const char *suffix, incpath_kind chain) | 52 | @@ -1610,8 +1610,8 @@ add_prefixed_path (const char *suffix, incpath_kind chain) |
| 53 | size_t prefix_len, suffix_len; | 53 | size_t prefix_len, suffix_len; |
| 54 | 54 | ||
| 55 | suffix_len = strlen (suffix); | 55 | suffix_len = strlen (suffix); |
| @@ -61,7 +61,7 @@ index f4dced8d826..911aeb68d2d 100644 | |||
| 61 | path = (char *) xmalloc (prefix_len + suffix_len + 1); | 61 | path = (char *) xmalloc (prefix_len + suffix_len + 1); |
| 62 | memcpy (path, prefix, prefix_len); | 62 | memcpy (path, prefix, prefix_len); |
| 63 | diff --git a/gcc/config/linux.h b/gcc/config/linux.h | 63 | diff --git a/gcc/config/linux.h b/gcc/config/linux.h |
| 64 | index c6aada42eb7..79ff13184d3 100644 | 64 | index 640def63c27..0f937abe729 100644 |
| 65 | --- a/gcc/config/linux.h | 65 | --- a/gcc/config/linux.h |
| 66 | +++ b/gcc/config/linux.h | 66 | +++ b/gcc/config/linux.h |
| 67 | @@ -121,53 +121,53 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see | 67 | @@ -121,53 +121,53 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see |
| @@ -139,10 +139,10 @@ index c6aada42eb7..79ff13184d3 100644 | |||
| 139 | } | 139 | } |
| 140 | #endif | 140 | #endif |
| 141 | diff --git a/gcc/config/rs6000/sysv4.h b/gcc/config/rs6000/sysv4.h | 141 | diff --git a/gcc/config/rs6000/sysv4.h b/gcc/config/rs6000/sysv4.h |
| 142 | index 247acec9d8e..5526bf050b8 100644 | 142 | index d534b9d2295..c5257425705 100644 |
| 143 | --- a/gcc/config/rs6000/sysv4.h | 143 | --- a/gcc/config/rs6000/sysv4.h |
| 144 | +++ b/gcc/config/rs6000/sysv4.h | 144 | +++ b/gcc/config/rs6000/sysv4.h |
| 145 | @@ -950,53 +950,53 @@ ncrtn.o%s" | 145 | @@ -951,53 +951,53 @@ ncrtn.o%s" |
| 146 | /* Include order changes for musl, same as in generic linux.h. */ | 146 | /* Include order changes for musl, same as in generic linux.h. */ |
| 147 | #if DEFAULT_LIBC == LIBC_MUSL | 147 | #if DEFAULT_LIBC == LIBC_MUSL |
| 148 | #define INCLUDE_DEFAULTS_MUSL_GPP \ | 148 | #define INCLUDE_DEFAULTS_MUSL_GPP \ |
| @@ -207,7 +207,7 @@ index 247acec9d8e..5526bf050b8 100644 | |||
| 207 | #else | 207 | #else |
| 208 | #define INCLUDE_DEFAULTS_MUSL_NATIVE | 208 | #define INCLUDE_DEFAULTS_MUSL_NATIVE |
| 209 | #endif | 209 | #endif |
| 210 | @@ -1021,7 +1021,7 @@ ncrtn.o%s" | 210 | @@ -1022,7 +1022,7 @@ ncrtn.o%s" |
| 211 | INCLUDE_DEFAULTS_MUSL_TOOL \ | 211 | INCLUDE_DEFAULTS_MUSL_TOOL \ |
| 212 | INCLUDE_DEFAULTS_MUSL_SUBDIR_TARGET \ | 212 | INCLUDE_DEFAULTS_MUSL_SUBDIR_TARGET \ |
| 213 | INCLUDE_DEFAULTS_MUSL_NATIVE \ | 213 | INCLUDE_DEFAULTS_MUSL_NATIVE \ |
| @@ -217,7 +217,7 @@ index 247acec9d8e..5526bf050b8 100644 | |||
| 217 | } | 217 | } |
| 218 | #endif | 218 | #endif |
| 219 | diff --git a/gcc/cppdefault.cc b/gcc/cppdefault.cc | 219 | diff --git a/gcc/cppdefault.cc b/gcc/cppdefault.cc |
| 220 | index 98bd66f95c6..742a4e56d5b 100644 | 220 | index db1e517fadc..8867e8bb341 100644 |
| 221 | --- a/gcc/cppdefault.cc | 221 | --- a/gcc/cppdefault.cc |
| 222 | +++ b/gcc/cppdefault.cc | 222 | +++ b/gcc/cppdefault.cc |
| 223 | @@ -35,6 +35,30 @@ | 223 | @@ -35,6 +35,30 @@ |
| @@ -347,7 +347,7 @@ index 98bd66f95c6..742a4e56d5b 100644 | |||
| 347 | /* This value is set by cpp_relocated at runtime */ | 347 | /* This value is set by cpp_relocated at runtime */ |
| 348 | const char *gcc_exec_prefix; | 348 | const char *gcc_exec_prefix; |
| 349 | diff --git a/gcc/cppdefault.h b/gcc/cppdefault.h | 349 | diff --git a/gcc/cppdefault.h b/gcc/cppdefault.h |
| 350 | index e9b9264caff..168144b84b8 100644 | 350 | index e033af78280..0af197df7b2 100644 |
| 351 | --- a/gcc/cppdefault.h | 351 | --- a/gcc/cppdefault.h |
| 352 | +++ b/gcc/cppdefault.h | 352 | +++ b/gcc/cppdefault.h |
| 353 | @@ -33,7 +33,8 @@ | 353 | @@ -33,7 +33,8 @@ |
| @@ -382,10 +382,10 @@ index e9b9264caff..168144b84b8 100644 | |||
| 382 | subdirectory of the actual installation. */ | 382 | subdirectory of the actual installation. */ |
| 383 | extern const char *gcc_exec_prefix; | 383 | extern const char *gcc_exec_prefix; |
| 384 | diff --git a/gcc/gcc.cc b/gcc/gcc.cc | 384 | diff --git a/gcc/gcc.cc b/gcc/gcc.cc |
| 385 | index e3e9374d1cc..b080609341b 100644 | 385 | index c1488865b8b..007c91780f6 100644 |
| 386 | --- a/gcc/gcc.cc | 386 | --- a/gcc/gcc.cc |
| 387 | +++ b/gcc/gcc.cc | 387 | +++ b/gcc/gcc.cc |
| 388 | @@ -259,6 +259,8 @@ FILE *report_times_to_file = NULL; | 388 | @@ -265,6 +265,8 @@ FILE *report_times_to_file = NULL; |
| 389 | #endif | 389 | #endif |
| 390 | static const char *target_system_root = DEFAULT_TARGET_SYSTEM_ROOT; | 390 | static const char *target_system_root = DEFAULT_TARGET_SYSTEM_ROOT; |
| 391 | 391 | ||
| @@ -394,7 +394,7 @@ index e3e9374d1cc..b080609341b 100644 | |||
| 394 | /* Nonzero means pass the updated target_system_root to the compiler. */ | 394 | /* Nonzero means pass the updated target_system_root to the compiler. */ |
| 395 | 395 | ||
| 396 | static int target_system_root_changed; | 396 | static int target_system_root_changed; |
| 397 | @@ -591,6 +593,7 @@ or with constant text in a single argument. | 397 | @@ -598,6 +600,7 @@ or with constant text in a single argument. |
| 398 | %G process LIBGCC_SPEC as a spec. | 398 | %G process LIBGCC_SPEC as a spec. |
| 399 | %R Output the concatenation of target_system_root and | 399 | %R Output the concatenation of target_system_root and |
| 400 | target_sysroot_suffix. | 400 | target_sysroot_suffix. |
| @@ -402,7 +402,7 @@ index e3e9374d1cc..b080609341b 100644 | |||
| 402 | %S process STARTFILE_SPEC as a spec. A capital S is actually used here. | 402 | %S process STARTFILE_SPEC as a spec. A capital S is actually used here. |
| 403 | %E process ENDFILE_SPEC as a spec. A capital E is actually used here. | 403 | %E process ENDFILE_SPEC as a spec. A capital E is actually used here. |
| 404 | %C process CPP_SPEC as a spec. | 404 | %C process CPP_SPEC as a spec. |
| 405 | @@ -1638,10 +1641,10 @@ static const char *gcc_libexec_prefix; | 405 | @@ -1648,10 +1651,10 @@ static const char *gcc_libexec_prefix; |
| 406 | gcc_exec_prefix is set because, in that case, we know where the | 406 | gcc_exec_prefix is set because, in that case, we know where the |
| 407 | compiler has been installed, and use paths relative to that | 407 | compiler has been installed, and use paths relative to that |
| 408 | location instead. */ | 408 | location instead. */ |
| @@ -417,7 +417,7 @@ index e3e9374d1cc..b080609341b 100644 | |||
| 417 | 417 | ||
| 418 | /* For native compilers, these are well-known paths containing | 418 | /* For native compilers, these are well-known paths containing |
| 419 | components that may be provided by the system. For cross | 419 | components that may be provided by the system. For cross |
| 420 | @@ -1649,9 +1652,9 @@ static const char *const standard_startfile_prefix = STANDARD_STARTFILE_PREFIX; | 420 | @@ -1659,9 +1662,9 @@ static const char *const standard_startfile_prefix = STANDARD_STARTFILE_PREFIX; |
| 421 | static const char *md_exec_prefix = MD_EXEC_PREFIX; | 421 | static const char *md_exec_prefix = MD_EXEC_PREFIX; |
| 422 | static const char *md_startfile_prefix = MD_STARTFILE_PREFIX; | 422 | static const char *md_startfile_prefix = MD_STARTFILE_PREFIX; |
| 423 | static const char *md_startfile_prefix_1 = MD_STARTFILE_PREFIX_1; | 423 | static const char *md_startfile_prefix_1 = MD_STARTFILE_PREFIX_1; |
| @@ -429,7 +429,7 @@ index e3e9374d1cc..b080609341b 100644 | |||
| 429 | = STANDARD_STARTFILE_PREFIX_2; | 429 | = STANDARD_STARTFILE_PREFIX_2; |
| 430 | 430 | ||
| 431 | /* A relative path to be used in finding the location of tools | 431 | /* A relative path to be used in finding the location of tools |
| 432 | @@ -6796,6 +6799,11 @@ do_spec_1 (const char *spec, int inswitch, const char *soft_matched_part) | 432 | @@ -6837,6 +6840,11 @@ do_spec_1 (const char *spec, int inswitch, const char *soft_matched_part) |
| 433 | } | 433 | } |
| 434 | break; | 434 | break; |
| 435 | 435 | ||
| @@ -442,7 +442,7 @@ index e3e9374d1cc..b080609341b 100644 | |||
| 442 | value = do_spec_1 (startfile_spec, 0, NULL); | 442 | value = do_spec_1 (startfile_spec, 0, NULL); |
| 443 | if (value != 0) | 443 | if (value != 0) |
| 444 | diff --git a/gcc/incpath.cc b/gcc/incpath.cc | 444 | diff --git a/gcc/incpath.cc b/gcc/incpath.cc |
| 445 | index e572d98ab17..2cb2b586e4a 100644 | 445 | index 2cdbebc4c50..b61a9d1b2fc 100644 |
| 446 | --- a/gcc/incpath.cc | 446 | --- a/gcc/incpath.cc |
| 447 | +++ b/gcc/incpath.cc | 447 | +++ b/gcc/incpath.cc |
| 448 | @@ -135,7 +135,7 @@ add_standard_paths (const char *sysroot, const char *iprefix, | 448 | @@ -135,7 +135,7 @@ add_standard_paths (const char *sysroot, const char *iprefix, |
| @@ -489,7 +489,7 @@ index e572d98ab17..2cb2b586e4a 100644 | |||
| 489 | str = update_path (ostr, p->component); | 489 | str = update_path (ostr, p->component); |
| 490 | free (ostr); | 490 | free (ostr); |
| 491 | diff --git a/gcc/prefix.cc b/gcc/prefix.cc | 491 | diff --git a/gcc/prefix.cc b/gcc/prefix.cc |
| 492 | index 6a98e856855..c403b2da7a3 100644 | 492 | index 0c79d60a6c8..27c79f09be4 100644 |
| 493 | --- a/gcc/prefix.cc | 493 | --- a/gcc/prefix.cc |
| 494 | +++ b/gcc/prefix.cc | 494 | +++ b/gcc/prefix.cc |
| 495 | @@ -73,7 +73,9 @@ License along with GCC; see the file COPYING3. If not see | 495 | @@ -73,7 +73,9 @@ License along with GCC; see the file COPYING3. If not see |
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 39c3bab9cc..b3ab4996c3 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 @@ | |||
| 1 | From b2d95de58356c242abfe35467c2366d4e4b842ce Mon Sep 17 00:00:00 2001 | 1 | From 1756ca43dc85ee9d367350d68b908e6681ddd986 Mon Sep 17 00:00:00 2001 |
| 2 | From: Khem Raj <raj.khem@gmail.com> | 2 | From: Khem Raj <raj.khem@gmail.com> |
| 3 | Date: Mon, 7 Dec 2015 23:41:45 +0000 | 3 | Date: Mon, 7 Dec 2015 23:41:45 +0000 |
| 4 | Subject: [PATCH] Search target sysroot gcc version specific dirs with | 4 | Subject: [PATCH] Search target sysroot gcc version specific dirs with |
| @@ -52,10 +52,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> | |||
| 52 | 1 file changed, 28 insertions(+), 1 deletion(-) | 52 | 1 file changed, 28 insertions(+), 1 deletion(-) |
| 53 | 53 | ||
| 54 | diff --git a/gcc/gcc.cc b/gcc/gcc.cc | 54 | diff --git a/gcc/gcc.cc b/gcc/gcc.cc |
| 55 | index b080609341b..1a1ca05064e 100644 | 55 | index 007c91780f6..22eb17bc099 100644 |
| 56 | --- a/gcc/gcc.cc | 56 | --- a/gcc/gcc.cc |
| 57 | +++ b/gcc/gcc.cc | 57 | +++ b/gcc/gcc.cc |
| 58 | @@ -2823,7 +2823,7 @@ for_each_path (const struct path_prefix *paths, | 58 | @@ -2837,7 +2837,7 @@ for_each_path (const struct path_prefix *paths, |
| 59 | if (path == NULL) | 59 | if (path == NULL) |
| 60 | { | 60 | { |
| 61 | len = paths->max_len + extra_space + 1; | 61 | len = paths->max_len + extra_space + 1; |
| @@ -64,7 +64,7 @@ index b080609341b..1a1ca05064e 100644 | |||
| 64 | path = XNEWVEC (char, len); | 64 | path = XNEWVEC (char, len); |
| 65 | } | 65 | } |
| 66 | 66 | ||
| 67 | @@ -2835,6 +2835,33 @@ for_each_path (const struct path_prefix *paths, | 67 | @@ -2849,6 +2849,33 @@ for_each_path (const struct path_prefix *paths, |
| 68 | /* Look first in MACHINE/VERSION subdirectory. */ | 68 | /* Look first in MACHINE/VERSION subdirectory. */ |
| 69 | if (!skip_multi_dir) | 69 | if (!skip_multi_dir) |
| 70 | { | 70 | { |
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 76da0f79bf..1b2da32a42 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 @@ | |||
| 1 | From e420858f23a1fe58e840bd5ae21cb5a964b27f0b Mon Sep 17 00:00:00 2001 | 1 | From 777963807e14a091c263d603cebfd7bb02f63b24 Mon Sep 17 00:00:00 2001 |
| 2 | From: Khem Raj <raj.khem@gmail.com> | 2 | From: Khem Raj <raj.khem@gmail.com> |
| 3 | Date: Tue, 27 Jun 2017 18:10:54 -0700 | 3 | Date: Tue, 27 Jun 2017 18:10:54 -0700 |
| 4 | Subject: [PATCH] Add ssp_nonshared to link commandline for musl targets | 4 | Subject: [PATCH] Add ssp_nonshared to link commandline for musl targets |
| @@ -23,7 +23,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> | |||
| 23 | 3 files changed, 27 insertions(+) | 23 | 3 files changed, 27 insertions(+) |
| 24 | 24 | ||
| 25 | diff --git a/gcc/config/linux.h b/gcc/config/linux.h | 25 | diff --git a/gcc/config/linux.h b/gcc/config/linux.h |
| 26 | index 79ff13184d3..19f552e8c7d 100644 | 26 | index 0f937abe729..88e59d1f78c 100644 |
| 27 | --- a/gcc/config/linux.h | 27 | --- a/gcc/config/linux.h |
| 28 | +++ b/gcc/config/linux.h | 28 | +++ b/gcc/config/linux.h |
| 29 | @@ -195,6 +195,13 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see | 29 | @@ -195,6 +195,13 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see |
| @@ -41,7 +41,7 @@ index 79ff13184d3..19f552e8c7d 100644 | |||
| 41 | 41 | ||
| 42 | #if (DEFAULT_LIBC == LIBC_UCLIBC) && defined (SINGLE_LIBC) /* uClinux */ | 42 | #if (DEFAULT_LIBC == LIBC_UCLIBC) && defined (SINGLE_LIBC) /* uClinux */ |
| 43 | diff --git a/gcc/config/rs6000/linux.h b/gcc/config/rs6000/linux.h | 43 | diff --git a/gcc/config/rs6000/linux.h b/gcc/config/rs6000/linux.h |
| 44 | index 5f6cede558a..900993b6da4 100644 | 44 | index 6c4480b70c4..89ae8267482 100644 |
| 45 | --- a/gcc/config/rs6000/linux.h | 45 | --- a/gcc/config/rs6000/linux.h |
| 46 | +++ b/gcc/config/rs6000/linux.h | 46 | +++ b/gcc/config/rs6000/linux.h |
| 47 | @@ -102,6 +102,16 @@ | 47 | @@ -102,6 +102,16 @@ |
| @@ -62,7 +62,7 @@ index 5f6cede558a..900993b6da4 100644 | |||
| 62 | #define LINK_OS_LINUX_SPEC LINK_OS_LINUX_EMUL " %{!shared: %{!static: \ | 62 | #define LINK_OS_LINUX_SPEC LINK_OS_LINUX_EMUL " %{!shared: %{!static: \ |
| 63 | %{!static-pie: \ | 63 | %{!static-pie: \ |
| 64 | diff --git a/gcc/config/rs6000/linux64.h b/gcc/config/rs6000/linux64.h | 64 | diff --git a/gcc/config/rs6000/linux64.h b/gcc/config/rs6000/linux64.h |
| 65 | index a11ae7643b7..2abde270813 100644 | 65 | index 8de5eb8bb49..4eb5cc2c7cf 100644 |
| 66 | --- a/gcc/config/rs6000/linux64.h | 66 | --- a/gcc/config/rs6000/linux64.h |
| 67 | +++ b/gcc/config/rs6000/linux64.h | 67 | +++ b/gcc/config/rs6000/linux64.h |
| 68 | @@ -373,6 +373,16 @@ extern int dot_symbols; | 68 | @@ -373,6 +373,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 05f2e96947..f23876b10a 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 @@ | |||
| 1 | From edc8f1cee2c9c4a441032fa22d0272b41b829dc6 Mon Sep 17 00:00:00 2001 | 1 | From f2649410d2eb1c3983054020c9238887bd31273f Mon Sep 17 00:00:00 2001 |
| 2 | From: Khem Raj <raj.khem@gmail.com> | 2 | From: Khem Raj <raj.khem@gmail.com> |
| 3 | Date: Wed, 6 Jun 2018 12:10:22 -0700 | 3 | Date: Wed, 6 Jun 2018 12:10:22 -0700 |
| 4 | Subject: [PATCH] Re-introduce spe commandline options | 4 | Subject: [PATCH] Re-introduce spe commandline options |
| @@ -14,10 +14,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> | |||
| 14 | 1 file changed, 13 insertions(+) | 14 | 1 file changed, 13 insertions(+) |
| 15 | 15 | ||
| 16 | diff --git a/gcc/config/rs6000/rs6000.opt b/gcc/config/rs6000/rs6000.opt | 16 | diff --git a/gcc/config/rs6000/rs6000.opt b/gcc/config/rs6000/rs6000.opt |
| 17 | index e8ca70340df..5c8545d4f1b 100644 | 17 | index 88cf16ca581..fc283ccc934 100644 |
| 18 | --- a/gcc/config/rs6000/rs6000.opt | 18 | --- a/gcc/config/rs6000/rs6000.opt |
| 19 | +++ b/gcc/config/rs6000/rs6000.opt | 19 | +++ b/gcc/config/rs6000/rs6000.opt |
| 20 | @@ -344,6 +344,19 @@ mdebug= | 20 | @@ -348,6 +348,19 @@ mdebug= |
| 21 | Target RejectNegative Joined | 21 | Target RejectNegative Joined |
| 22 | -mdebug= Enable debug output. | 22 | -mdebug= Enable debug output. |
| 23 | 23 | ||
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 3086841021..cd22dba878 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 @@ | |||
| 1 | From 83a61604293c6f7a131bccaf7454e69eeed301fd Mon Sep 17 00:00:00 2001 | 1 | From be81ee850cdf720f87733046cfa8f3fa43704a7d Mon Sep 17 00:00:00 2001 |
| 2 | From: Szabolcs Nagy <nsz@port70.net> | 2 | From: Szabolcs Nagy <nsz@port70.net> |
| 3 | Date: Sat, 24 Oct 2015 20:09:53 +0000 | 3 | Date: Sat, 24 Oct 2015 20:09:53 +0000 |
| 4 | Subject: [PATCH] libgcc_s: Use alias for __cpu_indicator_init instead of | 4 | Subject: [PATCH] libgcc_s: Use alias for __cpu_indicator_init instead of |
| @@ -39,10 +39,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> | |||
| 39 | 3 files changed, 6 insertions(+), 6 deletions(-) | 39 | 3 files changed, 6 insertions(+), 6 deletions(-) |
| 40 | 40 | ||
| 41 | diff --git a/gcc/config/i386/i386-expand.cc b/gcc/config/i386/i386-expand.cc | 41 | diff --git a/gcc/config/i386/i386-expand.cc b/gcc/config/i386/i386-expand.cc |
| 42 | index 51efe6fdd7d..a8ee883a74d 100644 | 42 | index cdfd94d3c73..de6fa7cc5ce 100644 |
| 43 | --- a/gcc/config/i386/i386-expand.cc | 43 | --- a/gcc/config/i386/i386-expand.cc |
| 44 | +++ b/gcc/config/i386/i386-expand.cc | 44 | +++ b/gcc/config/i386/i386-expand.cc |
| 45 | @@ -13087,10 +13087,10 @@ ix86_expand_builtin (tree exp, rtx target, rtx subtarget, | 45 | @@ -13643,10 +13643,10 @@ ix86_expand_builtin (tree exp, rtx target, rtx subtarget, |
| 46 | { | 46 | { |
| 47 | case IX86_BUILTIN_CPU_INIT: | 47 | case IX86_BUILTIN_CPU_INIT: |
| 48 | { | 48 | { |
| @@ -56,7 +56,7 @@ index 51efe6fdd7d..a8ee883a74d 100644 | |||
| 56 | return expand_expr (call_expr, target, mode, EXPAND_NORMAL); | 56 | return expand_expr (call_expr, target, mode, EXPAND_NORMAL); |
| 57 | } | 57 | } |
| 58 | diff --git a/libgcc/config/i386/cpuinfo.c b/libgcc/config/i386/cpuinfo.c | 58 | diff --git a/libgcc/config/i386/cpuinfo.c b/libgcc/config/i386/cpuinfo.c |
| 59 | index 0bd6dffe17e..ef4acb175a4 100644 | 59 | index 2484dc839bf..e980030ef23 100644 |
| 60 | --- a/libgcc/config/i386/cpuinfo.c | 60 | --- a/libgcc/config/i386/cpuinfo.c |
| 61 | +++ b/libgcc/config/i386/cpuinfo.c | 61 | +++ b/libgcc/config/i386/cpuinfo.c |
| 62 | @@ -63,7 +63,7 @@ __cpu_indicator_init (void) | 62 | @@ -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 f459a542da..5b67c194df 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 @@ | |||
| 1 | From 33eb17881ca90cff733070c5b630501fb0a8bd58 Mon Sep 17 00:00:00 2001 | 1 | From 734760138d07236289c5e548efc6083ddcfda650 Mon Sep 17 00:00:00 2001 |
| 2 | From: Richard Purdie <richard.purdie@linuxfoundation.org> | 2 | From: Richard Purdie <richard.purdie@linuxfoundation.org> |
| 3 | Date: Tue, 10 Mar 2020 08:26:53 -0700 | 3 | Date: Tue, 10 Mar 2020 08:26:53 -0700 |
| 4 | Subject: [PATCH] gentypes/genmodes: Do not use __LINE__ for maintaining | 4 | Subject: [PATCH] gentypes/genmodes: Do not use __LINE__ for maintaining |
| @@ -17,7 +17,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> | |||
| 17 | 2 files changed, 19 insertions(+), 19 deletions(-) | 17 | 2 files changed, 19 insertions(+), 19 deletions(-) |
| 18 | 18 | ||
| 19 | diff --git a/gcc/gengtype.cc b/gcc/gengtype.cc | 19 | diff --git a/gcc/gengtype.cc b/gcc/gengtype.cc |
| 20 | index c0ecbe8558b..9f8ab7146c0 100644 | 20 | index 6a3621c96cd..3f6c36dcff5 100644 |
| 21 | --- a/gcc/gengtype.cc | 21 | --- a/gcc/gengtype.cc |
| 22 | +++ b/gcc/gengtype.cc | 22 | +++ b/gcc/gengtype.cc |
| 23 | @@ -1005,7 +1005,7 @@ create_field_at (pair_p next, type_p type, const char *name, options_p opt, | 23 | @@ -1005,7 +1005,7 @@ create_field_at (pair_p next, type_p type, const char *name, options_p opt, |
| @@ -38,7 +38,7 @@ index c0ecbe8558b..9f8ab7146c0 100644 | |||
| 38 | 38 | ||
| 39 | /* Reverse a linked list of 'struct pair's in place. */ | 39 | /* Reverse a linked list of 'struct pair's in place. */ |
| 40 | pair_p | 40 | pair_p |
| 41 | @@ -5232,7 +5232,7 @@ main (int argc, char **argv) | 41 | @@ -5238,7 +5238,7 @@ main (int argc, char **argv) |
| 42 | /* These types are set up with #define or else outside of where | 42 | /* These types are set up with #define or else outside of where |
| 43 | we can see them. We should initialize them before calling | 43 | we can see them. We should initialize them before calling |
| 44 | read_input_list. */ | 44 | read_input_list. */ |
| @@ -48,7 +48,7 @@ index c0ecbe8558b..9f8ab7146c0 100644 | |||
| 48 | POS_HERE (do_scalar_typedef ("CUMULATIVE_ARGS", &pos)); | 48 | POS_HERE (do_scalar_typedef ("CUMULATIVE_ARGS", &pos)); |
| 49 | POS_HERE (do_scalar_typedef ("REAL_VALUE_TYPE", &pos)); | 49 | POS_HERE (do_scalar_typedef ("REAL_VALUE_TYPE", &pos)); |
| 50 | diff --git a/gcc/genmodes.cc b/gcc/genmodes.cc | 50 | diff --git a/gcc/genmodes.cc b/gcc/genmodes.cc |
| 51 | index eb3f9e2f0c1..5425635cb22 100644 | 51 | index 7af79720189..3bdb82ef8bf 100644 |
| 52 | --- a/gcc/genmodes.cc | 52 | --- a/gcc/genmodes.cc |
| 53 | +++ b/gcc/genmodes.cc | 53 | +++ b/gcc/genmodes.cc |
| 54 | @@ -441,7 +441,7 @@ complete_all_modes (void) | 54 | @@ -441,7 +441,7 @@ complete_all_modes (void) |
diff --git a/meta/recipes-devtools/gcc/gcc/0022-libatomic-Do-not-enforce-march-on-aarch64.patch b/meta/recipes-devtools/gcc/gcc/0022-libatomic-Do-not-enforce-march-on-aarch64.patch index 169db188df..9292767037 100644 --- a/meta/recipes-devtools/gcc/gcc/0022-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 @@ | |||
| 1 | From 6ebeb70ce2e78a84295f4e392602ae3c4026783a Mon Sep 17 00:00:00 2001 | 1 | From 95ee2cf97c5c2a4bd66c54d078b960a1d541d35e Mon Sep 17 00:00:00 2001 |
| 2 | From: Khem Raj <raj.khem@gmail.com> | 2 | From: Khem Raj <raj.khem@gmail.com> |
| 3 | Date: Wed, 13 May 2020 15:10:38 -0700 | 3 | Date: Wed, 13 May 2020 15:10:38 -0700 |
| 4 | Subject: [PATCH] libatomic: Do not enforce march on aarch64 | 4 | Subject: [PATCH] libatomic: Do not enforce march on aarch64 |
| @@ -17,10 +17,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> | |||
| 17 | 2 files changed, 2 deletions(-) | 17 | 2 files changed, 2 deletions(-) |
| 18 | 18 | ||
| 19 | diff --git a/libatomic/Makefile.am b/libatomic/Makefile.am | 19 | diff --git a/libatomic/Makefile.am b/libatomic/Makefile.am |
| 20 | index 980677f3533..26188917946 100644 | 20 | index 0f1a7156084..255fe448e63 100644 |
| 21 | --- a/libatomic/Makefile.am | 21 | --- a/libatomic/Makefile.am |
| 22 | +++ b/libatomic/Makefile.am | 22 | +++ b/libatomic/Makefile.am |
| 23 | @@ -130,7 +130,6 @@ libatomic_la_LIBADD = $(foreach s,$(SIZES),$(addsuffix _$(s)_.lo,$(SIZEOBJS))) | 23 | @@ -128,7 +128,6 @@ libatomic_la_LIBADD = $(foreach s,$(SIZES),$(addsuffix _$(s)_.lo,$(SIZEOBJS))) |
| 24 | ## On a target-specific basis, include alternates to be selected by IFUNC. | 24 | ## On a target-specific basis, include alternates to be selected by IFUNC. |
| 25 | if HAVE_IFUNC | 25 | if HAVE_IFUNC |
| 26 | if ARCH_AARCH64_LINUX | 26 | if ARCH_AARCH64_LINUX |
| @@ -29,7 +29,7 @@ index 980677f3533..26188917946 100644 | |||
| 29 | 29 | ||
| 30 | endif | 30 | endif |
| 31 | diff --git a/libatomic/Makefile.in b/libatomic/Makefile.in | 31 | diff --git a/libatomic/Makefile.in b/libatomic/Makefile.in |
| 32 | index d9d529bc502..47dacef9e01 100644 | 32 | index 9798e7c09e9..3b3027eb77d 100644 |
| 33 | --- a/libatomic/Makefile.in | 33 | --- a/libatomic/Makefile.in |
| 34 | +++ b/libatomic/Makefile.in | 34 | +++ b/libatomic/Makefile.in |
| 35 | @@ -452,7 +452,6 @@ M_SRC = $(firstword $(filter %/$(M_FILE), $(all_c_files))) | 35 | @@ -452,7 +452,6 @@ M_SRC = $(firstword $(filter %/$(M_FILE), $(all_c_files))) |
diff --git a/meta/recipes-devtools/gcc/gcc/0023-Fix-install-path-of-linux64.h.patch b/meta/recipes-devtools/gcc/gcc/0023-Fix-install-path-of-linux64.h.patch index 300ad393e3..da91d85eb9 100644 --- a/meta/recipes-devtools/gcc/gcc/0023-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 @@ | |||
| 1 | From aecde58d433123e8fb76ca2c56a0632d7b104b83 Mon Sep 17 00:00:00 2001 | 1 | From cd7353f45bc2af9a9ea9694544d40ea03a1310d1 Mon Sep 17 00:00:00 2001 |
| 2 | From: Andrei Gherzan <andrei.gherzan@huawei.com> | 2 | From: Andrei Gherzan <andrei.gherzan@huawei.com> |
| 3 | Date: Wed, 22 Dec 2021 12:49:25 +0100 | 3 | Date: Wed, 22 Dec 2021 12:49:25 +0100 |
| 4 | Subject: [PATCH] Fix install path of linux64.h | 4 | Subject: [PATCH] Fix install path of linux64.h |
| @@ -17,10 +17,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com> | |||
| 17 | 1 file changed, 2 insertions(+) | 17 | 1 file changed, 2 insertions(+) |
| 18 | 18 | ||
| 19 | diff --git a/gcc/Makefile.in b/gcc/Makefile.in | 19 | diff --git a/gcc/Makefile.in b/gcc/Makefile.in |
| 20 | index 6a009c696e9..da54dd42adf 100644 | 20 | index 944d0a6680a..4cea9b20af5 100644 |
| 21 | --- a/gcc/Makefile.in | 21 | --- a/gcc/Makefile.in |
| 22 | +++ b/gcc/Makefile.in | 22 | +++ b/gcc/Makefile.in |
| 23 | @@ -3900,6 +3900,8 @@ install-plugin: installdirs lang.install-plugin s-header-vars install-gengtype | 23 | @@ -4115,6 +4115,8 @@ install-plugin: installdirs lang.install-plugin s-header-vars install-gengtype |
| 24 | | "$(srcdir)"/config/* | "$(srcdir)"/common/config/* \ | 24 | | "$(srcdir)"/config/* | "$(srcdir)"/common/config/* \ |
| 25 | | "$(srcdir)"/c-family/* | "$(srcdir)"/*.def ) \ | 25 | | "$(srcdir)"/c-family/* | "$(srcdir)"/*.def ) \ |
| 26 | base=`echo "$$path" | sed -e "s|$$srcdirstrip/||"`;; \ | 26 | 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 index 4f3b722bcf..b7edeef6eb 100644 --- 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 | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | From 483baf290597eed2ac01c7974f1b567c95503da5 Mon Sep 17 00:00:00 2001 | 1 | From 159545123cfe05136037e302409cf82ec5c0263c Mon Sep 17 00:00:00 2001 |
| 2 | From: Richard Purdie <richard.purdie@linuxfoundation.org> | 2 | From: Richard Purdie <richard.purdie@linuxfoundation.org> |
| 3 | Date: Sat, 20 Aug 2022 09:04:14 -0700 | 3 | Date: Sat, 20 Aug 2022 09:04:14 -0700 |
| 4 | Subject: [PATCH] Avoid hardcoded build paths into ppc libgcc | 4 | Subject: [PATCH] Avoid hardcoded build paths into ppc libgcc |
diff --git a/meta/recipes-devtools/gcc/gcc/0025-gcc-testsuite-tweaks-for-mips-OE.patch b/meta/recipes-devtools/gcc/gcc/0025-gcc-testsuite-tweaks-for-mips-OE.patch index 09d6c7fffd..0a61862332 100644 --- a/meta/recipes-devtools/gcc/gcc/0025-gcc-testsuite-tweaks-for-mips-OE.patch +++ b/meta/recipes-devtools/gcc/gcc/0025-gcc-testsuite-tweaks-for-mips-OE.patch | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | From 46987c9092d52ee47071be563f48ee80a3c4f71f Mon Sep 17 00:00:00 2001 | 1 | From 62e25edd60d45eaec331a3273880f6ff3248ef62 Mon Sep 17 00:00:00 2001 |
| 2 | From: Richard Purdie <richard.purdie@linuxfoundation.org> | 2 | From: Richard Purdie <richard.purdie@linuxfoundation.org> |
| 3 | Date: Thu, 17 Aug 2023 09:01:40 -0700 | 3 | Date: Thu, 17 Aug 2023 09:01:40 -0700 |
| 4 | Subject: [PATCH] gcc testsuite tweaks for mips/OE | 4 | Subject: [PATCH] gcc testsuite tweaks for mips/OE |
| @@ -33,13 +33,13 @@ discussion. Need to investigate why qemu-user passes the 'bad' instructions'] | |||
| 33 | Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> | 33 | Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> |
| 34 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | 34 | Signed-off-by: Khem Raj <raj.khem@gmail.com> |
| 35 | --- | 35 | --- |
| 36 | gcc/testsuite/gcc.target/mips/mips.exp | 16 +++++++++ | 36 | gcc/testsuite/gcc.target/mips/mips.exp | 16 ++++++++++ |
| 37 | gcc/testsuite/lib/gcc-dg.exp | 11 +++++++ | 37 | gcc/testsuite/lib/gcc-dg.exp | 11 +++++++ |
| 38 | gcc/testsuite/lib/target-supports.exp | 45 ++++++++------------------ | 38 | gcc/testsuite/lib/target-supports.exp | 44 ++++++++------------------ |
| 39 | 3 files changed, 41 insertions(+), 31 deletions(-) | 39 | 3 files changed, 40 insertions(+), 31 deletions(-) |
| 40 | 40 | ||
| 41 | diff --git a/gcc/testsuite/gcc.target/mips/mips.exp b/gcc/testsuite/gcc.target/mips/mips.exp | 41 | diff --git a/gcc/testsuite/gcc.target/mips/mips.exp b/gcc/testsuite/gcc.target/mips/mips.exp |
| 42 | index e028bc93b40..b54a40d6509 100644 | 42 | index 82d418a7cd4..46f7bf4ef92 100644 |
| 43 | --- a/gcc/testsuite/gcc.target/mips/mips.exp | 43 | --- a/gcc/testsuite/gcc.target/mips/mips.exp |
| 44 | +++ b/gcc/testsuite/gcc.target/mips/mips.exp | 44 | +++ b/gcc/testsuite/gcc.target/mips/mips.exp |
| 45 | @@ -711,7 +711,23 @@ proc mips_first_unsupported_option { upstatus } { | 45 | @@ -711,7 +711,23 @@ proc mips_first_unsupported_option { upstatus } { |
| @@ -67,10 +67,10 @@ index e028bc93b40..b54a40d6509 100644 | |||
| 67 | regsub -all "\n" $code "\\n\\\n" asm | 67 | regsub -all "\n" $code "\\n\\\n" asm |
| 68 | # Use check_runtime from target-supports.exp, which caches | 68 | # Use check_runtime from target-supports.exp, which caches |
| 69 | diff --git a/gcc/testsuite/lib/gcc-dg.exp b/gcc/testsuite/lib/gcc-dg.exp | 69 | diff --git a/gcc/testsuite/lib/gcc-dg.exp b/gcc/testsuite/lib/gcc-dg.exp |
| 70 | index 228c21d1207..d3b88e0419e 100644 | 70 | index 6dd8fa3fce9..95672008219 100644 |
| 71 | --- a/gcc/testsuite/lib/gcc-dg.exp | 71 | --- a/gcc/testsuite/lib/gcc-dg.exp |
| 72 | +++ b/gcc/testsuite/lib/gcc-dg.exp | 72 | +++ b/gcc/testsuite/lib/gcc-dg.exp |
| 73 | @@ -232,9 +232,20 @@ proc schedule-cleanups { opts } { | 73 | @@ -233,9 +233,20 @@ proc schedule-cleanups { opts } { |
| 74 | 74 | ||
| 75 | proc gcc-dg-test-1 { target_compile prog do_what extra_tool_flags } { | 75 | proc gcc-dg-test-1 { target_compile prog do_what extra_tool_flags } { |
| 76 | # Set up the compiler flags, based on what we're going to do. | 76 | # Set up the compiler flags, based on what we're going to do. |
| @@ -92,10 +92,10 @@ index 228c21d1207..d3b88e0419e 100644 | |||
| 92 | "preprocess" { | 92 | "preprocess" { |
| 93 | set compile_type "preprocess" | 93 | set compile_type "preprocess" |
| 94 | diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp | 94 | diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp |
| 95 | index d8b5a06a422..f66f5fea58e 100644 | 95 | index a62f459ad7e..6886cfeee49 100644 |
| 96 | --- a/gcc/testsuite/lib/target-supports.exp | 96 | --- a/gcc/testsuite/lib/target-supports.exp |
| 97 | +++ b/gcc/testsuite/lib/target-supports.exp | 97 | +++ b/gcc/testsuite/lib/target-supports.exp |
| 98 | @@ -2483,14 +2483,7 @@ proc check_mips_loongson_mmi_hw_available { } { | 98 | @@ -2949,14 +2949,7 @@ proc check_mips_loongson_mmi_hw_available { } { |
| 99 | if { !([istarget mips*-*-*]) } { | 99 | if { !([istarget mips*-*-*]) } { |
| 100 | expr 0 | 100 | expr 0 |
| 101 | } else { | 101 | } else { |
| @@ -111,7 +111,7 @@ index d8b5a06a422..f66f5fea58e 100644 | |||
| 111 | } | 111 | } |
| 112 | }] | 112 | }] |
| 113 | } | 113 | } |
| 114 | @@ -2504,29 +2497,7 @@ proc check_mips_msa_hw_available { } { | 114 | @@ -2970,29 +2963,7 @@ proc check_mips_msa_hw_available { } { |
| 115 | if { !([istarget mips*-*-*]) } { | 115 | if { !([istarget mips*-*-*]) } { |
| 116 | expr 0 | 116 | expr 0 |
| 117 | } else { | 117 | } else { |
| @@ -142,7 +142,7 @@ index d8b5a06a422..f66f5fea58e 100644 | |||
| 142 | } | 142 | } |
| 143 | }] | 143 | }] |
| 144 | } | 144 | } |
| 145 | @@ -9900,6 +9871,7 @@ proc is-effective-target-keyword { arg } { | 145 | @@ -10354,6 +10325,7 @@ proc is-effective-target-keyword { arg } { |
| 146 | 146 | ||
| 147 | proc et-dg-runtest { runtest testcases flags default-extra-flags } { | 147 | proc et-dg-runtest { runtest testcases flags default-extra-flags } { |
| 148 | global dg-do-what-default | 148 | global dg-do-what-default |
| @@ -150,7 +150,7 @@ index d8b5a06a422..f66f5fea58e 100644 | |||
| 150 | global EFFECTIVE_TARGETS | 150 | global EFFECTIVE_TARGETS |
| 151 | global et_index | 151 | global et_index |
| 152 | 152 | ||
| 153 | @@ -9907,6 +9879,7 @@ proc et-dg-runtest { runtest testcases flags default-extra-flags } { | 153 | @@ -10361,6 +10333,7 @@ proc et-dg-runtest { runtest testcases flags default-extra-flags } { |
| 154 | foreach target $EFFECTIVE_TARGETS { | 154 | foreach target $EFFECTIVE_TARGETS { |
| 155 | set target_flags $flags | 155 | set target_flags $flags |
| 156 | set dg-do-what-default compile | 156 | set dg-do-what-default compile |
| @@ -158,7 +158,7 @@ index d8b5a06a422..f66f5fea58e 100644 | |||
| 158 | set et_index [lsearch -exact $EFFECTIVE_TARGETS $target] | 158 | set et_index [lsearch -exact $EFFECTIVE_TARGETS $target] |
| 159 | if { [info procs add_options_for_${target}] != [list] } { | 159 | if { [info procs add_options_for_${target}] != [list] } { |
| 160 | set target_flags [add_options_for_${target} "$flags"] | 160 | set target_flags [add_options_for_${target} "$flags"] |
| 161 | @@ -9914,8 +9887,10 @@ proc et-dg-runtest { runtest testcases flags default-extra-flags } { | 161 | @@ -10368,8 +10341,10 @@ proc et-dg-runtest { runtest testcases flags default-extra-flags } { |
| 162 | if { [info procs check_effective_target_${target}_runtime] | 162 | if { [info procs check_effective_target_${target}_runtime] |
| 163 | != [list] && [check_effective_target_${target}_runtime] } { | 163 | != [list] && [check_effective_target_${target}_runtime] } { |
| 164 | set dg-do-what-default run | 164 | set dg-do-what-default run |
| @@ -169,67 +169,59 @@ index d8b5a06a422..f66f5fea58e 100644 | |||
| 169 | } | 169 | } |
| 170 | } else { | 170 | } else { |
| 171 | set et_index 0 | 171 | set et_index 0 |
| 172 | @@ -11620,6 +11595,7 @@ proc check_effective_target_sigsetjmp {} { | 172 | @@ -12155,6 +12130,7 @@ proc check_effective_target_sigsetjmp {} { |
| 173 | proc check_vect_support_and_set_flags { } { | 173 | proc check_vect_support_and_set_flags { } { |
| 174 | global DEFAULT_VECTCFLAGS | 174 | global DEFAULT_VECTCFLAGS |
| 175 | global dg-do-what-default | 175 | global dg-do-what-default |
| 176 | + global do-what-limit | 176 | + global do-what-limit |
| 177 | global EFFECTIVE_TARGETS | 177 | global EFFECTIVE_TARGETS |
| 178 | 178 | ||
| 179 | if [istarget powerpc-*paired*] { | 179 | if [istarget powerpc*-*-*] { |
| 180 | @@ -11628,6 +11604,7 @@ proc check_vect_support_and_set_flags { } { | 180 | @@ -12186,6 +12162,7 @@ proc check_vect_support_and_set_flags { } { |
| 181 | set dg-do-what-default run | ||
| 182 | } else { | ||
| 183 | set dg-do-what-default compile | ||
| 184 | + set do-what-limit link | ||
| 185 | } | ||
| 186 | } elseif [istarget powerpc*-*-*] { | ||
| 187 | # Skip targets not supporting -maltivec. | ||
| 188 | @@ -11658,6 +11635,7 @@ proc check_vect_support_and_set_flags { } { | ||
| 189 | set DEFAULT_VECTCFLAGS [linsert $DEFAULT_VECTCFLAGS 0 "-mcpu=970"] | 181 | set DEFAULT_VECTCFLAGS [linsert $DEFAULT_VECTCFLAGS 0 "-mcpu=970"] |
| 190 | } | 182 | } |
| 191 | set dg-do-what-default compile | 183 | set dg-do-what-default compile |
| 192 | + set do-what-limit link | 184 | + set do-what-limit link |
| 193 | } | 185 | } |
| 194 | } elseif { [istarget i?86-*-*] || [istarget x86_64-*-*] } { | 186 | } elseif { [check_effective_target_x86] } { |
| 195 | lappend DEFAULT_VECTCFLAGS "-msse2" | 187 | lappend DEFAULT_VECTCFLAGS "-msse2" |
| 196 | @@ -11665,6 +11643,7 @@ proc check_vect_support_and_set_flags { } { | 188 | @@ -12193,6 +12170,7 @@ proc check_vect_support_and_set_flags { } { |
| 197 | set dg-do-what-default run | 189 | set dg-do-what-default run |
| 198 | } else { | 190 | } else { |
| 199 | set dg-do-what-default compile | 191 | set dg-do-what-default compile |
| 200 | + set do-what-limit link | 192 | + set do-what-limit link |
| 201 | } | 193 | } |
| 202 | } elseif { [istarget mips*-*-*] | 194 | } elseif { [istarget mips*-*-*] |
| 203 | && [check_effective_target_nomips16] } { | 195 | && [check_effective_target_nomips16] } { |
| 204 | @@ -11684,6 +11663,7 @@ proc check_vect_support_and_set_flags { } { | 196 | @@ -12212,6 +12190,7 @@ proc check_vect_support_and_set_flags { } { |
| 205 | set dg-do-what-default run | 197 | set dg-do-what-default run |
| 206 | } else { | 198 | } else { |
| 207 | set dg-do-what-default compile | 199 | set dg-do-what-default compile |
| 208 | + set do-what-limit link | 200 | + set do-what-limit link |
| 209 | } | 201 | } |
| 210 | } elseif [istarget alpha*-*-*] { | 202 | } elseif [istarget alpha*-*-*] { |
| 211 | # Alpha's vectorization capabilities are extremely limited. | 203 | # Alpha's vectorization capabilities are extremely limited. |
| 212 | @@ -11697,6 +11677,7 @@ proc check_vect_support_and_set_flags { } { | 204 | @@ -12225,6 +12204,7 @@ proc check_vect_support_and_set_flags { } { |
| 213 | set dg-do-what-default run | 205 | set dg-do-what-default run |
| 214 | } else { | 206 | } else { |
| 215 | set dg-do-what-default compile | 207 | set dg-do-what-default compile |
| 216 | + set do-what-limit link | 208 | + set do-what-limit link |
| 217 | } | 209 | } |
| 218 | } elseif [istarget ia64-*-*] { | 210 | } elseif [istarget ia64-*-*] { |
| 219 | set dg-do-what-default run | 211 | set dg-do-what-default run |
| 220 | @@ -11710,6 +11691,7 @@ proc check_vect_support_and_set_flags { } { | 212 | @@ -12238,6 +12218,7 @@ proc check_vect_support_and_set_flags { } { |
| 221 | set dg-do-what-default run | 213 | set dg-do-what-default run |
| 222 | } else { | 214 | } else { |
| 223 | set dg-do-what-default compile | 215 | set dg-do-what-default compile |
| 224 | + set do-what-limit link | 216 | + set do-what-limit link |
| 225 | } | 217 | } |
| 226 | } elseif [istarget aarch64*-*-*] { | 218 | } elseif [istarget aarch64*-*-*] { |
| 227 | set dg-do-what-default run | 219 | set dg-do-what-default run |
| 228 | @@ -11734,6 +11716,7 @@ proc check_vect_support_and_set_flags { } { | 220 | @@ -12262,6 +12243,7 @@ proc check_vect_support_and_set_flags { } { |
| 229 | } else { | 221 | } else { |
| 230 | lappend DEFAULT_VECTCFLAGS "-march=z14" "-mzarch" | 222 | lappend DEFAULT_VECTCFLAGS "-march=z14" "-mzarch" |
| 231 | set dg-do-what-default compile | 223 | set dg-do-what-default compile |
| 232 | + set do-what-limit link | 224 | + set do-what-limit link |
| 233 | } | 225 | } |
| 234 | } elseif [istarget amdgcn-*-*] { | 226 | } elseif [istarget amdgcn-*-*] { |
| 235 | set dg-do-what-default run | 227 | set dg-do-what-default run |
diff --git a/meta/recipes-devtools/gcc/gcc/0026-gcc-Fix-c-tweak-for-Wrange-loop-construct.patch b/meta/recipes-devtools/gcc/gcc/0026-gcc-Fix-c-tweak-for-Wrange-loop-construct.patch deleted file mode 100644 index c9bc863eea..0000000000 --- a/meta/recipes-devtools/gcc/gcc/0026-gcc-Fix-c-tweak-for-Wrange-loop-construct.patch +++ /dev/null | |||
| @@ -1,114 +0,0 @@ | |||
| 1 | From 05106fea707f010779369c5d6e89787953d2976f Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Sunil Dora <sunilkumar.dora@windriver.com> | ||
| 3 | Date: Wed, 11 Dec 2024 10:04:56 -0800 | ||
| 4 | Subject: [PATCH] gcc: Fix c++: tweak for Wrange-loop-construct | ||
| 5 | |||
| 6 | This commit updates the warning to use a check for "trivially constructible" instead of | ||
| 7 | "trivially copyable." The original check was incorrect, as "trivially copyable" only applies | ||
| 8 | to types that can be copied trivially, whereas "trivially constructible" is the correct check | ||
| 9 | for types that can be trivially default-constructed. | ||
| 10 | |||
| 11 | This change ensures the warning is more accurate and aligns with the proper type traits. | ||
| 12 | |||
| 13 | LLVM accepted a similar fix: | ||
| 14 | https://github.com/llvm/llvm-project/issues/47355 | ||
| 15 | |||
| 16 | PR c++/116731 [https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116731] | ||
| 17 | |||
| 18 | Upstream-Status: Backport [https://gcc.gnu.org/g:6ac4e2f4b2ca9980670e7d3815a9140730df1005] | ||
| 19 | |||
| 20 | Signed-off-by: Marek Polacek <polacek@redhat.com> | ||
| 21 | Signed-off-by: Sunil Dora <sunilkumar.dora@windriver.com> | ||
| 22 | --- | ||
| 23 | gcc/cp/parser.cc | 8 ++- | ||
| 24 | .../g++.dg/warn/Wrange-loop-construct3.C | 57 +++++++++++++++++++ | ||
| 25 | 2 files changed, 62 insertions(+), 3 deletions(-) | ||
| 26 | create mode 100644 gcc/testsuite/g++.dg/warn/Wrange-loop-construct3.C | ||
| 27 | |||
| 28 | diff --git a/gcc/cp/parser.cc b/gcc/cp/parser.cc | ||
| 29 | index 7e81c1010..8206489a2 100644 | ||
| 30 | --- a/gcc/cp/parser.cc | ||
| 31 | +++ b/gcc/cp/parser.cc | ||
| 32 | @@ -14301,11 +14301,13 @@ warn_for_range_copy (tree decl, tree expr) | ||
| 33 | else if (!CP_TYPE_CONST_P (type)) | ||
| 34 | return; | ||
| 35 | |||
| 36 | - /* Since small trivially copyable types are cheap to copy, we suppress the | ||
| 37 | - warning for them. 64B is a common size of a cache line. */ | ||
| 38 | + /* Since small trivially constructible types are cheap to construct, we | ||
| 39 | + suppress the warning for them. 64B is a common size of a cache line. */ | ||
| 40 | + tree vec = make_tree_vec (1); | ||
| 41 | + TREE_VEC_ELT (vec, 0) = TREE_TYPE (expr); | ||
| 42 | if (TREE_CODE (TYPE_SIZE_UNIT (type)) != INTEGER_CST | ||
| 43 | || (tree_to_uhwi (TYPE_SIZE_UNIT (type)) <= 64 | ||
| 44 | - && trivially_copyable_p (type))) | ||
| 45 | + && is_trivially_xible (INIT_EXPR, type, vec))) | ||
| 46 | return; | ||
| 47 | |||
| 48 | /* If we can initialize a reference directly, suggest that to avoid the | ||
| 49 | diff --git a/gcc/testsuite/g++.dg/warn/Wrange-loop-construct3.C b/gcc/testsuite/g++.dg/warn/Wrange-loop-construct3.C | ||
| 50 | new file mode 100644 | ||
| 51 | index 000000000..3d9d0c908 | ||
| 52 | --- /dev/null | ||
| 53 | +++ b/gcc/testsuite/g++.dg/warn/Wrange-loop-construct3.C | ||
| 54 | @@ -0,0 +1,57 @@ | ||
| 55 | +// PR c++/116731 | ||
| 56 | +// { dg-do compile { target c++11 } } | ||
| 57 | +// { dg-options "-Wrange-loop-construct" } | ||
| 58 | + | ||
| 59 | +void | ||
| 60 | +f0 () | ||
| 61 | +{ | ||
| 62 | + struct S { | ||
| 63 | + char a[64]; | ||
| 64 | + S& operator=(const S&) { return *this; }; | ||
| 65 | + }; | ||
| 66 | + | ||
| 67 | + S arr[8]; | ||
| 68 | + for (const auto r : arr) | ||
| 69 | + (void) r; | ||
| 70 | +} | ||
| 71 | + | ||
| 72 | +void | ||
| 73 | +f1 () | ||
| 74 | +{ | ||
| 75 | + struct S { | ||
| 76 | + char a[65]; | ||
| 77 | + S& operator=(const S&) { return *this; }; | ||
| 78 | + }; | ||
| 79 | + | ||
| 80 | + S arr[8]; | ||
| 81 | + for (const auto r : arr) // { dg-warning "creates a copy" } | ||
| 82 | + (void) r; | ||
| 83 | +} | ||
| 84 | + | ||
| 85 | +void | ||
| 86 | +f2 () | ||
| 87 | +{ | ||
| 88 | + struct S { | ||
| 89 | + char a[64]; | ||
| 90 | + S& operator=(const S&) { return *this; }; | ||
| 91 | + ~S() { } | ||
| 92 | + }; | ||
| 93 | + | ||
| 94 | + S arr[8]; | ||
| 95 | + for (const auto r : arr) // { dg-warning "creates a copy" } | ||
| 96 | + (void) r; | ||
| 97 | +} | ||
| 98 | + | ||
| 99 | +void | ||
| 100 | +f3 () | ||
| 101 | +{ | ||
| 102 | + struct S { | ||
| 103 | + char a[65]; | ||
| 104 | + S& operator=(const S&) { return *this; }; | ||
| 105 | + ~S() { } | ||
| 106 | + }; | ||
| 107 | + | ||
| 108 | + S arr[8]; | ||
| 109 | + for (const auto r : arr) // { dg-warning "creates a copy" } | ||
| 110 | + (void) r; | ||
| 111 | +} | ||
| 112 | -- | ||
| 113 | 2.43.0 | ||
| 114 | |||
diff --git a/meta/recipes-devtools/gcc/gcc/0027-gcc-backport-patch-to-fix-data-relocation-to-ENDBR-s.patch b/meta/recipes-devtools/gcc/gcc/0027-gcc-backport-patch-to-fix-data-relocation-to-ENDBR-s.patch deleted file mode 100644 index 5bede60816..0000000000 --- a/meta/recipes-devtools/gcc/gcc/0027-gcc-backport-patch-to-fix-data-relocation-to-ENDBR-s.patch +++ /dev/null | |||
| @@ -1,447 +0,0 @@ | |||
| 1 | From 4e7735a8d87559bbddfe3a985786996e22241f8d Mon Sep 17 00:00:00 2001 | ||
| 2 | From: liuhongt <hongtao.liu@intel.com> | ||
| 3 | Date: Mon, 12 Aug 2024 14:35:31 +0800 | ||
| 4 | Subject: [PATCH] Move ix86_align_loops into a separate pass and insert the | ||
| 5 | pass after pass_endbr_and_patchable_area. | ||
| 6 | |||
| 7 | gcc/ChangeLog: | ||
| 8 | |||
| 9 | PR target/116174 | ||
| 10 | * config/i386/i386.cc (ix86_align_loops): Move this to .. | ||
| 11 | * config/i386/i386-features.cc (ix86_align_loops): .. here. | ||
| 12 | (class pass_align_tight_loops): New class. | ||
| 13 | (make_pass_align_tight_loops): New function. | ||
| 14 | * config/i386/i386-passes.def: Insert pass_align_tight_loops | ||
| 15 | after pass_insert_endbr_and_patchable_area. | ||
| 16 | * config/i386/i386-protos.h (make_pass_align_tight_loops): New | ||
| 17 | declare. | ||
| 18 | |||
| 19 | gcc/testsuite/ChangeLog: | ||
| 20 | |||
| 21 | * gcc.target/i386/pr116174.c: New test. | ||
| 22 | |||
| 23 | (cherry picked from commit c3c83d22d212a35cb1bfb8727477819463f0dcd8) | ||
| 24 | |||
| 25 | Upstream-Status: Backport [https://gcc.gnu.org/git/?p=gcc.git;a=patch;h=4e7735a8d87559bbddfe3a985786996e22241f8d] | ||
| 26 | |||
| 27 | Signed-off-by: Bin Lan <bin.lan.cn@windriver.com> | ||
| 28 | --- | ||
| 29 | gcc/config/i386/i386-features.cc | 191 +++++++++++++++++++++++ | ||
| 30 | gcc/config/i386/i386-passes.def | 3 + | ||
| 31 | gcc/config/i386/i386-protos.h | 1 + | ||
| 32 | gcc/config/i386/i386.cc | 146 ----------------- | ||
| 33 | gcc/testsuite/gcc.target/i386/pr116174.c | 12 ++ | ||
| 34 | 5 files changed, 207 insertions(+), 146 deletions(-) | ||
| 35 | create mode 100644 gcc/testsuite/gcc.target/i386/pr116174.c | ||
| 36 | |||
| 37 | diff --git a/gcc/config/i386/i386-features.cc b/gcc/config/i386/i386-features.cc | ||
| 38 | index e3e004d55267..7de19d423637 100644 | ||
| 39 | --- a/gcc/config/i386/i386-features.cc | ||
| 40 | +++ b/gcc/config/i386/i386-features.cc | ||
| 41 | @@ -3253,6 +3253,197 @@ make_pass_remove_partial_avx_dependency (gcc::context *ctxt) | ||
| 42 | return new pass_remove_partial_avx_dependency (ctxt); | ||
| 43 | } | ||
| 44 | |||
| 45 | +/* When a hot loop can be fit into one cacheline, | ||
| 46 | + force align the loop without considering the max skip. */ | ||
| 47 | +static void | ||
| 48 | +ix86_align_loops () | ||
| 49 | +{ | ||
| 50 | + basic_block bb; | ||
| 51 | + | ||
| 52 | + /* Don't do this when we don't know cache line size. */ | ||
| 53 | + if (ix86_cost->prefetch_block == 0) | ||
| 54 | + return; | ||
| 55 | + | ||
| 56 | + loop_optimizer_init (AVOID_CFG_MODIFICATIONS); | ||
| 57 | + profile_count count_threshold = cfun->cfg->count_max / param_align_threshold; | ||
| 58 | + FOR_EACH_BB_FN (bb, cfun) | ||
| 59 | + { | ||
| 60 | + rtx_insn *label = BB_HEAD (bb); | ||
| 61 | + bool has_fallthru = 0; | ||
| 62 | + edge e; | ||
| 63 | + edge_iterator ei; | ||
| 64 | + | ||
| 65 | + if (!LABEL_P (label)) | ||
| 66 | + continue; | ||
| 67 | + | ||
| 68 | + profile_count fallthru_count = profile_count::zero (); | ||
| 69 | + profile_count branch_count = profile_count::zero (); | ||
| 70 | + | ||
| 71 | + FOR_EACH_EDGE (e, ei, bb->preds) | ||
| 72 | + { | ||
| 73 | + if (e->flags & EDGE_FALLTHRU) | ||
| 74 | + has_fallthru = 1, fallthru_count += e->count (); | ||
| 75 | + else | ||
| 76 | + branch_count += e->count (); | ||
| 77 | + } | ||
| 78 | + | ||
| 79 | + if (!fallthru_count.initialized_p () || !branch_count.initialized_p ()) | ||
| 80 | + continue; | ||
| 81 | + | ||
| 82 | + if (bb->loop_father | ||
| 83 | + && bb->loop_father->latch != EXIT_BLOCK_PTR_FOR_FN (cfun) | ||
| 84 | + && (has_fallthru | ||
| 85 | + ? (!(single_succ_p (bb) | ||
| 86 | + && single_succ (bb) == EXIT_BLOCK_PTR_FOR_FN (cfun)) | ||
| 87 | + && optimize_bb_for_speed_p (bb) | ||
| 88 | + && branch_count + fallthru_count > count_threshold | ||
| 89 | + && (branch_count > fallthru_count * param_align_loop_iterations)) | ||
| 90 | + /* In case there'no fallthru for the loop. | ||
| 91 | + Nops inserted won't be executed. */ | ||
| 92 | + : (branch_count > count_threshold | ||
| 93 | + || (bb->count > bb->prev_bb->count * 10 | ||
| 94 | + && (bb->prev_bb->count | ||
| 95 | + <= ENTRY_BLOCK_PTR_FOR_FN (cfun)->count / 2))))) | ||
| 96 | + { | ||
| 97 | + rtx_insn* insn, *end_insn; | ||
| 98 | + HOST_WIDE_INT size = 0; | ||
| 99 | + bool padding_p = true; | ||
| 100 | + basic_block tbb = bb; | ||
| 101 | + unsigned cond_branch_num = 0; | ||
| 102 | + bool detect_tight_loop_p = false; | ||
| 103 | + | ||
| 104 | + for (unsigned int i = 0; i != bb->loop_father->num_nodes; | ||
| 105 | + i++, tbb = tbb->next_bb) | ||
| 106 | + { | ||
| 107 | + /* Only handle continuous cfg layout. */ | ||
| 108 | + if (bb->loop_father != tbb->loop_father) | ||
| 109 | + { | ||
| 110 | + padding_p = false; | ||
| 111 | + break; | ||
| 112 | + } | ||
| 113 | + | ||
| 114 | + FOR_BB_INSNS (tbb, insn) | ||
| 115 | + { | ||
| 116 | + if (!NONDEBUG_INSN_P (insn)) | ||
| 117 | + continue; | ||
| 118 | + size += ix86_min_insn_size (insn); | ||
| 119 | + | ||
| 120 | + /* We don't know size of inline asm. | ||
| 121 | + Don't align loop for call. */ | ||
| 122 | + if (asm_noperands (PATTERN (insn)) >= 0 | ||
| 123 | + || CALL_P (insn)) | ||
| 124 | + { | ||
| 125 | + size = -1; | ||
| 126 | + break; | ||
| 127 | + } | ||
| 128 | + } | ||
| 129 | + | ||
| 130 | + if (size == -1 || size > ix86_cost->prefetch_block) | ||
| 131 | + { | ||
| 132 | + padding_p = false; | ||
| 133 | + break; | ||
| 134 | + } | ||
| 135 | + | ||
| 136 | + FOR_EACH_EDGE (e, ei, tbb->succs) | ||
| 137 | + { | ||
| 138 | + /* It could be part of the loop. */ | ||
| 139 | + if (e->dest == bb) | ||
| 140 | + { | ||
| 141 | + detect_tight_loop_p = true; | ||
| 142 | + break; | ||
| 143 | + } | ||
| 144 | + } | ||
| 145 | + | ||
| 146 | + if (detect_tight_loop_p) | ||
| 147 | + break; | ||
| 148 | + | ||
| 149 | + end_insn = BB_END (tbb); | ||
| 150 | + if (JUMP_P (end_insn)) | ||
| 151 | + { | ||
| 152 | + /* For decoded icache: | ||
| 153 | + 1. Up to two branches are allowed per Way. | ||
| 154 | + 2. A non-conditional branch is the last micro-op in a Way. | ||
| 155 | + */ | ||
| 156 | + if (onlyjump_p (end_insn) | ||
| 157 | + && (any_uncondjump_p (end_insn) | ||
| 158 | + || single_succ_p (tbb))) | ||
| 159 | + { | ||
| 160 | + padding_p = false; | ||
| 161 | + break; | ||
| 162 | + } | ||
| 163 | + else if (++cond_branch_num >= 2) | ||
| 164 | + { | ||
| 165 | + padding_p = false; | ||
| 166 | + break; | ||
| 167 | + } | ||
| 168 | + } | ||
| 169 | + | ||
| 170 | + } | ||
| 171 | + | ||
| 172 | + if (padding_p && detect_tight_loop_p) | ||
| 173 | + { | ||
| 174 | + emit_insn_before (gen_max_skip_align (GEN_INT (ceil_log2 (size)), | ||
| 175 | + GEN_INT (0)), label); | ||
| 176 | + /* End of function. */ | ||
| 177 | + if (!tbb || tbb == EXIT_BLOCK_PTR_FOR_FN (cfun)) | ||
| 178 | + break; | ||
| 179 | + /* Skip bb which already fits into one cacheline. */ | ||
| 180 | + bb = tbb; | ||
| 181 | + } | ||
| 182 | + } | ||
| 183 | + } | ||
| 184 | + | ||
| 185 | + loop_optimizer_finalize (); | ||
| 186 | + free_dominance_info (CDI_DOMINATORS); | ||
| 187 | +} | ||
| 188 | + | ||
| 189 | +namespace { | ||
| 190 | + | ||
| 191 | +const pass_data pass_data_align_tight_loops = | ||
| 192 | +{ | ||
| 193 | + RTL_PASS, /* type */ | ||
| 194 | + "align_tight_loops", /* name */ | ||
| 195 | + OPTGROUP_NONE, /* optinfo_flags */ | ||
| 196 | + TV_MACH_DEP, /* tv_id */ | ||
| 197 | + 0, /* properties_required */ | ||
| 198 | + 0, /* properties_provided */ | ||
| 199 | + 0, /* properties_destroyed */ | ||
| 200 | + 0, /* todo_flags_start */ | ||
| 201 | + 0, /* todo_flags_finish */ | ||
| 202 | +}; | ||
| 203 | + | ||
| 204 | +class pass_align_tight_loops : public rtl_opt_pass | ||
| 205 | +{ | ||
| 206 | +public: | ||
| 207 | + pass_align_tight_loops (gcc::context *ctxt) | ||
| 208 | + : rtl_opt_pass (pass_data_align_tight_loops, ctxt) | ||
| 209 | + {} | ||
| 210 | + | ||
| 211 | + /* opt_pass methods: */ | ||
| 212 | + bool gate (function *) final override | ||
| 213 | + { | ||
| 214 | + return optimize && optimize_function_for_speed_p (cfun); | ||
| 215 | + } | ||
| 216 | + | ||
| 217 | + unsigned int execute (function *) final override | ||
| 218 | + { | ||
| 219 | + timevar_push (TV_MACH_DEP); | ||
| 220 | +#ifdef ASM_OUTPUT_MAX_SKIP_ALIGN | ||
| 221 | + ix86_align_loops (); | ||
| 222 | +#endif | ||
| 223 | + timevar_pop (TV_MACH_DEP); | ||
| 224 | + return 0; | ||
| 225 | + } | ||
| 226 | +}; // class pass_align_tight_loops | ||
| 227 | + | ||
| 228 | +} // anon namespace | ||
| 229 | + | ||
| 230 | +rtl_opt_pass * | ||
| 231 | +make_pass_align_tight_loops (gcc::context *ctxt) | ||
| 232 | +{ | ||
| 233 | + return new pass_align_tight_loops (ctxt); | ||
| 234 | +} | ||
| 235 | + | ||
| 236 | /* This compares the priority of target features in function DECL1 | ||
| 237 | and DECL2. It returns positive value if DECL1 is higher priority, | ||
| 238 | negative value if DECL2 is higher priority and 0 if they are the | ||
| 239 | diff --git a/gcc/config/i386/i386-passes.def b/gcc/config/i386/i386-passes.def | ||
| 240 | index 7d96766f7b96..e500f15c9971 100644 | ||
| 241 | --- a/gcc/config/i386/i386-passes.def | ||
| 242 | +++ b/gcc/config/i386/i386-passes.def | ||
| 243 | @@ -31,5 +31,8 @@ along with GCC; see the file COPYING3. If not see | ||
| 244 | INSERT_PASS_BEFORE (pass_cse2, 1, pass_stv, true /* timode_p */); | ||
| 245 | |||
| 246 | INSERT_PASS_BEFORE (pass_shorten_branches, 1, pass_insert_endbr_and_patchable_area); | ||
| 247 | + /* pass_align_tight_loops must be after pass_insert_endbr_and_patchable_area. | ||
| 248 | + PR116174. */ | ||
| 249 | + INSERT_PASS_BEFORE (pass_shorten_branches, 1, pass_align_tight_loops); | ||
| 250 | |||
| 251 | INSERT_PASS_AFTER (pass_combine, 1, pass_remove_partial_avx_dependency); | ||
| 252 | diff --git a/gcc/config/i386/i386-protos.h b/gcc/config/i386/i386-protos.h | ||
| 253 | index 46214a63974d..36c7b1aed42b 100644 | ||
| 254 | --- a/gcc/config/i386/i386-protos.h | ||
| 255 | +++ b/gcc/config/i386/i386-protos.h | ||
| 256 | @@ -419,6 +419,7 @@ extern rtl_opt_pass *make_pass_insert_endbr_and_patchable_area | ||
| 257 | (gcc::context *); | ||
| 258 | extern rtl_opt_pass *make_pass_remove_partial_avx_dependency | ||
| 259 | (gcc::context *); | ||
| 260 | +extern rtl_opt_pass *make_pass_align_tight_loops (gcc::context *); | ||
| 261 | |||
| 262 | extern bool ix86_has_no_direct_extern_access; | ||
| 263 | |||
| 264 | diff --git a/gcc/config/i386/i386.cc b/gcc/config/i386/i386.cc | ||
| 265 | index 6f89891d3cb5..288c69467d62 100644 | ||
| 266 | --- a/gcc/config/i386/i386.cc | ||
| 267 | +++ b/gcc/config/i386/i386.cc | ||
| 268 | @@ -23444,150 +23444,6 @@ ix86_split_stlf_stall_load () | ||
| 269 | } | ||
| 270 | } | ||
| 271 | |||
| 272 | -/* When a hot loop can be fit into one cacheline, | ||
| 273 | - force align the loop without considering the max skip. */ | ||
| 274 | -static void | ||
| 275 | -ix86_align_loops () | ||
| 276 | -{ | ||
| 277 | - basic_block bb; | ||
| 278 | - | ||
| 279 | - /* Don't do this when we don't know cache line size. */ | ||
| 280 | - if (ix86_cost->prefetch_block == 0) | ||
| 281 | - return; | ||
| 282 | - | ||
| 283 | - loop_optimizer_init (AVOID_CFG_MODIFICATIONS); | ||
| 284 | - profile_count count_threshold = cfun->cfg->count_max / param_align_threshold; | ||
| 285 | - FOR_EACH_BB_FN (bb, cfun) | ||
| 286 | - { | ||
| 287 | - rtx_insn *label = BB_HEAD (bb); | ||
| 288 | - bool has_fallthru = 0; | ||
| 289 | - edge e; | ||
| 290 | - edge_iterator ei; | ||
| 291 | - | ||
| 292 | - if (!LABEL_P (label)) | ||
| 293 | - continue; | ||
| 294 | - | ||
| 295 | - profile_count fallthru_count = profile_count::zero (); | ||
| 296 | - profile_count branch_count = profile_count::zero (); | ||
| 297 | - | ||
| 298 | - FOR_EACH_EDGE (e, ei, bb->preds) | ||
| 299 | - { | ||
| 300 | - if (e->flags & EDGE_FALLTHRU) | ||
| 301 | - has_fallthru = 1, fallthru_count += e->count (); | ||
| 302 | - else | ||
| 303 | - branch_count += e->count (); | ||
| 304 | - } | ||
| 305 | - | ||
| 306 | - if (!fallthru_count.initialized_p () || !branch_count.initialized_p ()) | ||
| 307 | - continue; | ||
| 308 | - | ||
| 309 | - if (bb->loop_father | ||
| 310 | - && bb->loop_father->latch != EXIT_BLOCK_PTR_FOR_FN (cfun) | ||
| 311 | - && (has_fallthru | ||
| 312 | - ? (!(single_succ_p (bb) | ||
| 313 | - && single_succ (bb) == EXIT_BLOCK_PTR_FOR_FN (cfun)) | ||
| 314 | - && optimize_bb_for_speed_p (bb) | ||
| 315 | - && branch_count + fallthru_count > count_threshold | ||
| 316 | - && (branch_count > fallthru_count * param_align_loop_iterations)) | ||
| 317 | - /* In case there'no fallthru for the loop. | ||
| 318 | - Nops inserted won't be executed. */ | ||
| 319 | - : (branch_count > count_threshold | ||
| 320 | - || (bb->count > bb->prev_bb->count * 10 | ||
| 321 | - && (bb->prev_bb->count | ||
| 322 | - <= ENTRY_BLOCK_PTR_FOR_FN (cfun)->count / 2))))) | ||
| 323 | - { | ||
| 324 | - rtx_insn* insn, *end_insn; | ||
| 325 | - HOST_WIDE_INT size = 0; | ||
| 326 | - bool padding_p = true; | ||
| 327 | - basic_block tbb = bb; | ||
| 328 | - unsigned cond_branch_num = 0; | ||
| 329 | - bool detect_tight_loop_p = false; | ||
| 330 | - | ||
| 331 | - for (unsigned int i = 0; i != bb->loop_father->num_nodes; | ||
| 332 | - i++, tbb = tbb->next_bb) | ||
| 333 | - { | ||
| 334 | - /* Only handle continuous cfg layout. */ | ||
| 335 | - if (bb->loop_father != tbb->loop_father) | ||
| 336 | - { | ||
| 337 | - padding_p = false; | ||
| 338 | - break; | ||
| 339 | - } | ||
| 340 | - | ||
| 341 | - FOR_BB_INSNS (tbb, insn) | ||
| 342 | - { | ||
| 343 | - if (!NONDEBUG_INSN_P (insn)) | ||
| 344 | - continue; | ||
| 345 | - size += ix86_min_insn_size (insn); | ||
| 346 | - | ||
| 347 | - /* We don't know size of inline asm. | ||
| 348 | - Don't align loop for call. */ | ||
| 349 | - if (asm_noperands (PATTERN (insn)) >= 0 | ||
| 350 | - || CALL_P (insn)) | ||
| 351 | - { | ||
| 352 | - size = -1; | ||
| 353 | - break; | ||
| 354 | - } | ||
| 355 | - } | ||
| 356 | - | ||
| 357 | - if (size == -1 || size > ix86_cost->prefetch_block) | ||
| 358 | - { | ||
| 359 | - padding_p = false; | ||
| 360 | - break; | ||
| 361 | - } | ||
| 362 | - | ||
| 363 | - FOR_EACH_EDGE (e, ei, tbb->succs) | ||
| 364 | - { | ||
| 365 | - /* It could be part of the loop. */ | ||
| 366 | - if (e->dest == bb) | ||
| 367 | - { | ||
| 368 | - detect_tight_loop_p = true; | ||
| 369 | - break; | ||
| 370 | - } | ||
| 371 | - } | ||
| 372 | - | ||
| 373 | - if (detect_tight_loop_p) | ||
| 374 | - break; | ||
| 375 | - | ||
| 376 | - end_insn = BB_END (tbb); | ||
| 377 | - if (JUMP_P (end_insn)) | ||
| 378 | - { | ||
| 379 | - /* For decoded icache: | ||
| 380 | - 1. Up to two branches are allowed per Way. | ||
| 381 | - 2. A non-conditional branch is the last micro-op in a Way. | ||
| 382 | - */ | ||
| 383 | - if (onlyjump_p (end_insn) | ||
| 384 | - && (any_uncondjump_p (end_insn) | ||
| 385 | - || single_succ_p (tbb))) | ||
| 386 | - { | ||
| 387 | - padding_p = false; | ||
| 388 | - break; | ||
| 389 | - } | ||
| 390 | - else if (++cond_branch_num >= 2) | ||
| 391 | - { | ||
| 392 | - padding_p = false; | ||
| 393 | - break; | ||
| 394 | - } | ||
| 395 | - } | ||
| 396 | - | ||
| 397 | - } | ||
| 398 | - | ||
| 399 | - if (padding_p && detect_tight_loop_p) | ||
| 400 | - { | ||
| 401 | - emit_insn_before (gen_max_skip_align (GEN_INT (ceil_log2 (size)), | ||
| 402 | - GEN_INT (0)), label); | ||
| 403 | - /* End of function. */ | ||
| 404 | - if (!tbb || tbb == EXIT_BLOCK_PTR_FOR_FN (cfun)) | ||
| 405 | - break; | ||
| 406 | - /* Skip bb which already fits into one cacheline. */ | ||
| 407 | - bb = tbb; | ||
| 408 | - } | ||
| 409 | - } | ||
| 410 | - } | ||
| 411 | - | ||
| 412 | - loop_optimizer_finalize (); | ||
| 413 | - free_dominance_info (CDI_DOMINATORS); | ||
| 414 | -} | ||
| 415 | - | ||
| 416 | /* Implement machine specific optimizations. We implement padding of returns | ||
| 417 | for K8 CPUs and pass to avoid 4 jumps in the single 16 byte window. */ | ||
| 418 | static void | ||
| 419 | @@ -23611,8 +23467,6 @@ ix86_reorg (void) | ||
| 420 | #ifdef ASM_OUTPUT_MAX_SKIP_ALIGN | ||
| 421 | if (TARGET_FOUR_JUMP_LIMIT) | ||
| 422 | ix86_avoid_jump_mispredicts (); | ||
| 423 | - | ||
| 424 | - ix86_align_loops (); | ||
| 425 | #endif | ||
| 426 | } | ||
| 427 | } | ||
| 428 | diff --git a/gcc/testsuite/gcc.target/i386/pr116174.c b/gcc/testsuite/gcc.target/i386/pr116174.c | ||
| 429 | new file mode 100644 | ||
| 430 | index 000000000000..8877d0b51af1 | ||
| 431 | --- /dev/null | ||
| 432 | +++ b/gcc/testsuite/gcc.target/i386/pr116174.c | ||
| 433 | @@ -0,0 +1,12 @@ | ||
| 434 | +/* { dg-do compile { target *-*-linux* } } */ | ||
| 435 | +/* { dg-options "-O2 -fcf-protection=branch" } */ | ||
| 436 | + | ||
| 437 | +char * | ||
| 438 | +foo (char *dest, const char *src) | ||
| 439 | +{ | ||
| 440 | + while ((*dest++ = *src++) != '\0') | ||
| 441 | + /* nothing */; | ||
| 442 | + return --dest; | ||
| 443 | +} | ||
| 444 | + | ||
| 445 | +/* { dg-final { scan-assembler "\t\.cfi_startproc\n\tendbr(32|64)\n" } } */ | ||
| 446 | -- | ||
| 447 | 2.43.5 | ||
diff --git a/meta/recipes-devtools/gcc/gcc/0028-libsanitizer-undef-_TIME_BITS-in-solaris-procmaps.patch b/meta/recipes-devtools/gcc/gcc/0028-libsanitizer-undef-_TIME_BITS-in-solaris-procmaps.patch deleted file mode 100644 index 9426f5d221..0000000000 --- a/meta/recipes-devtools/gcc/gcc/0028-libsanitizer-undef-_TIME_BITS-in-solaris-procmaps.patch +++ /dev/null | |||
| @@ -1,62 +0,0 @@ | |||
| 1 | From 883d5549dc959b736e3cb61b989272a9e6a42565 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Thomas Petazzoni <thomas.petazzoni@bootlin.com> | ||
| 3 | Date: Thu, 3 Apr 2025 17:09:22 +0800 | ||
| 4 | Subject: [PATCH] libsanitizer: also undef _TIME_BITS in sanitizer_procmaps_solaris.cpp | ||
| 5 | |||
| 6 | Upstream commit | ||
| 7 | https://github.com/llvm/llvm-project/commit/26800a2c7e7996dc773b4e990dd5cca41c45e1a9 | ||
| 8 | of LLVM added a #undef _TIME_BITS in | ||
| 9 | libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp to | ||
| 10 | fix the build on 32-bit Linux platforms that have enabled 64-bit | ||
| 11 | time_t using _TIME_BITS=64. | ||
| 12 | |||
| 13 | Indeed, _TIME_BITS=64 can only be used when _FILE_OFFSET_BITS=64, but | ||
| 14 | sanitizer_platform_limits_posix.cpp undefines _FILE_OFFSET_BITS before | ||
| 15 | including any header file. To fix this, the upstream fix was to also | ||
| 16 | undef _TIME_BITS. | ||
| 17 | |||
| 18 | This commit simply does the same in sanitizer_procmaps_solaris.cpp, | ||
| 19 | which also gets compiled under Linux (despite what the file name | ||
| 20 | says). In practice on Linux hosts (where _TIME_BITS=64 matters), | ||
| 21 | sanitizer_procmaps_solaris.cpp will expand to nothing, as pretty much | ||
| 22 | the rest of the file is inside a #ifdef SANITIZER_SOLARIS...#endif. So | ||
| 23 | the #undef _FILE_OFFSET_BITS and #undef _TIME_BITS are only here | ||
| 24 | before including sanitizer_platform.h, which will set the | ||
| 25 | SANITIZER_LINUX/SANITIZER_SOLARIS define depending on the platform. | ||
| 26 | |||
| 27 | Fixes | ||
| 28 | |||
| 29 | ``` | ||
| 30 | /usr/include/features-time64.h:26:5: error: "_TIME_BITS=64 is allowed | ||
| 31 | only with _FILE_OFFSET_BITS=64" | ||
| 32 | | # error "_TIME_BITS=64 is allowed only with _FILE_OFFSET_BITS=64" | ||
| 33 | | ^ | ||
| 34 | | 1 error generated. | ||
| 35 | ``` | ||
| 36 | Upstream-Status: Backport [https://github.com/gcc-mirror/gcc/commit/fa321004f3f6288d3ee2eefa6b02177131882dca] | ||
| 37 | |||
| 38 | Signed-off-by: Jiaying Song <jiaying.song.cn@windriver.com> | ||
| 39 | --- | ||
| 40 | libsanitizer/sanitizer_common/sanitizer_procmaps_solaris.cpp | 5 +++++ | ||
| 41 | 1 file changed, 5 insertions(+) | ||
| 42 | |||
| 43 | diff --git a/libsanitizer/sanitizer_common/sanitizer_procmaps_solaris.cpp b/libsanitizer/sanitizer_common/sanitizer_procmaps_solaris.cpp | ||
| 44 | index eeb49e2af..f78558bed 100644 | ||
| 45 | --- a/libsanitizer/sanitizer_common/sanitizer_procmaps_solaris.cpp | ||
| 46 | +++ b/libsanitizer/sanitizer_common/sanitizer_procmaps_solaris.cpp | ||
| 47 | @@ -10,7 +10,12 @@ | ||
| 48 | //===----------------------------------------------------------------------===// | ||
| 49 | |||
| 50 | // Before Solaris 11.4, <procfs.h> doesn't work in a largefile environment. | ||
| 51 | + | ||
| 52 | #undef _FILE_OFFSET_BITS | ||
| 53 | + | ||
| 54 | +// Avoid conflict between `_TIME_BITS` defined vs. `_FILE_OFFSET_BITS` | ||
| 55 | +// undefined in some Linux configurations. | ||
| 56 | +#undef _TIME_BITS | ||
| 57 | #include "sanitizer_platform.h" | ||
| 58 | #if SANITIZER_SOLARIS | ||
| 59 | # include <fcntl.h> | ||
| 60 | -- | ||
| 61 | 2.34.1 | ||
| 62 | |||
diff --git a/meta/recipes-devtools/gcc/gcc/gcc.git-ab884fffe3fc82a710bea66ad651720d71c938b8.patch b/meta/recipes-devtools/gcc/gcc/gcc.git-ab884fffe3fc82a710bea66ad651720d71c938b8.patch deleted file mode 100644 index e5abdcc703..0000000000 --- a/meta/recipes-devtools/gcc/gcc/gcc.git-ab884fffe3fc82a710bea66ad651720d71c938b8.patch +++ /dev/null | |||
| @@ -1,549 +0,0 @@ | |||
| 1 | From ab884fffe3fc82a710bea66ad651720d71c938b8 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Jonathan Wakely <jwakely@redhat.com> | ||
| 3 | Date: Tue, 30 Apr 2024 09:52:13 +0100 | ||
| 4 | Subject: [PATCH] libstdc++: Fix std::chrono::tzdb to work with vanguard format | ||
| 5 | |||
| 6 | I found some issues in the std::chrono::tzdb parser by testing the | ||
| 7 | tzdata "vanguard" format, which uses new features that aren't enabled in | ||
| 8 | the "main" and "rearguard" data formats. | ||
| 9 | |||
| 10 | Since 2024a the keyword "minimum" is no longer valid for the FROM and TO | ||
| 11 | fields in a Rule line, which means that "m" is now a valid abbreviation | ||
| 12 | for "maximum". Previously we expected either "mi" or "ma". For backwards | ||
| 13 | compatibility, a FROM field beginning with "mi" is still supported and | ||
| 14 | is treated as 1900. The "maximum" keyword is only allowed in TO now, | ||
| 15 | because it makes no sense in FROM. To support these changes the | ||
| 16 | minmax_year and minmax_year2 classes for parsing FROM and TO are | ||
| 17 | replaced with a single years_from_to class that reads both fields. | ||
| 18 | |||
| 19 | The vanguard format makes use of %z in Zone FORMAT fields, which caused | ||
| 20 | an exception to be thrown from ZoneInfo::set_abbrev because no % or / | ||
| 21 | characters were expected when a Zone doesn't use a named Rule. The | ||
| 22 | ZoneInfo::to(sys_info&) function now uses format_abbrev_str to replace | ||
| 23 | any %z with the current offset. Although format_abbrev_str also checks | ||
| 24 | for %s and STD/DST formats, those only make sense when a named Rule is | ||
| 25 | in effect, so won't occur when ZoneInfo::to(sys_info&) is used. | ||
| 26 | |||
| 27 | Since making this change on trunk, the tzdata-2024b release started | ||
| 28 | using %z in the main format, not just vanguard. This makes a backport to | ||
| 29 | release branches necessary (see PR 116657). | ||
| 30 | |||
| 31 | This change also implements a feature that has always been missing from | ||
| 32 | time_zone::_M_get_sys_info: finding the Rule that is active before the | ||
| 33 | specified time point, so that we can correctly handle %s in the FORMAT | ||
| 34 | for the first new sys_info that gets created. This requires implementing | ||
| 35 | a poorly documented feature of zic, to get the LETTERS field from a | ||
| 36 | later transition, as described at | ||
| 37 | https://mm.icann.org/pipermail/tz/2024-April/058891.html | ||
| 38 | In order for this to work we need to be able to distinguish an empty | ||
| 39 | letters field (as used by CE%sT where the variable part is either empty | ||
| 40 | or "S") from "the letters field is not known for this transition". The | ||
| 41 | tzdata file uses "-" for an empty letters field, which libstdc++ was | ||
| 42 | previously replacing with "" when the Rule was parsed. Instead, we now | ||
| 43 | preserve the "-" in the Rule object, so that "" can be used for the case | ||
| 44 | where we don't know the letters (and so need to decide it). | ||
| 45 | |||
| 46 | (cherry picked from commit 0ca8d56f2085715f27ee536c6c344bc47af49cdd) | ||
| 47 | |||
| 48 | Upstream-Status: Backport [https://gcc.gnu.org/git/gitweb.cgi?p=gcc.git;h=5ceea2ac106d6dd1aa8175670b15a801316cf1c9] | ||
| 49 | |||
| 50 | Signed-off-by: Markus Volk <f_l_k@t-online.de> | ||
| 51 | --- | ||
| 52 | libstdc++-v3/src/c++20/tzdb.cc | 265 +++++++++++------- | ||
| 53 | .../std/time/time_zone/sys_info_abbrev.cc | 106 +++++++ | ||
| 54 | libstdc++-v3/testsuite/std/time/tzdb/1.cc | 6 +- | ||
| 55 | 3 files changed, 274 insertions(+), 103 deletions(-) | ||
| 56 | create mode 100644 libstdc++-v3/testsuite/std/time/time_zone/sys_info_abbrev.cc | ||
| 57 | |||
| 58 | diff --git a/libstdc++-v3/src/c++20/tzdb.cc b/libstdc++-v3/src/c++20/tzdb.cc | ||
| 59 | index c7c7cc9deee6..7e8cce7ce8cf 100644 | ||
| 60 | --- a/libstdc++-v3/src/c++20/tzdb.cc | ||
| 61 | +++ b/libstdc++-v3/src/c++20/tzdb.cc | ||
| 62 | @@ -342,51 +342,103 @@ namespace std::chrono | ||
| 63 | friend istream& operator>>(istream&, on_day&); | ||
| 64 | }; | ||
| 65 | |||
| 66 | - // Wrapper for chrono::year that reads a year, or one of the keywords | ||
| 67 | - // "minimum" or "maximum", or an unambiguous prefix of a keyword. | ||
| 68 | - struct minmax_year | ||
| 69 | + // Wrapper for two chrono::year values, which reads the FROM and TO | ||
| 70 | + // fields of a Rule line. The FROM field is a year and TO is a year or | ||
| 71 | + // one of the keywords "maximum" or "only" (or an abbreviation of those). | ||
| 72 | + // For backwards compatibility, the keyword "minimum" is recognized | ||
| 73 | + // for FROM and interpreted as 1900. | ||
| 74 | + struct years_from_to | ||
| 75 | { | ||
| 76 | - year& y; | ||
| 77 | + year& from; | ||
| 78 | + year& to; | ||
| 79 | |||
| 80 | - friend istream& operator>>(istream& in, minmax_year&& y) | ||
| 81 | + friend istream& operator>>(istream& in, years_from_to&& yy) | ||
| 82 | { | ||
| 83 | - if (ws(in).peek() == 'm') // keywords "minimum" or "maximum" | ||
| 84 | + string s; | ||
| 85 | + auto c = ws(in).peek(); | ||
| 86 | + if (c == 'm') [[unlikely]] // keyword "minimum" | ||
| 87 | { | ||
| 88 | - string s; | ||
| 89 | - in >> s; // extract the rest of the word, but only look at s[1] | ||
| 90 | - if (s[1] == 'a') | ||
| 91 | - y.y = year::max(); | ||
| 92 | - else if (s[1] == 'i') | ||
| 93 | - y.y = year::min(); | ||
| 94 | - else | ||
| 95 | - in.setstate(ios::failbit); | ||
| 96 | + in >> s; // extract the rest of the word | ||
| 97 | + yy.from = year(1900); | ||
| 98 | + } | ||
| 99 | + else if (int num = 0; in >> num) [[likely]] | ||
| 100 | + yy.from = year{num}; | ||
| 101 | + | ||
| 102 | + c = ws(in).peek(); | ||
| 103 | + if (c == 'm') // keyword "maximum" | ||
| 104 | + { | ||
| 105 | + in >> s; // extract the rest of the word | ||
| 106 | + yy.to = year::max(); | ||
| 107 | + } | ||
| 108 | + else if (c == 'o') // keyword "only" | ||
| 109 | + { | ||
| 110 | + in >> s; // extract the rest of the word | ||
| 111 | + yy.to = yy.from; | ||
| 112 | } | ||
| 113 | else if (int num = 0; in >> num) | ||
| 114 | - y.y = year{num}; | ||
| 115 | + yy.to = year{num}; | ||
| 116 | + | ||
| 117 | return in; | ||
| 118 | } | ||
| 119 | }; | ||
| 120 | |||
| 121 | - // As above for minmax_year, but also supports the keyword "only", | ||
| 122 | - // meaning that the TO year is the same as the FROM year. | ||
| 123 | - struct minmax_year2 | ||
| 124 | + bool | ||
| 125 | + select_std_or_dst_abbrev(string& abbrev, minutes save) | ||
| 126 | { | ||
| 127 | - minmax_year to; | ||
| 128 | - year from; | ||
| 129 | + if (size_t pos = abbrev.find('/'); pos != string::npos) | ||
| 130 | + { | ||
| 131 | + // Select one of "STD/DST" for standard or daylight. | ||
| 132 | + if (save == 0min) | ||
| 133 | + abbrev.erase(pos); | ||
| 134 | + else | ||
| 135 | + abbrev.erase(0, pos + 1); | ||
| 136 | + return true; | ||
| 137 | + } | ||
| 138 | + return false; | ||
| 139 | + } | ||
| 140 | |||
| 141 | - friend istream& operator>>(istream& in, minmax_year2&& y) | ||
| 142 | - { | ||
| 143 | - if (ws(in).peek() == 'o') // keyword "only" | ||
| 144 | - { | ||
| 145 | - string s; | ||
| 146 | - in >> s; // extract the whole keyword | ||
| 147 | - y.to.y = y.from; | ||
| 148 | - } | ||
| 149 | - else | ||
| 150 | - in >> std::move(y.to); | ||
| 151 | - return in; | ||
| 152 | - } | ||
| 153 | - }; | ||
| 154 | + // Set the sys_info::abbrev string by expanding any placeholders. | ||
| 155 | + void | ||
| 156 | + format_abbrev_str(sys_info& info, string_view letters = {}) | ||
| 157 | + { | ||
| 158 | + if (size_t pos = info.abbrev.find('%'); pos != string::npos) | ||
| 159 | + { | ||
| 160 | + if (info.abbrev[pos + 1] == 's') | ||
| 161 | + { | ||
| 162 | + // Expand "%s" to the variable part, given by Rule::letters. | ||
| 163 | + if (letters == "-") | ||
| 164 | + info.abbrev.erase(pos, 2); | ||
| 165 | + else | ||
| 166 | + info.abbrev.replace(pos, 2, letters); | ||
| 167 | + } | ||
| 168 | + else if (info.abbrev[pos + 1] == 'z') | ||
| 169 | + { | ||
| 170 | + // Expand "%z" to the UT offset as +/-hh, +/-hhmm, or +/-hhmmss. | ||
| 171 | + hh_mm_ss<seconds> t(info.offset); | ||
| 172 | + string z(1, "+-"[t.is_negative()]); | ||
| 173 | + long val = t.hours().count(); | ||
| 174 | + int digits = 2; | ||
| 175 | + if (int m = t.minutes().count()) | ||
| 176 | + { | ||
| 177 | + digits = 4; | ||
| 178 | + val *= 100; | ||
| 179 | + val += m; | ||
| 180 | + if (int s = t.seconds().count()) | ||
| 181 | + { | ||
| 182 | + digits = 6; | ||
| 183 | + val *= 100; | ||
| 184 | + val += s; | ||
| 185 | + } | ||
| 186 | + } | ||
| 187 | + auto sval = std::to_string(val); | ||
| 188 | + z += string(digits - sval.size(), '0'); | ||
| 189 | + z += sval; | ||
| 190 | + info.abbrev.replace(pos, 2, z); | ||
| 191 | + } | ||
| 192 | + } | ||
| 193 | + else | ||
| 194 | + select_std_or_dst_abbrev(info.abbrev, info.save); | ||
| 195 | + } | ||
| 196 | |||
| 197 | // A time zone information record. | ||
| 198 | // Zone NAME STDOFF RULES FORMAT [UNTIL] | ||
| 199 | @@ -462,6 +514,7 @@ namespace std::chrono | ||
| 200 | info.offset = offset(); | ||
| 201 | info.save = minutes(m_save); | ||
| 202 | info.abbrev = format(); | ||
| 203 | + format_abbrev_str(info); // expand %z | ||
| 204 | return true; | ||
| 205 | } | ||
| 206 | |||
| 207 | @@ -469,12 +522,9 @@ namespace std::chrono | ||
| 208 | friend class time_zone; | ||
| 209 | |||
| 210 | void | ||
| 211 | - set_abbrev(const string& abbrev) | ||
| 212 | + set_abbrev(string abbrev) | ||
| 213 | { | ||
| 214 | - // In practice, the FORMAT field never needs expanding here. | ||
| 215 | - if (abbrev.find_first_of("/%") != abbrev.npos) | ||
| 216 | - __throw_runtime_error("std::chrono::time_zone: invalid data"); | ||
| 217 | - m_buf = abbrev; | ||
| 218 | + m_buf = std::move(abbrev); | ||
| 219 | m_pos = 0; | ||
| 220 | m_expanded = true; | ||
| 221 | } | ||
| 222 | @@ -544,9 +594,7 @@ namespace std::chrono | ||
| 223 | |||
| 224 | // Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S | ||
| 225 | |||
| 226 | - in >> quoted(rule.name) | ||
| 227 | - >> minmax_year{rule.from} | ||
| 228 | - >> minmax_year2{rule.to, rule.from}; | ||
| 229 | + in >> quoted(rule.name) >> years_from_to{rule.from, rule.to}; | ||
| 230 | |||
| 231 | if (char type; in >> type && type != '-') | ||
| 232 | in.setstate(ios::failbit); | ||
| 233 | @@ -557,7 +605,7 @@ namespace std::chrono | ||
| 234 | if (save_time.indicator != at_time::Wall) | ||
| 235 | { | ||
| 236 | // We don't actually store the save_time.indicator, because we | ||
| 237 | - // assume that it's always deducable from the actual offset value. | ||
| 238 | + // assume that it's always deducible from the offset value. | ||
| 239 | auto expected = save_time.time == 0s | ||
| 240 | ? at_time::Standard | ||
| 241 | : at_time::Daylight; | ||
| 242 | @@ -567,8 +615,6 @@ namespace std::chrono | ||
| 243 | rule.save = save_time.time; | ||
| 244 | |||
| 245 | in >> rule.letters; | ||
| 246 | - if (rule.letters == "-") | ||
| 247 | - rule.letters.clear(); | ||
| 248 | return in; | ||
| 249 | } | ||
| 250 | |||
| 251 | @@ -719,58 +765,6 @@ namespace std::chrono | ||
| 252 | #endif // TZDB_DISABLED | ||
| 253 | }; | ||
| 254 | |||
| 255 | -#ifndef TZDB_DISABLED | ||
| 256 | - namespace | ||
| 257 | - { | ||
| 258 | - bool | ||
| 259 | - select_std_or_dst_abbrev(string& abbrev, minutes save) | ||
| 260 | - { | ||
| 261 | - if (size_t pos = abbrev.find('/'); pos != string::npos) | ||
| 262 | - { | ||
| 263 | - // Select one of "STD/DST" for standard or daylight. | ||
| 264 | - if (save == 0min) | ||
| 265 | - abbrev.erase(pos); | ||
| 266 | - else | ||
| 267 | - abbrev.erase(0, pos + 1); | ||
| 268 | - return true; | ||
| 269 | - } | ||
| 270 | - return false; | ||
| 271 | - } | ||
| 272 | - | ||
| 273 | - // Set the sys_info::abbrev string by expanding any placeholders. | ||
| 274 | - void | ||
| 275 | - format_abbrev_str(sys_info& info, string_view letters = {}) | ||
| 276 | - { | ||
| 277 | - if (size_t pos = info.abbrev.find("%s"); pos != string::npos) | ||
| 278 | - { | ||
| 279 | - // Expand "%s" to the variable part, given by Rule::letters. | ||
| 280 | - info.abbrev.replace(pos, 2, letters); | ||
| 281 | - } | ||
| 282 | - else if (size_t pos = info.abbrev.find("%z"); pos != string::npos) | ||
| 283 | - { | ||
| 284 | - // Expand "%z" to the UT offset as +/-hh, +/-hhmm, or +/-hhmmss. | ||
| 285 | - hh_mm_ss<seconds> t(info.offset); | ||
| 286 | - string z(1, "+-"[t.is_negative()]); | ||
| 287 | - long val = t.hours().count(); | ||
| 288 | - if (minutes m = t.minutes(); m != m.zero()) | ||
| 289 | - { | ||
| 290 | - val *= 100; | ||
| 291 | - val += m.count(); | ||
| 292 | - if (seconds s = t.seconds(); s != s.zero()) | ||
| 293 | - { | ||
| 294 | - val *= 100; | ||
| 295 | - val += s.count(); | ||
| 296 | - } | ||
| 297 | - } | ||
| 298 | - z += std::to_string(val); | ||
| 299 | - info.abbrev.replace(pos, 2, z); | ||
| 300 | - } | ||
| 301 | - else | ||
| 302 | - select_std_or_dst_abbrev(info.abbrev, info.save); | ||
| 303 | - } | ||
| 304 | - } | ||
| 305 | -#endif // TZDB_DISABLED | ||
| 306 | - | ||
| 307 | // Implementation of std::chrono::time_zone::get_info(const sys_time<D>&) | ||
| 308 | sys_info | ||
| 309 | time_zone::_M_get_sys_info(sys_seconds tp) const | ||
| 310 | @@ -839,12 +833,72 @@ namespace std::chrono | ||
| 311 | info.abbrev = ri.format(); | ||
| 312 | |||
| 313 | string_view letters; | ||
| 314 | - if (i != infos.begin()) | ||
| 315 | + if (i != infos.begin() && i[-1].expanded()) | ||
| 316 | + letters = i[-1].next_letters(); | ||
| 317 | + | ||
| 318 | + if (letters.empty()) | ||
| 319 | { | ||
| 320 | - if (i[-1].expanded()) | ||
| 321 | - letters = i[-1].next_letters(); | ||
| 322 | - // XXX else need to find Rule active before this time and use it | ||
| 323 | - // to know the initial offset, save, and letters. | ||
| 324 | + sys_seconds t = info.begin - seconds(1); | ||
| 325 | + const year_month_day date(chrono::floor<days>(t)); | ||
| 326 | + | ||
| 327 | + // Try to find a Rule active before this time, to get initial | ||
| 328 | + // SAVE and LETTERS values. There may not be a Rule for the period | ||
| 329 | + // before the first DST transition, so find the earliest DST->STD | ||
| 330 | + // transition and use the LETTERS from that. | ||
| 331 | + const Rule* active_rule = nullptr; | ||
| 332 | + sys_seconds active_rule_start = sys_seconds::min(); | ||
| 333 | + const Rule* first_std = nullptr; | ||
| 334 | + for (const auto& rule : rules) | ||
| 335 | + { | ||
| 336 | + if (rule.save == minutes(0)) | ||
| 337 | + { | ||
| 338 | + if (!first_std) | ||
| 339 | + first_std = &rule; | ||
| 340 | + else if (rule.from < first_std->from) | ||
| 341 | + first_std = &rule; | ||
| 342 | + else if (rule.from == first_std->from) | ||
| 343 | + { | ||
| 344 | + if (rule.start_time(rule.from, {}) | ||
| 345 | + < first_std->start_time(first_std->from, {})) | ||
| 346 | + first_std = &rule; | ||
| 347 | + } | ||
| 348 | + } | ||
| 349 | + | ||
| 350 | + year y = date.year(); | ||
| 351 | + | ||
| 352 | + if (y > rule.to) // rule no longer applies at time t | ||
| 353 | + continue; | ||
| 354 | + if (y < rule.from) // rule doesn't apply yet at time t | ||
| 355 | + continue; | ||
| 356 | + | ||
| 357 | + sys_seconds rule_start; | ||
| 358 | + | ||
| 359 | + seconds offset{}; // appropriate for at_time::Universal | ||
| 360 | + if (rule.when.indicator == at_time::Wall) | ||
| 361 | + offset = info.offset; | ||
| 362 | + else if (rule.when.indicator == at_time::Standard) | ||
| 363 | + offset = ri.offset(); | ||
| 364 | + | ||
| 365 | + // Time the rule takes effect this year: | ||
| 366 | + rule_start = rule.start_time(y, offset); | ||
| 367 | + | ||
| 368 | + if (rule_start >= t && rule.from < y) | ||
| 369 | + { | ||
| 370 | + // Try this rule in the previous year. | ||
| 371 | + rule_start = rule.start_time(--y, offset); | ||
| 372 | + } | ||
| 373 | + | ||
| 374 | + if (active_rule_start < rule_start && rule_start < t) | ||
| 375 | + { | ||
| 376 | + active_rule_start = rule_start; | ||
| 377 | + active_rule = &rule; | ||
| 378 | + } | ||
| 379 | + } | ||
| 380 | + | ||
| 381 | + if (active_rule) | ||
| 382 | + letters = active_rule->letters; | ||
| 383 | + else if (first_std) | ||
| 384 | + letters = first_std->letters; | ||
| 385 | } | ||
| 386 | |||
| 387 | const Rule* curr_rule = nullptr; | ||
| 388 | @@ -2069,9 +2123,11 @@ namespace std::chrono | ||
| 389 | istringstream in2(std::move(rules)); | ||
| 390 | in2 >> rules_time; | ||
| 391 | inf.m_save = duration_cast<minutes>(rules_time.time); | ||
| 392 | + // If the FORMAT is "STD/DST" then we can choose the right one | ||
| 393 | + // now, so that we store a shorter string. | ||
| 394 | select_std_or_dst_abbrev(fmt, inf.m_save); | ||
| 395 | } | ||
| 396 | - inf.set_abbrev(fmt); | ||
| 397 | + inf.set_abbrev(std::move(fmt)); | ||
| 398 | } | ||
| 399 | |||
| 400 | // YEAR [MONTH [DAY [TIME]]] | ||
| 401 | @@ -2082,7 +2138,12 @@ namespace std::chrono | ||
| 402 | abbrev_month m{January}; | ||
| 403 | int d = 1; | ||
| 404 | at_time t{}; | ||
| 405 | + // XXX DAY should support ON format, e.g. lastSun or Sun>=8 | ||
| 406 | in >> m >> d >> t; | ||
| 407 | + // XXX UNTIL field should be interpreted | ||
| 408 | + // "using the rules in effect just before the transition" | ||
| 409 | + // so might need to store as year_month_day and hh_mm_ss and only | ||
| 410 | + // convert to a sys_time once we know the offset in effect. | ||
| 411 | inf.m_until = sys_days(year(y)/m.m/day(d)) + seconds(t.time); | ||
| 412 | } | ||
| 413 | else | ||
| 414 | diff --git a/libstdc++-v3/testsuite/std/time/time_zone/sys_info_abbrev.cc b/libstdc++-v3/testsuite/std/time/time_zone/sys_info_abbrev.cc | ||
| 415 | new file mode 100644 | ||
| 416 | index 000000000000..f1a8fff02f58 | ||
| 417 | --- /dev/null | ||
| 418 | +++ b/libstdc++-v3/testsuite/std/time/time_zone/sys_info_abbrev.cc | ||
| 419 | @@ -0,0 +1,106 @@ | ||
| 420 | +// { dg-do run { target c++20 } } | ||
| 421 | +// { dg-require-effective-target tzdb } | ||
| 422 | +// { dg-require-effective-target cxx11_abi } | ||
| 423 | +// { dg-xfail-run-if "no weak override on AIX" { powerpc-ibm-aix* } } | ||
| 424 | + | ||
| 425 | +#include <chrono> | ||
| 426 | +#include <fstream> | ||
| 427 | +#include <testsuite_hooks.h> | ||
| 428 | + | ||
| 429 | +static bool override_used = false; | ||
| 430 | + | ||
| 431 | +namespace __gnu_cxx | ||
| 432 | +{ | ||
| 433 | + const char* zoneinfo_dir_override() { | ||
| 434 | + override_used = true; | ||
| 435 | + return "./"; | ||
| 436 | + } | ||
| 437 | +} | ||
| 438 | + | ||
| 439 | +using namespace std::chrono; | ||
| 440 | + | ||
| 441 | +void | ||
| 442 | +test_format() | ||
| 443 | +{ | ||
| 444 | + std::ofstream("tzdata.zi") << R"(# version test_1 | ||
| 445 | +Zone Africa/Bissau -1:2:20 - LMT 1912 Ja 1 1u | ||
| 446 | + -1 - %z 1975 | ||
| 447 | + 0 - GMT | ||
| 448 | +Zon Some/Zone 1:2:3 - %z 1900 | ||
| 449 | + 1:23:45 - %z 1950 | ||
| 450 | +Zo Another/Zone 1:2:3 - AZ0 1901 | ||
| 451 | + 1 Roolz A%sZ 2000 | ||
| 452 | + 1 Roolz SAZ/DAZ 2005 | ||
| 453 | + 1 Roolz %z | ||
| 454 | +Rule Roolz 1950 max - April 1 2 1 D | ||
| 455 | +Rul Roolz 1950 max - Oct 1 1 0 S | ||
| 456 | +Z Strange/Zone 1 - X%sX 1980 | ||
| 457 | + 1 - FOO/BAR 1990 | ||
| 458 | + 2:00 - %zzz 1995 | ||
| 459 | + 0:9 - %zzz 1996 | ||
| 460 | + 0:8:7 - %zzz 1997 | ||
| 461 | + 0:6:5.5 - %zzz 1998 | ||
| 462 | +)"; | ||
| 463 | + | ||
| 464 | + const auto& db = reload_tzdb(); | ||
| 465 | + VERIFY( override_used ); // If this fails then XFAIL for the target. | ||
| 466 | + VERIFY( db.version == "test_1" ); | ||
| 467 | + | ||
| 468 | + // Test formatting %z as | ||
| 469 | + auto tz = locate_zone("Africa/Bissau"); | ||
| 470 | + auto inf = tz->get_info(sys_days(1974y/1/1)); | ||
| 471 | + VERIFY( inf.abbrev == "-01" ); | ||
| 472 | + | ||
| 473 | + tz = locate_zone("Some/Zone"); | ||
| 474 | + inf = tz->get_info(sys_days(1899y/1/1)); | ||
| 475 | + VERIFY( inf.abbrev == "+010203" ); | ||
| 476 | + inf = tz->get_info(sys_days(1955y/1/1)); | ||
| 477 | + VERIFY( inf.abbrev == "+012345" ); | ||
| 478 | + | ||
| 479 | + tz = locate_zone("Another/Zone"); | ||
| 480 | + // Test formatting %s as the LETTER/S field from the active Rule. | ||
| 481 | + inf = tz->get_info(sys_days(1910y/January/1)); | ||
| 482 | + VERIFY( inf.abbrev == "ASZ" ); | ||
| 483 | + inf = tz->get_info(sys_days(1950y/January/1)); | ||
| 484 | + VERIFY( inf.abbrev == "ASZ" ); | ||
| 485 | + inf = tz->get_info(sys_days(1950y/June/1)); | ||
| 486 | + VERIFY( inf.abbrev == "ADZ" ); | ||
| 487 | + inf = tz->get_info(sys_days(1999y/January/1)); | ||
| 488 | + VERIFY( inf.abbrev == "ASZ" ); | ||
| 489 | + inf = tz->get_info(sys_days(1999y/July/1)); | ||
| 490 | + VERIFY( inf.abbrev == "ADZ" ); | ||
| 491 | + // Test formatting STD/DST according to the active Rule. | ||
| 492 | + inf = tz->get_info(sys_days(2000y/January/2)); | ||
| 493 | + VERIFY( inf.abbrev == "SAZ" ); | ||
| 494 | + inf = tz->get_info(sys_days(2001y/January/1)); | ||
| 495 | + VERIFY( inf.abbrev == "SAZ" ); | ||
| 496 | + inf = tz->get_info(sys_days(2001y/July/1)); | ||
| 497 | + VERIFY( inf.abbrev == "DAZ" ); | ||
| 498 | + // Test formatting %z as the offset determined by the active Rule. | ||
| 499 | + inf = tz->get_info(sys_days(2005y/January/2)); | ||
| 500 | + VERIFY( inf.abbrev == "+01" ); | ||
| 501 | + inf = tz->get_info(sys_days(2006y/January/1)); | ||
| 502 | + VERIFY( inf.abbrev == "+01" ); | ||
| 503 | + inf = tz->get_info(sys_days(2006y/July/1)); | ||
| 504 | + VERIFY( inf.abbrev == "+02" ); | ||
| 505 | + | ||
| 506 | + // Test formatting %z, %s and S/D for a Zone with no associated Rules. | ||
| 507 | + tz = locate_zone("Strange/Zone"); | ||
| 508 | + inf = tz->get_info(sys_days(1979y/January/1)); | ||
| 509 | + VERIFY( inf.abbrev == "XX" ); // No Rule means nothing to use for %s. | ||
| 510 | + inf = tz->get_info(sys_days(1981y/July/1)); | ||
| 511 | + VERIFY( inf.abbrev == "FOO" ); // Always standard time means first string. | ||
| 512 | + inf = tz->get_info(sys_days(1994y/July/1)); | ||
| 513 | + VERIFY( inf.abbrev == "+02zz" ); | ||
| 514 | + inf = tz->get_info(sys_days(1995y/July/1)); | ||
| 515 | + VERIFY( inf.abbrev == "+0009zz" ); | ||
| 516 | + inf = tz->get_info(sys_days(1996y/July/1)); | ||
| 517 | + VERIFY( inf.abbrev == "+000807zz" ); | ||
| 518 | + inf = tz->get_info(sys_days(1997y/July/1)); | ||
| 519 | + VERIFY( inf.abbrev == "+000606zz" ); | ||
| 520 | +} | ||
| 521 | + | ||
| 522 | +int main() | ||
| 523 | +{ | ||
| 524 | + test_format(); | ||
| 525 | +} | ||
| 526 | diff --git a/libstdc++-v3/testsuite/std/time/tzdb/1.cc b/libstdc++-v3/testsuite/std/time/tzdb/1.cc | ||
| 527 | index 796f3a8b4256..7a31c1c20ba7 100644 | ||
| 528 | --- a/libstdc++-v3/testsuite/std/time/tzdb/1.cc | ||
| 529 | +++ b/libstdc++-v3/testsuite/std/time/tzdb/1.cc | ||
| 530 | @@ -39,11 +39,15 @@ test_locate() | ||
| 531 | const tzdb& db = get_tzdb(); | ||
| 532 | const time_zone* tz = db.locate_zone("GMT"); | ||
| 533 | VERIFY( tz != nullptr ); | ||
| 534 | - VERIFY( tz->name() == "Etc/GMT" ); | ||
| 535 | VERIFY( tz == std::chrono::locate_zone("GMT") ); | ||
| 536 | VERIFY( tz == db.locate_zone("Etc/GMT") ); | ||
| 537 | VERIFY( tz == db.locate_zone("Etc/GMT+0") ); | ||
| 538 | |||
| 539 | + // Since 2022f GMT is now a Zone and Etc/GMT a link instead of vice versa, | ||
| 540 | + // but only when using the vanguard format. As of 2024a, the main and | ||
| 541 | + // rearguard formats still have Etc/GMT as a Zone and GMT as a link. | ||
| 542 | + VERIFY( tz->name() == "GMT" || tz->name() == "Etc/GMT" ); | ||
| 543 | + | ||
| 544 | VERIFY( db.locate_zone(db.current_zone()->name()) == db.current_zone() ); | ||
| 545 | } | ||
| 546 | |||
| 547 | -- | ||
| 548 | 2.43.5 | ||
| 549 | |||
diff --git a/meta/recipes-devtools/gcc/gcc_14.2.bb b/meta/recipes-devtools/gcc/gcc_15.1.bb index 255fe552bd..255fe552bd 100644 --- a/meta/recipes-devtools/gcc/gcc_14.2.bb +++ b/meta/recipes-devtools/gcc/gcc_15.1.bb | |||
diff --git a/meta/recipes-devtools/gcc/libgcc-initial_14.2.bb b/meta/recipes-devtools/gcc/libgcc-initial_15.1.bb index a259082b47..a259082b47 100644 --- a/meta/recipes-devtools/gcc/libgcc-initial_14.2.bb +++ b/meta/recipes-devtools/gcc/libgcc-initial_15.1.bb | |||
diff --git a/meta/recipes-devtools/gcc/libgcc_14.2.bb b/meta/recipes-devtools/gcc/libgcc_15.1.bb index fdcd6cc0da..fdcd6cc0da 100644 --- a/meta/recipes-devtools/gcc/libgcc_14.2.bb +++ b/meta/recipes-devtools/gcc/libgcc_15.1.bb | |||
diff --git a/meta/recipes-devtools/gcc/libgfortran_14.2.bb b/meta/recipes-devtools/gcc/libgfortran_15.1.bb index 71dd8b4bdc..71dd8b4bdc 100644 --- a/meta/recipes-devtools/gcc/libgfortran_14.2.bb +++ b/meta/recipes-devtools/gcc/libgfortran_15.1.bb | |||
