diff options
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.inc | 26 | ||||
-rw-r--r-- | meta/recipes-devtools/gcc/gcc-configure-common.inc | 1 | ||||
-rw-r--r-- | meta/recipes-devtools/gcc/gcc-cross-canadian.inc | 5 | ||||
-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.inc | 17 | ||||
-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.inc | 47 | ||||
-rw-r--r-- | meta/recipes-devtools/gcc/gcc-testsuite.inc | 4 | ||||
-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.inc | 2 | ||||
-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 | ||
5 | PV = "13.3.0" | 5 | PV = "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 | ||
9 | BINV = "13.3.0" | 9 | BINV = "13.4.0" |
10 | 10 | ||
11 | FILESEXTRAPATHS =. "${FILE_DIRNAME}/gcc:${FILE_DIRNAME}/gcc/backport:" | 11 | FILESEXTRAPATHS =. "${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 | " |
70 | SRC_URI[sha256sum] = "0845e9621c9543a13f484e94584a49ffc0129970e9914624235fc1d061a0c083" | 70 | SRC_URI[sha256sum] = "9c4ce6dbb040568fdc545588ac03c5cbc95a8dbf0c7aa490170843afb59ca8f5" |
71 | 71 | ||
72 | S = "${TMPDIR}/work-shared/gcc-${PV}-${PR}/${SOURCEDIR}" | 72 | S = "${TMPDIR}/work-shared/gcc-${PV}-${PR}/${SOURCEDIR}" |
73 | B = "${WORKDIR}/gcc-${PV}/build.${HOST_SYS}.${TARGET_SYS}" | 73 | B = "${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. |
117 | src_patches[vardepsexclude] = "WORKDIR" | 117 | src_patches[vardepsexclude] = "WORKDIR" |
118 | should_apply[vardepsexclude] += "PN" | 118 | should_apply[vardepsexclude] += "PN" |
119 | |||
120 | remove_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 | |||
131 | remove_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 | |||
142 | cleanup_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 | ||
65 | do_compile () { | 65 | do_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 | ||
176 | ELFUTILS = "nativesdk-elfutils" | 181 | ELFUTILS = "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 | ||
142 | do_compile () { | 142 | do_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 | ||
223 | do_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) |
11 | export GFORTRAN = "${FC}" | 11 | export 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 | ||
13 | do_configure () { | 13 | do_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 | |||