summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-devtools/gcc')
-rw-r--r--meta/recipes-devtools/gcc/gcc-13.4.inc (renamed from meta/recipes-devtools/gcc/gcc-13.3.inc)6
-rw-r--r--meta/recipes-devtools/gcc/gcc-common.inc26
-rw-r--r--meta/recipes-devtools/gcc/gcc-configure-common.inc1
-rw-r--r--meta/recipes-devtools/gcc/gcc-cross-canadian.inc5
-rw-r--r--meta/recipes-devtools/gcc/gcc-cross-canadian_13.4.bb (renamed from meta/recipes-devtools/gcc/gcc-cross-canadian_13.3.bb)0
-rw-r--r--meta/recipes-devtools/gcc/gcc-cross.inc17
-rw-r--r--meta/recipes-devtools/gcc/gcc-cross_13.4.bb (renamed from meta/recipes-devtools/gcc/gcc-cross_13.3.bb)0
-rw-r--r--meta/recipes-devtools/gcc/gcc-crosssdk_13.4.bb (renamed from meta/recipes-devtools/gcc/gcc-crosssdk_13.3.bb)0
-rw-r--r--meta/recipes-devtools/gcc/gcc-runtime_13.4.bb (renamed from meta/recipes-devtools/gcc/gcc-runtime_13.3.bb)0
-rw-r--r--meta/recipes-devtools/gcc/gcc-sanitizers_13.4.bb (renamed from meta/recipes-devtools/gcc/gcc-sanitizers_13.3.bb)0
-rw-r--r--meta/recipes-devtools/gcc/gcc-source_13.4.bb (renamed from meta/recipes-devtools/gcc/gcc-source_13.3.bb)0
-rw-r--r--meta/recipes-devtools/gcc/gcc-target.inc47
-rw-r--r--meta/recipes-devtools/gcc/gcc-testsuite.inc4
-rw-r--r--meta/recipes-devtools/gcc/gcc_13.4.bb (renamed from meta/recipes-devtools/gcc/gcc_13.3.bb)0
-rw-r--r--meta/recipes-devtools/gcc/libgcc-initial_13.4.bb (renamed from meta/recipes-devtools/gcc/libgcc-initial_13.3.bb)0
-rw-r--r--meta/recipes-devtools/gcc/libgcc_13.4.bb (renamed from meta/recipes-devtools/gcc/libgcc_13.3.bb)0
-rw-r--r--meta/recipes-devtools/gcc/libgfortran.inc2
-rw-r--r--meta/recipes-devtools/gcc/libgfortran_13.4.bb (renamed from meta/recipes-devtools/gcc/libgfortran_13.3.bb)0
18 files changed, 43 insertions, 65 deletions
diff --git a/meta/recipes-devtools/gcc/gcc-13.3.inc b/meta/recipes-devtools/gcc/gcc-13.4.inc
index 90f5ef88a9..eefae13530 100644
--- a/meta/recipes-devtools/gcc/gcc-13.3.inc
+++ b/meta/recipes-devtools/gcc/gcc-13.4.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
5PV = "13.3.0" 5PV = "13.4.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
9BINV = "13.3.0" 9BINV = "13.4.0"
10 10
11FILESEXTRAPATHS =. "${FILE_DIRNAME}/gcc:${FILE_DIRNAME}/gcc/backport:" 11FILESEXTRAPATHS =. "${FILE_DIRNAME}/gcc:${FILE_DIRNAME}/gcc/backport:"
12 12
@@ -67,7 +67,7 @@ SRC_URI = "${BASEURI} \
67 file://0025-gcc-testsuite-tweaks-for-mips-OE.patch \ 67 file://0025-gcc-testsuite-tweaks-for-mips-OE.patch \
68 file://0027-Fix-gcc-vect-module-testcases.patch \ 68 file://0027-Fix-gcc-vect-module-testcases.patch \
69" 69"
70SRC_URI[sha256sum] = "0845e9621c9543a13f484e94584a49ffc0129970e9914624235fc1d061a0c083" 70SRC_URI[sha256sum] = "9c4ce6dbb040568fdc545588ac03c5cbc95a8dbf0c7aa490170843afb59ca8f5"
71 71
72S = "${TMPDIR}/work-shared/gcc-${PV}-${PR}/${SOURCEDIR}" 72S = "${TMPDIR}/work-shared/gcc-${PV}-${PR}/${SOURCEDIR}"
73B = "${WORKDIR}/gcc-${PV}/build.${HOST_SYS}.${TARGET_SYS}" 73B = "${WORKDIR}/gcc-${PV}/build.${HOST_SYS}.${TARGET_SYS}"
diff --git a/meta/recipes-devtools/gcc/gcc-common.inc b/meta/recipes-devtools/gcc/gcc-common.inc
index 5ac82b1b57..01de93cc3c 100644
--- a/meta/recipes-devtools/gcc/gcc-common.inc
+++ b/meta/recipes-devtools/gcc/gcc-common.inc
@@ -116,3 +116,29 @@ target_prefix ?= "${prefix}"
116# The real WORKDIR location isn't a dependency for the shared workdir. 116# The real WORKDIR location isn't a dependency for the shared workdir.
117src_patches[vardepsexclude] = "WORKDIR" 117src_patches[vardepsexclude] = "WORKDIR"
118should_apply[vardepsexclude] += "PN" 118should_apply[vardepsexclude] += "PN"
119
120remove_sysroot_paths_from_configargs () {
121 replacement=${1}
122 # Prevent sysroot path from being used in configargs.h header, as it will
123 # be rewritten when used by other sysroots preventing support for gcc
124 # plugins. Additionally the path is embeddeded into the output binary, this
125 # prevents building a reproducible binary.
126 oe_runmake configure-gcc
127 sed -i "s@${STAGING_DIR_TARGET}@$replacement@g" ${B}/gcc/configargs.h
128 sed -i "s@${STAGING_DIR_HOST}@/$replacement@g" ${B}/gcc/configargs.h
129}
130
131remove_sysroot_paths_from_checksum_options () {
132 stagingdir=${1}
133 replacement=${2}
134 # Prevent sysroot/workdir paths from being used in checksum-options.
135 # checksum-options is used to generate a checksum which is embedded into
136 # the output binary.
137 oe_runmake TARGET-gcc=checksum-options all-gcc
138 sed -i "s@${DEBUG_PREFIX_MAP}@@g" ${B}/gcc/checksum-options
139 sed -i "s@$stagingdir@$replacement@g" ${B}/gcc/checksum-options
140}
141
142cleanup_installed_include_fixed () {
143 find ${D}${libdir}/gcc/${TARGET_SYS}/${BINV}/include-fixed -type f -not -name "README" -not -name limits.h -not -name syslimits.h | xargs rm -f
144}
diff --git a/meta/recipes-devtools/gcc/gcc-configure-common.inc b/meta/recipes-devtools/gcc/gcc-configure-common.inc
index dba25eb754..bc17f10468 100644
--- a/meta/recipes-devtools/gcc/gcc-configure-common.inc
+++ b/meta/recipes-devtools/gcc/gcc-configure-common.inc
@@ -119,4 +119,3 @@ do_configure () {
119 119
120 oe_runconf 120 oe_runconf
121} 121}
122
diff --git a/meta/recipes-devtools/gcc/gcc-cross-canadian.inc b/meta/recipes-devtools/gcc/gcc-cross-canadian.inc
index ec87b46219..69ca18bf6e 100644
--- a/meta/recipes-devtools/gcc/gcc-cross-canadian.inc
+++ b/meta/recipes-devtools/gcc/gcc-cross-canadian.inc
@@ -63,6 +63,9 @@ do_configure () {
63} 63}
64 64
65do_compile () { 65do_compile () {
66 remove_sysroot_paths_from_configargs '/host'
67 remove_sysroot_paths_from_checksum_options '${STAGING_DIR_HOST}' '/host'
68
66 oe_runmake all-host configure-target-libgcc 69 oe_runmake all-host configure-target-libgcc
67 (cd ${B}/${TARGET_SYS}/libgcc; oe_runmake enable-execute-stack.c unwind.h md-unwind-support.h sfp-machine.h gthr-default.h) 70 (cd ${B}/${TARGET_SYS}/libgcc; oe_runmake enable-execute-stack.c unwind.h md-unwind-support.h sfp-machine.h gthr-default.h)
68} 71}
@@ -171,6 +174,8 @@ do_install () {
171 done 174 done
172 done 175 done
173 done 176 done
177
178 cleanup_installed_include_fixed
174} 179}
175 180
176ELFUTILS = "nativesdk-elfutils" 181ELFUTILS = "nativesdk-elfutils"
diff --git a/meta/recipes-devtools/gcc/gcc-cross-canadian_13.3.bb b/meta/recipes-devtools/gcc/gcc-cross-canadian_13.4.bb
index bf53c5cd78..bf53c5cd78 100644
--- a/meta/recipes-devtools/gcc/gcc-cross-canadian_13.3.bb
+++ b/meta/recipes-devtools/gcc/gcc-cross-canadian_13.4.bb
diff --git a/meta/recipes-devtools/gcc/gcc-cross.inc b/meta/recipes-devtools/gcc/gcc-cross.inc
index a540fb2434..9c8cc94c3a 100644
--- a/meta/recipes-devtools/gcc/gcc-cross.inc
+++ b/meta/recipes-devtools/gcc/gcc-cross.inc
@@ -61,19 +61,8 @@ do_compile () {
61 export CXXFLAGS_FOR_TARGET="${TARGET_CXXFLAGS}" 61 export CXXFLAGS_FOR_TARGET="${TARGET_CXXFLAGS}"
62 export LDFLAGS_FOR_TARGET="${TARGET_LDFLAGS}" 62 export LDFLAGS_FOR_TARGET="${TARGET_LDFLAGS}"
63 63
64 # Prevent native/host sysroot path from being used in configargs.h header, 64 remove_sysroot_paths_from_configargs '/host'
65 # as it will be rewritten when used by other sysroots preventing support 65 remove_sysroot_paths_from_checksum_options '${STAGING_DIR_HOST}' '/host'
66 # for gcc plugins
67 oe_runmake configure-gcc
68 sed -i 's@${STAGING_DIR_TARGET}@/host@g' ${B}/gcc/configargs.h
69 sed -i 's@${STAGING_DIR_HOST}@/host@g' ${B}/gcc/configargs.h
70
71 # Prevent sysroot/workdir paths from being used in checksum-options.
72 # checksum-options is used to generate a checksum which is embedded into
73 # the output binary.
74 oe_runmake TARGET-gcc=checksum-options all-gcc
75 sed -i 's@${DEBUG_PREFIX_MAP}@@g' ${B}/gcc/checksum-options
76 sed -i 's@${STAGING_DIR_HOST}@/host@g' ${B}/gcc/checksum-options
77 66
78 oe_runmake all-host configure-target-libgcc 67 oe_runmake all-host configure-target-libgcc
79 (cd ${B}/${TARGET_SYS}/libgcc; oe_runmake enable-execute-stack.c unwind.h md-unwind-support.h sfp-machine.h gthr-default.h) 68 (cd ${B}/${TARGET_SYS}/libgcc; oe_runmake enable-execute-stack.c unwind.h md-unwind-support.h sfp-machine.h gthr-default.h)
@@ -119,7 +108,7 @@ do_install () {
119 cp ${S}/libquadmath/quadmath.h ${D}${libdir}/gcc/${TARGET_SYS}/${BINV}/include/ 108 cp ${S}/libquadmath/quadmath.h ${D}${libdir}/gcc/${TARGET_SYS}/${BINV}/include/
120 cp ${S}/libquadmath/quadmath_weak.h ${D}${libdir}/gcc/${TARGET_SYS}/${BINV}/include/ 109 cp ${S}/libquadmath/quadmath_weak.h ${D}${libdir}/gcc/${TARGET_SYS}/${BINV}/include/
121 110
122 find ${D}${libdir}/gcc/${TARGET_SYS}/${BINV}/include-fixed -type f -not -name "README" -not -name limits.h -not -name syslimits.h | xargs rm -f 111 cleanup_installed_include_fixed
123 112
124 # install LTO linker plugins where binutils tools can find it 113 # install LTO linker plugins where binutils tools can find it
125 install -d ${D}${libdir}/bfd-plugins 114 install -d ${D}${libdir}/bfd-plugins
diff --git a/meta/recipes-devtools/gcc/gcc-cross_13.3.bb b/meta/recipes-devtools/gcc/gcc-cross_13.4.bb
index b43cca0c52..b43cca0c52 100644
--- a/meta/recipes-devtools/gcc/gcc-cross_13.3.bb
+++ b/meta/recipes-devtools/gcc/gcc-cross_13.4.bb
diff --git a/meta/recipes-devtools/gcc/gcc-crosssdk_13.3.bb b/meta/recipes-devtools/gcc/gcc-crosssdk_13.4.bb
index 40a6c4feff..40a6c4feff 100644
--- a/meta/recipes-devtools/gcc/gcc-crosssdk_13.3.bb
+++ b/meta/recipes-devtools/gcc/gcc-crosssdk_13.4.bb
diff --git a/meta/recipes-devtools/gcc/gcc-runtime_13.3.bb b/meta/recipes-devtools/gcc/gcc-runtime_13.4.bb
index dd430b57eb..dd430b57eb 100644
--- a/meta/recipes-devtools/gcc/gcc-runtime_13.3.bb
+++ b/meta/recipes-devtools/gcc/gcc-runtime_13.4.bb
diff --git a/meta/recipes-devtools/gcc/gcc-sanitizers_13.3.bb b/meta/recipes-devtools/gcc/gcc-sanitizers_13.4.bb
index 8bda2ccad6..8bda2ccad6 100644
--- a/meta/recipes-devtools/gcc/gcc-sanitizers_13.3.bb
+++ b/meta/recipes-devtools/gcc/gcc-sanitizers_13.4.bb
diff --git a/meta/recipes-devtools/gcc/gcc-source_13.3.bb b/meta/recipes-devtools/gcc/gcc-source_13.4.bb
index b890fa33ea..b890fa33ea 100644
--- a/meta/recipes-devtools/gcc/gcc-source_13.3.bb
+++ b/meta/recipes-devtools/gcc/gcc-source_13.4.bb
diff --git a/meta/recipes-devtools/gcc/gcc-target.inc b/meta/recipes-devtools/gcc/gcc-target.inc
index 7dac3ef422..08141f32e6 100644
--- a/meta/recipes-devtools/gcc/gcc-target.inc
+++ b/meta/recipes-devtools/gcc/gcc-target.inc
@@ -140,20 +140,8 @@ FILES:${PN}-doc = "\
140" 140"
141 141
142do_compile () { 142do_compile () {
143 # Prevent full target sysroot path from being used in configargs.h header, 143 remove_sysroot_paths_from_configargs '/'
144 # as it will be rewritten when used by other sysroots preventing support 144 remove_sysroot_paths_from_checksum_options '${STAGING_DIR_TARGET}' '/'
145 # for gcc plugins. Additionally the path is embeddeded into the output
146 # binary, this prevents building a reproducible binary.
147 oe_runmake configure-gcc
148 sed -i 's@${STAGING_DIR_TARGET}@/@g' ${B}/gcc/configargs.h
149 sed -i 's@${STAGING_DIR_HOST}@/@g' ${B}/gcc/configargs.h
150
151 # Prevent sysroot/workdir paths from being used in checksum-options.
152 # checksum-options is used to generate a checksum which is embedded into
153 # the output binary.
154 oe_runmake TARGET-gcc=checksum-options all-gcc
155 sed -i 's@${DEBUG_PREFIX_MAP}@@g' ${B}/gcc/checksum-options
156 sed -i 's@${STAGING_DIR_TARGET}@/@g' ${B}/gcc/checksum-options
157 145
158 oe_runmake all-host 146 oe_runmake all-host
159} 147}
@@ -218,37 +206,8 @@ do_install () {
218 install -d ${D}${libdir}/bfd-plugins 206 install -d ${D}${libdir}/bfd-plugins
219 ln -sf ${libexecdir}/gcc/${TARGET_SYS}/${BINV}/liblto_plugin.so ${D}${libdir}/bfd-plugins/liblto_plugin.so 207 ln -sf ${libexecdir}/gcc/${TARGET_SYS}/${BINV}/liblto_plugin.so ${D}${libdir}/bfd-plugins/liblto_plugin.so
220 chown -R root:root ${D} 208 chown -R root:root ${D}
221}
222 209
223do_install:append () { 210 cleanup_installed_include_fixed
224 #
225 # Thefixinc.sh script, run on the gcc's compile phase, looks into sysroot header
226 # files and places the modified files into
227 # {D}${libdir}/gcc/${TARGET_SYS}/${BINV}/include-fixed folder. This makes the
228 # build not deterministic. The following code prunes all those headers
229 # except those under include-fixed/linux, *limits.h and README, yielding
230 # the same include-fixed folders no matter what sysroot
231
232 include_fixed="${D}${libdir}/gcc/${TARGET_SYS}/${BINV}/include-fixed"
233 for f in $(find ${include_fixed} -type f); do
234 case $f in
235 */include-fixed/linux/*)
236 continue
237 ;;
238 */include-fixed/*limits.h)
239 continue
240 ;;
241 */include-fixed/README)
242 continue
243 ;;
244 *)
245 # remove file and directory if empty
246 bbdebug 2 "Pruning $f"
247 rm $f
248 find $(dirname $f) -maxdepth 0 -empty -exec rmdir {} \;
249 ;;
250 esac
251 done
252} 211}
253 212
254# Installing /usr/lib/gcc/* means we'd have two copies, one from gcc-cross 213# Installing /usr/lib/gcc/* means we'd have two copies, one from gcc-cross
diff --git a/meta/recipes-devtools/gcc/gcc-testsuite.inc b/meta/recipes-devtools/gcc/gcc-testsuite.inc
index f16d471478..eb9ddead08 100644
--- a/meta/recipes-devtools/gcc/gcc-testsuite.inc
+++ b/meta/recipes-devtools/gcc/gcc-testsuite.inc
@@ -53,8 +53,8 @@ python check_prepare() {
53 # - valid for x86*, powerpc, arm, arm64 53 # - valid for x86*, powerpc, arm, arm64
54 if qemu_binary.endswith(("x86_64", "i386", "arm", "aarch64")): 54 if qemu_binary.endswith(("x86_64", "i386", "arm", "aarch64")):
55 args += ["-cpu", "max"] 55 args += ["-cpu", "max"]
56 elif qemu_binary.endswith(("ppc", "mips", "mips64")): 56 else:
57 extra = d.getVar("QEMU_EXTRAOPTIONS_%s" % d.getVar('PACKAGE_ARCH')) 57 extra = d.getVar("QEMU_EXTRAOPTIONS_%s" % d.getVar('TUNE_PKGARCH'))
58 if extra: 58 if extra:
59 args += extra.split() 59 args += extra.split()
60 # For mips64 we could set a maximal CPU (e.g. Loongson-3A4000) however they either have MSA 60 # For mips64 we could set a maximal CPU (e.g. Loongson-3A4000) however they either have MSA
diff --git a/meta/recipes-devtools/gcc/gcc_13.3.bb b/meta/recipes-devtools/gcc/gcc_13.4.bb
index 255fe552bd..255fe552bd 100644
--- a/meta/recipes-devtools/gcc/gcc_13.3.bb
+++ b/meta/recipes-devtools/gcc/gcc_13.4.bb
diff --git a/meta/recipes-devtools/gcc/libgcc-initial_13.3.bb b/meta/recipes-devtools/gcc/libgcc-initial_13.4.bb
index a259082b47..a259082b47 100644
--- a/meta/recipes-devtools/gcc/libgcc-initial_13.3.bb
+++ b/meta/recipes-devtools/gcc/libgcc-initial_13.4.bb
diff --git a/meta/recipes-devtools/gcc/libgcc_13.3.bb b/meta/recipes-devtools/gcc/libgcc_13.4.bb
index fdcd6cc0da..fdcd6cc0da 100644
--- a/meta/recipes-devtools/gcc/libgcc_13.3.bb
+++ b/meta/recipes-devtools/gcc/libgcc_13.4.bb
diff --git a/meta/recipes-devtools/gcc/libgfortran.inc b/meta/recipes-devtools/gcc/libgfortran.inc
index c68645e392..2a08872c25 100644
--- a/meta/recipes-devtools/gcc/libgfortran.inc
+++ b/meta/recipes-devtools/gcc/libgfortran.inc
@@ -8,7 +8,7 @@ EXTRA_OECONF_PATHS = "\
8# An arm hard float target like raspberrypi4 won't build 8# An arm hard float target like raspberrypi4 won't build
9# as CFLAGS don't make it to the fortran compiler otherwise 9# as CFLAGS don't make it to the fortran compiler otherwise
10# (the configure script sets FC to $GFORTRAN unconditionally) 10# (the configure script sets FC to $GFORTRAN unconditionally)
11export GFORTRAN = "${FC}" 11export GFORTRAN = "${FC} -fcanon-prefix-map -fdebug-prefix-map=${S}=${TARGET_DBGSRC_DIR} -fdebug-prefix-map=${B}=${TARGET_DBGSRC_DIR} -gno-record-gcc-switches"
12 12
13do_configure () { 13do_configure () {
14 for target in libbacktrace libgfortran 14 for target in libbacktrace libgfortran
diff --git a/meta/recipes-devtools/gcc/libgfortran_13.3.bb b/meta/recipes-devtools/gcc/libgfortran_13.4.bb
index 71dd8b4bdc..71dd8b4bdc 100644
--- a/meta/recipes-devtools/gcc/libgfortran_13.3.bb
+++ b/meta/recipes-devtools/gcc/libgfortran_13.4.bb