diff options
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 | |||