* [OE-core][walnascar 00/12] Patch review
@ 2025-05-14 15:57 Steve Sakoman
0 siblings, 0 replies; 16+ messages in thread
From: Steve Sakoman @ 2025-05-14 15:57 UTC (permalink / raw)
To: openembedded-core
Please review this set of changes for walnascar and have comments back by
end of day Friday, May 16
Passed a-full on autobuilder:
https://autobuilder.yoctoproject.org/valkyrie/#/builders/29/builds/1584
The following changes since commit 5e594b3d074900580fa83ca50f7d837937c17856:
gobject-introspection: Fix wrong PN used in MULTILIB_SCRIPTS (2025-05-08 13:19:12 -0700)
are available in the Git repository at:
https://git.openembedded.org/openembedded-core-contrib stable/walnascar-nut
https://git.openembedded.org/openembedded-core-contrib/log/?h=stable/walnascar-nut
Aleksandar Nikolic (1):
scripts/install-buildtools: Update to 5.2
Alon Bar-Lev (1):
module.bbclass: add KBUILD_EXTRA_SYMBOLS to install
Archana Polampalli (4):
ffmpeg: fix CVE-2025-22921
perlcross: 1.6 -> 1.6.2
perl: upgrade 5.40.0 -> 5.40.2
go: upgrade 1.24.1 -> 1.24.2
Changqing Li (2):
libsoup-2.4: fix CVE-2024-52532
icu: set ac_cv_path_install to ensure install tool reproducibility
Deepesh Varatharajan (1):
binutils: stable 2.44 branch updates
Peter Marko (1):
go: upgrade 1.24.2 -> 1.24.3
Yogita Urade (1):
webkitgtk: upgrade 2.48.0 -> 2.48.1
rajmohan r (1):
glibc-y2038-tests: remove glibc-y2038-tests_2.41.bb recipe
meta/classes-recipe/module.bbclass | 1 +
meta/conf/distro/include/maintainers.inc | 1 -
.../distro/include/ptest-packagelists.inc | 2 -
meta/conf/distro/include/time64.inc | 2 -
.../glibc/glibc-y2038-tests_2.41.bb | 107 -
meta/recipes-core/glibc/glibc/run-ptest | 37 -
.../binutils/binutils-2.44.inc | 3 +-
.../binutils/0015-CVE-2025-1153.patch | 3355 -----------------
.../go/{go-1.24.1.inc => go-1.24.3.inc} | 2 +-
...e_1.24.1.bb => go-binary-native_1.24.3.bb} | 6 +-
..._1.24.1.bb => go-cross-canadian_1.24.3.bb} | 0
...{go-cross_1.24.1.bb => go-cross_1.24.3.bb} | 0
...osssdk_1.24.1.bb => go-crosssdk_1.24.3.bb} | 0
...runtime_1.24.1.bb => go-runtime_1.24.3.bb} | 0
.../go/{go_1.24.1.bb => go_1.24.3.bb} | 0
.../{perlcross_1.6.bb => perlcross_1.6.2.bb} | 2 +-
.../perl/{perl_5.40.0.bb => perl_5.40.2.bb} | 2 +-
.../ffmpeg/ffmpeg/CVE-2025-22921.patch | 34 +
.../recipes-multimedia/ffmpeg/ffmpeg_7.1.1.bb | 4 +-
...04-main-7ffc29624258-.-https-bugs.we.patch | 75 -
...or-no-matching-function-for-call-to-.patch | 77 -
...ebkitgtk_2.48.0.bb => webkitgtk_2.48.1.bb} | 4 +-
meta/recipes-support/icu/icu_76-1.bb | 6 +-
.../libsoup-2.4/CVE-2024-52532-1.patch | 37 +
.../libsoup-2.4/CVE-2024-52532-2.patch | 43 +
.../libsoup-2.4/CVE-2024-52532-3.patch | 48 +
.../libsoup/libsoup-2.4_2.74.3.bb | 5 +-
scripts/install-buildtools | 4 +-
28 files changed, 183 insertions(+), 3674 deletions(-)
delete mode 100644 meta/recipes-core/glibc/glibc-y2038-tests_2.41.bb
delete mode 100755 meta/recipes-core/glibc/glibc/run-ptest
delete mode 100644 meta/recipes-devtools/binutils/binutils/0015-CVE-2025-1153.patch
rename meta/recipes-devtools/go/{go-1.24.1.inc => go-1.24.3.inc} (91%)
rename meta/recipes-devtools/go/{go-binary-native_1.24.1.bb => go-binary-native_1.24.3.bb} (78%)
rename meta/recipes-devtools/go/{go-cross-canadian_1.24.1.bb => go-cross-canadian_1.24.3.bb} (100%)
rename meta/recipes-devtools/go/{go-cross_1.24.1.bb => go-cross_1.24.3.bb} (100%)
rename meta/recipes-devtools/go/{go-crosssdk_1.24.1.bb => go-crosssdk_1.24.3.bb} (100%)
rename meta/recipes-devtools/go/{go-runtime_1.24.1.bb => go-runtime_1.24.3.bb} (100%)
rename meta/recipes-devtools/go/{go_1.24.1.bb => go_1.24.3.bb} (100%)
rename meta/recipes-devtools/perl-cross/{perlcross_1.6.bb => perlcross_1.6.2.bb} (92%)
rename meta/recipes-devtools/perl/{perl_5.40.0.bb => perl_5.40.2.bb} (99%)
create mode 100644 meta/recipes-multimedia/ffmpeg/ffmpeg/CVE-2025-22921.patch
delete mode 100644 meta/recipes-sato/webkit/webkitgtk/0001-Cherry-pick-292304-main-7ffc29624258-.-https-bugs.we.patch
delete mode 100644 meta/recipes-sato/webkit/webkitgtk/0001-EnumTraits.h-error-no-matching-function-for-call-to-.patch
rename meta/recipes-sato/webkit/{webkitgtk_2.48.0.bb => webkitgtk_2.48.1.bb} (96%)
create mode 100644 meta/recipes-support/libsoup/libsoup-2.4/CVE-2024-52532-1.patch
create mode 100644 meta/recipes-support/libsoup/libsoup-2.4/CVE-2024-52532-2.patch
create mode 100644 meta/recipes-support/libsoup/libsoup-2.4/CVE-2024-52532-3.patch
--
2.43.0
^ permalink raw reply [flat|nested] 16+ messages in thread
* [OE-core][walnascar 00/12] Patch review
@ 2025-05-30 17:38 Steve Sakoman
0 siblings, 0 replies; 16+ messages in thread
From: Steve Sakoman @ 2025-05-30 17:38 UTC (permalink / raw)
To: openembedded-core
Please review this set of changes for walnascar and have comments back by
end of day Tuesday, June 3
Passed a-full on autobuilder:
https://autobuilder.yoctoproject.org/valkyrie/#/builders/29/builds/1692
The following changes since commit e3fa9ef3239e8bc113e211f5258f84d08284872a:
python3-pygobject: RDEPENDS on gobject-introspection (2025-05-27 09:58:23 -0700)
are available in the Git repository at:
https://git.openembedded.org/openembedded-core-contrib stable/walnascar-nut
https://git.openembedded.org/openembedded-core-contrib/log/?h=stable/walnascar-nut
Bruce Ashfield (9):
linux-yocto/6.12: update to v6.12.24
linux-yocto/6.12: update to v6.12.25
linux-yocto/6.12: bsp/genericarm64: modular configuration updates
linux-yocto/6.12: update to v6.12.27
linux-yoto/6.12: bsp/arm: fix CONFIG_CRYPTO_LIB_CHACHA
linux-yocto/6.12: update to v6.12.28
linux-yocto/6.12: update to v6.12.29
linux-yocto/6.12: riscv config sync
linux-yocto/6.12: update to v6.12.30
Harish Sadineni (1):
binutils: Fix CVE-2025-1182
NeilBrown (1):
nfs-utils: don't use signals to shut down nfs server.
Richard Purdie (1):
sstatetests: Switch to new CDN
meta/lib/oeqa/selftest/cases/sstatetests.py | 2 +-
.../nfs-utils/nfs-utils/nfsserver | 28 +++------------
.../binutils/binutils-2.44.inc | 1 +
.../binutils/binutils/CVE-2025-1182.patch | 36 +++++++++++++++++++
.../linux/linux-yocto-rt_6.12.bb | 6 ++--
.../linux/linux-yocto-tiny_6.12.bb | 6 ++--
meta/recipes-kernel/linux/linux-yocto_6.12.bb | 28 +++++++--------
7 files changed, 62 insertions(+), 45 deletions(-)
create mode 100644 meta/recipes-devtools/binutils/binutils/CVE-2025-1182.patch
--
2.43.0
^ permalink raw reply [flat|nested] 16+ messages in thread
* [OE-core][walnascar 00/12] Patch review
@ 2025-06-17 15:59 Steve Sakoman
2025-06-17 15:59 ` [OE-core][walnascar 01/12] binutils: Fix for CVE-2025-3198 Steve Sakoman
` (11 more replies)
0 siblings, 12 replies; 16+ messages in thread
From: Steve Sakoman @ 2025-06-17 15:59 UTC (permalink / raw)
To: openembedded-core
Please review this set of changes for walnascar and have comments back by
end of day Thursday, June 19.
Passed a-full on autobuilder:
https://autobuilder.yoctoproject.org/valkyrie/#/builders/29/builds/1821
The following changes since commit 55a9cd748531c75d46f5d6d53af692a38c6b6716:
python3: upgrade 3.13.3 -> 3.13.4 (2025-06-09 07:55:16 -0700)
are available in the Git repository at:
https://git.openembedded.org/openembedded-core-contrib stable/walnascar-nut
https://git.openembedded.org/openembedded-core-contrib/log/?h=stable/walnascar-nut
Aleksandar Nikolic (1):
scripts/install-buildtools: Update to 5.2.1
Deepesh Varatharajan (1):
gcc: Upgrade to GCC 14.3
Harish Sadineni (1):
binutils: Fix for CVE-2025-3198
Jiaying Song (1):
python3-requests: upgrade 2.32.3 -> 2.32.4
Peter Marko (4):
net-tools: patch CVE-2025-46836
go: upgrade 1.24.3 -> 1.24.4
systemd: upgrade 257.5 -> 257.6
testimage: get real os-release file
Sandeep Gundlupet Raju (1):
tune-cortexr52: Remove aarch64 for ARM Cortex-R52
Wang Mingyu (1):
systemd: upgrade 257.4 -> 257.5
Yi Zhao (1):
kea: upgrade 2.6.1 -> 2.6.3
Yongxin Liu (1):
util-linux: fix agetty segfault issue
meta/classes-recipe/testimage.bbclass | 4 +-
meta/conf/distro/include/maintainers.inc | 2 +-
.../include/arm/armv8r/tune-cortexr52.inc | 5 +-
.../0001-Avoid-assert-on-empty-packet.patch | 148 -----
...me-NameString-with-vector-of-uint8_t.patch | 90 ---
.../0001-Update-asiolink-for-boost-1.87.patch | 190 ------
...po-in-Name-Name-append-to-ndata_-not.patch | 36 --
.../kea/{kea_2.6.1.bb => kea_2.6.3.bb} | 8 +-
..._257.4.bb => systemd-boot-native_257.6.bb} | 0
...md-boot_257.4.bb => systemd-boot_257.6.bb} | 0
...4.bb => systemd-systemctl-native_257.6.bb} | 0
meta/recipes-core/systemd/systemd.inc | 4 +-
...k-parse_printf_format-implementation.patch | 2 +-
...-not-disable-buffer-in-writing-files.patch | 14 +-
.../systemd/0014-Handle-missing-gshadow.patch | 4 +-
...util-Make-STRERROR-portable-for-musl.patch | 7 +-
.../{systemd_257.4.bb => systemd_257.6.bb} | 0
meta/recipes-core/util-linux/util-linux.inc | 1 +
...tty-fix-stdin-conversion-to-tty-name.patch | 40 ++
.../binutils/binutils-2.44.inc | 1 +
.../binutils/0016-CVE-2025-3198.patch | 28 +
.../gcc/{gcc-14.2.inc => gcc-14.3.inc} | 11 +-
...ian_14.2.bb => gcc-cross-canadian_14.3.bb} | 0
.../{gcc-cross_14.2.bb => gcc-cross_14.3.bb} | 0
...-crosssdk_14.2.bb => gcc-crosssdk_14.3.bb} | 0
...cc-runtime_14.2.bb => gcc-runtime_14.3.bb} | 0
...itizers_14.2.bb => gcc-sanitizers_14.3.bb} | 0
...{gcc-source_14.2.bb => gcc-source_14.3.bb} | 0
...m-Fix-LDRD-register-overlap-PR117675.patch | 148 -----
...ix-c-tweak-for-Wrange-loop-construct.patch | 114 ----
...ch-to-fix-data-relocation-to-ENDBR-s.patch | 447 --------------
...-incorrect-preprocessor-line-numbers.patch | 475 ---------------
...4fffe3fc82a710bea66ad651720d71c938b8.patch | 549 ------------------
.../gcc/{gcc_14.2.bb => gcc_14.3.bb} | 0
...initial_14.2.bb => libgcc-initial_14.3.bb} | 0
.../gcc/{libgcc_14.2.bb => libgcc_14.3.bb} | 0
...ibgfortran_14.2.bb => libgfortran_14.3.bb} | 0
.../go/{go-1.24.3.inc => go-1.24.4.inc} | 2 +-
...e_1.24.3.bb => go-binary-native_1.24.4.bb} | 6 +-
..._1.24.3.bb => go-cross-canadian_1.24.4.bb} | 0
...{go-cross_1.24.3.bb => go-cross_1.24.4.bb} | 0
...osssdk_1.24.3.bb => go-crosssdk_1.24.4.bb} | 0
...runtime_1.24.3.bb => go-runtime_1.24.4.bb} | 0
.../go/{go_1.24.3.bb => go_1.24.4.bb} | 0
...s_2.32.3.bb => python3-requests_2.32.4.bb} | 2 +-
.../net-tools/CVE-2025-46836-01.patch | 91 +++
.../net-tools/CVE-2025-46836-02.patch | 31 +
.../net-tools/net-tools_2.10.bb | 2 +
scripts/install-buildtools | 4 +-
49 files changed, 227 insertions(+), 2239 deletions(-)
delete mode 100644 meta/recipes-connectivity/kea/files/0001-Avoid-assert-on-empty-packet.patch
delete mode 100644 meta/recipes-connectivity/kea/files/0001-Replace-Name-NameString-with-vector-of-uint8_t.patch
delete mode 100644 meta/recipes-connectivity/kea/files/0001-Update-asiolink-for-boost-1.87.patch
delete mode 100644 meta/recipes-connectivity/kea/files/0002-Fix-unittests-Typo-in-Name-Name-append-to-ndata_-not.patch
rename meta/recipes-connectivity/kea/{kea_2.6.1.bb => kea_2.6.3.bb} (87%)
rename meta/recipes-core/systemd/{systemd-boot-native_257.4.bb => systemd-boot-native_257.6.bb} (100%)
rename meta/recipes-core/systemd/{systemd-boot_257.4.bb => systemd-boot_257.6.bb} (100%)
rename meta/recipes-core/systemd/{systemd-systemctl-native_257.4.bb => systemd-systemctl-native_257.6.bb} (100%)
rename meta/recipes-core/systemd/{systemd_257.4.bb => systemd_257.6.bb} (100%)
create mode 100644 meta/recipes-core/util-linux/util-linux/0003-agetty-fix-stdin-conversion-to-tty-name.patch
create mode 100644 meta/recipes-devtools/binutils/binutils/0016-CVE-2025-3198.patch
rename meta/recipes-devtools/gcc/{gcc-14.2.inc => gcc-14.3.inc} (90%)
rename meta/recipes-devtools/gcc/{gcc-cross-canadian_14.2.bb => gcc-cross-canadian_14.3.bb} (100%)
rename meta/recipes-devtools/gcc/{gcc-cross_14.2.bb => gcc-cross_14.3.bb} (100%)
rename meta/recipes-devtools/gcc/{gcc-crosssdk_14.2.bb => gcc-crosssdk_14.3.bb} (100%)
rename meta/recipes-devtools/gcc/{gcc-runtime_14.2.bb => gcc-runtime_14.3.bb} (100%)
rename meta/recipes-devtools/gcc/{gcc-sanitizers_14.2.bb => gcc-sanitizers_14.3.bb} (100%)
rename meta/recipes-devtools/gcc/{gcc-source_14.2.bb => gcc-source_14.3.bb} (100%)
delete mode 100644 meta/recipes-devtools/gcc/gcc/0001-arm-Fix-LDRD-register-overlap-PR117675.patch
delete mode 100644 meta/recipes-devtools/gcc/gcc/0026-gcc-Fix-c-tweak-for-Wrange-loop-construct.patch
delete mode 100644 meta/recipes-devtools/gcc/gcc/0027-gcc-backport-patch-to-fix-data-relocation-to-ENDBR-s.patch
delete mode 100644 meta/recipes-devtools/gcc/gcc/0028-fix-incorrect-preprocessor-line-numbers.patch
delete mode 100644 meta/recipes-devtools/gcc/gcc/gcc.git-ab884fffe3fc82a710bea66ad651720d71c938b8.patch
rename meta/recipes-devtools/gcc/{gcc_14.2.bb => gcc_14.3.bb} (100%)
rename meta/recipes-devtools/gcc/{libgcc-initial_14.2.bb => libgcc-initial_14.3.bb} (100%)
rename meta/recipes-devtools/gcc/{libgcc_14.2.bb => libgcc_14.3.bb} (100%)
rename meta/recipes-devtools/gcc/{libgfortran_14.2.bb => libgfortran_14.3.bb} (100%)
rename meta/recipes-devtools/go/{go-1.24.3.inc => go-1.24.4.inc} (91%)
rename meta/recipes-devtools/go/{go-binary-native_1.24.3.bb => go-binary-native_1.24.4.bb} (78%)
rename meta/recipes-devtools/go/{go-cross-canadian_1.24.3.bb => go-cross-canadian_1.24.4.bb} (100%)
rename meta/recipes-devtools/go/{go-cross_1.24.3.bb => go-cross_1.24.4.bb} (100%)
rename meta/recipes-devtools/go/{go-crosssdk_1.24.3.bb => go-crosssdk_1.24.4.bb} (100%)
rename meta/recipes-devtools/go/{go-runtime_1.24.3.bb => go-runtime_1.24.4.bb} (100%)
rename meta/recipes-devtools/go/{go_1.24.3.bb => go_1.24.4.bb} (100%)
rename meta/recipes-devtools/python/{python3-requests_2.32.3.bb => python3-requests_2.32.4.bb} (91%)
create mode 100644 meta/recipes-extended/net-tools/net-tools/CVE-2025-46836-01.patch
create mode 100644 meta/recipes-extended/net-tools/net-tools/CVE-2025-46836-02.patch
--
2.43.0
^ permalink raw reply [flat|nested] 16+ messages in thread
* [OE-core][walnascar 01/12] binutils: Fix for CVE-2025-3198
2025-06-17 15:59 [OE-core][walnascar 00/12] Patch review Steve Sakoman
@ 2025-06-17 15:59 ` Steve Sakoman
2025-06-17 15:59 ` [OE-core][walnascar 02/12] net-tools: patch CVE-2025-46836 Steve Sakoman
` (10 subsequent siblings)
11 siblings, 0 replies; 16+ messages in thread
From: Steve Sakoman @ 2025-06-17 15:59 UTC (permalink / raw)
To: openembedded-core
From: Harish Sadineni <Harish.Sadineni@windriver.com>
Upstream-Status: Backport [https://sourceware.org/git/?p=binutils-gdb.git;a=patch;h=ba6ad3a18cb26b79e0e3b84c39f707535bbc344d]
CVE: CVE-2025-3198
Signed-off-by: Harish Sadineni <Harish.Sadineni@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
---
.../binutils/binutils-2.44.inc | 1 +
.../binutils/0016-CVE-2025-3198.patch | 28 +++++++++++++++++++
2 files changed, 29 insertions(+)
create mode 100644 meta/recipes-devtools/binutils/binutils/0016-CVE-2025-3198.patch
diff --git a/meta/recipes-devtools/binutils/binutils-2.44.inc b/meta/recipes-devtools/binutils/binutils-2.44.inc
index 0b8a298be0..e5df62b14e 100644
--- a/meta/recipes-devtools/binutils/binutils-2.44.inc
+++ b/meta/recipes-devtools/binutils/binutils-2.44.inc
@@ -41,5 +41,6 @@ SRC_URI = "\
file://0016-CVE-2025-1181-1.patch \
file://0017-CVE-2025-1181-2.patch \
file://0016-CVE-2025-5244.patch \
+ file://0016-CVE-2025-3198.patch \
"
S = "${WORKDIR}/git"
diff --git a/meta/recipes-devtools/binutils/binutils/0016-CVE-2025-3198.patch b/meta/recipes-devtools/binutils/binutils/0016-CVE-2025-3198.patch
new file mode 100644
index 0000000000..49d7c94b9f
--- /dev/null
+++ b/meta/recipes-devtools/binutils/binutils/0016-CVE-2025-3198.patch
@@ -0,0 +1,28 @@
+From ba6ad3a18cb26b79e0e3b84c39f707535bbc344d Mon Sep 17 00:00:00 2001
+From: Alan Modra <amodra@gmail.com>
+Date: Wed, 19 Feb 2025 07:58:54 +1030
+Subject: [PATCH] PR32716, objdump -i memory leak
+
+ PR binutils/32716
+ * bucomm.c (display_info): Free arg.info.
+
+Upstream-Status: Backport [https://sourceware.org/git/?p=binutils-gdb.git;a=patch;h=ba6ad3a18cb26b79e0e3b84c39f707535bbc344d]
+CVE: CVE-2025-3198
+
+Signed-off-by: Harish Sadineni <Harish.Sadineni@windriver.com>
+---
+ binutils/bucomm.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/binutils/bucomm.c b/binutils/bucomm.c
+index ccf54099154..d4554737db1 100644
+--- a/binutils/bucomm.c
++++ b/binutils/bucomm.c
+@@ -435,6 +435,7 @@ display_info (void)
+ if (!arg.error)
+ display_target_tables (&arg);
+
++ free (arg.info);
+ return arg.error;
+ }
+ \f
--
2.43.0
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [OE-core][walnascar 02/12] net-tools: patch CVE-2025-46836
2025-06-17 15:59 [OE-core][walnascar 00/12] Patch review Steve Sakoman
2025-06-17 15:59 ` [OE-core][walnascar 01/12] binutils: Fix for CVE-2025-3198 Steve Sakoman
@ 2025-06-17 15:59 ` Steve Sakoman
2025-06-17 15:59 ` [OE-core][walnascar 03/12] go: upgrade 1.24.3 -> 1.24.4 Steve Sakoman
` (9 subsequent siblings)
11 siblings, 0 replies; 16+ messages in thread
From: Steve Sakoman @ 2025-06-17 15:59 UTC (permalink / raw)
To: openembedded-core
From: Peter Marko <peter.marko@siemens.com>
Backport patch for this CVE and also patch for its regression.
Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
---
.../net-tools/CVE-2025-46836-01.patch | 91 +++++++++++++++++++
.../net-tools/CVE-2025-46836-02.patch | 31 +++++++
.../net-tools/net-tools_2.10.bb | 2 +
3 files changed, 124 insertions(+)
create mode 100644 meta/recipes-extended/net-tools/net-tools/CVE-2025-46836-01.patch
create mode 100644 meta/recipes-extended/net-tools/net-tools/CVE-2025-46836-02.patch
diff --git a/meta/recipes-extended/net-tools/net-tools/CVE-2025-46836-01.patch b/meta/recipes-extended/net-tools/net-tools/CVE-2025-46836-01.patch
new file mode 100644
index 0000000000..0d55512497
--- /dev/null
+++ b/meta/recipes-extended/net-tools/net-tools/CVE-2025-46836-01.patch
@@ -0,0 +1,91 @@
+From 7a8f42fb20013a1493d8cae1c43436f85e656f2d Mon Sep 17 00:00:00 2001
+From: Zephkeks <zephyrofficialdiscord@gmail.com>
+Date: Tue, 13 May 2025 11:04:17 +0200
+Subject: [PATCH] CVE-2025-46836: interface.c: Stack-based Buffer Overflow in
+ get_name()
+
+Coordinated as GHSA-pfwf-h6m3-63wf
+
+CVE: CVE-2025-46836
+Upstream-Status: Backport [https://sourceforge.net/p/net-tools/code/ci/7a8f42fb20013a1493d8cae1c43436f85e656f2d/]
+Signed-off-by: Peter Marko <peter.marko@siemens.com>
+---
+ lib/interface.c | 63 ++++++++++++++++++++++++++++++-------------------
+ 1 file changed, 39 insertions(+), 24 deletions(-)
+
+diff --git a/lib/interface.c b/lib/interface.c
+index 71d4163..a054f12 100644
+--- a/lib/interface.c
++++ b/lib/interface.c
+@@ -211,32 +211,47 @@ out:
+ }
+
+ static const char *get_name(char *name, const char *p)
++/* Safe version — guarantees at most IFNAMSIZ‑1 bytes are copied
++ and the destination buffer is always NUL‑terminated. */
+ {
+- while (isspace(*p))
+- p++;
+- while (*p) {
+- if (isspace(*p))
+- break;
+- if (*p == ':') { /* could be an alias */
+- const char *dot = p++;
+- while (*p && isdigit(*p)) p++;
+- if (*p == ':') {
+- /* Yes it is, backup and copy it. */
+- p = dot;
+- *name++ = *p++;
+- while (*p && isdigit(*p)) {
+- *name++ = *p++;
+- }
+- } else {
+- /* No, it isn't */
+- p = dot;
+- }
+- p++;
+- break;
+- }
+- *name++ = *p++;
++ char *dst = name; /* current write ptr */
++ const char *end = name + IFNAMSIZ - 1; /* last byte we may write */
++
++ /* Skip leading white‑space. */
++ while (isspace((unsigned char)*p))
++ ++p;
++
++ /* Copy until white‑space, end of string, or buffer full. */
++ while (*p && !isspace((unsigned char)*p) && dst < end) {
++ if (*p == ':') { /* possible alias veth0:123: */
++ const char *dot = p; /* remember the colon */
++ ++p;
++ while (*p && isdigit((unsigned char)*p))
++ ++p;
++
++ if (*p == ':') { /* confirmed alias */
++ p = dot; /* rewind and copy it all */
++
++ /* copy the colon */
++ if (dst < end)
++ *dst++ = *p++;
++
++ /* copy the digits */
++ while (*p && isdigit((unsigned char)*p) && dst < end)
++ *dst++ = *p++;
++
++ if (*p == ':') /* consume trailing colon */
++ ++p;
++ } else { /* if so treat as normal */
++ p = dot;
++ }
++ break; /* interface name ends here */
++ }
++
++ *dst++ = *p++; /* ordinary character copy */
+ }
+- *name++ = '\0';
++
++ *dst = '\0'; /* always NUL‑terminate */
+ return p;
+ }
+
diff --git a/meta/recipes-extended/net-tools/net-tools/CVE-2025-46836-02.patch b/meta/recipes-extended/net-tools/net-tools/CVE-2025-46836-02.patch
new file mode 100644
index 0000000000..d2c3673a24
--- /dev/null
+++ b/meta/recipes-extended/net-tools/net-tools/CVE-2025-46836-02.patch
@@ -0,0 +1,31 @@
+From ddb0e375fb9ca95bb69335540b85bbdaa2714348 Mon Sep 17 00:00:00 2001
+From: Bernd Eckenfels <net-tools@lina.inka.de>
+Date: Sat, 17 May 2025 21:53:23 +0200
+Subject: [PATCH] Interface statistic regression after 7a8f42fb2
+
+CVE: CVE-2025-46836
+Upstream-Status: Backport [https://sourceforge.net/p/net-tools/code/ci/ddb0e375fb9ca95bb69335540b85bbdaa2714348/]
+Signed-off-by: Peter Marko <peter.marko@siemens.com>
+---
+ lib/interface.c | 5 ++---
+ 1 file changed, 2 insertions(+), 3 deletions(-)
+
+diff --git a/lib/interface.c b/lib/interface.c
+index a054f12..ca4adf1 100644
+--- a/lib/interface.c
++++ b/lib/interface.c
+@@ -239,12 +239,11 @@ static const char *get_name(char *name, const char *p)
+ /* copy the digits */
+ while (*p && isdigit((unsigned char)*p) && dst < end)
+ *dst++ = *p++;
+-
+- if (*p == ':') /* consume trailing colon */
+- ++p;
+ } else { /* if so treat as normal */
+ p = dot;
+ }
++ if (*p == ':') /* consume trailing colon */
++ ++p;
+ break; /* interface name ends here */
+ }
+
diff --git a/meta/recipes-extended/net-tools/net-tools_2.10.bb b/meta/recipes-extended/net-tools/net-tools_2.10.bb
index 7facc0cc8d..547079f4cf 100644
--- a/meta/recipes-extended/net-tools/net-tools_2.10.bb
+++ b/meta/recipes-extended/net-tools/net-tools_2.10.bb
@@ -11,6 +11,8 @@ SRC_URI = "git://git.code.sf.net/p/net-tools/code;protocol=https;branch=master \
file://net-tools-config.h \
file://net-tools-config.make \
file://Add_missing_headers.patch \
+ file://CVE-2025-46836-01.patch \
+ file://CVE-2025-46836-02.patch \
"
S = "${WORKDIR}/git"
--
2.43.0
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [OE-core][walnascar 03/12] go: upgrade 1.24.3 -> 1.24.4
2025-06-17 15:59 [OE-core][walnascar 00/12] Patch review Steve Sakoman
2025-06-17 15:59 ` [OE-core][walnascar 01/12] binutils: Fix for CVE-2025-3198 Steve Sakoman
2025-06-17 15:59 ` [OE-core][walnascar 02/12] net-tools: patch CVE-2025-46836 Steve Sakoman
@ 2025-06-17 15:59 ` Steve Sakoman
2025-06-17 15:59 ` [OE-core][walnascar 04/12] gcc: Upgrade to GCC 14.3 Steve Sakoman
` (8 subsequent siblings)
11 siblings, 0 replies; 16+ messages in thread
From: Steve Sakoman @ 2025-06-17 15:59 UTC (permalink / raw)
To: openembedded-core
From: Peter Marko <peter.marko@siemens.com>
Upgrade to latest 1.24.x release [1]:
$ git --no-pager log --oneline go1.24.3..go1.24.4
6796ebb2cb [release-branch.go1.24] go1.24.4
85897ca220 [release-branch.go1.24] net/http: strip sensitive proxy headers from redirect requests
9f9cf28f8f [release-branch.go1.24] os: don't follow symlinks on Windows when O_CREATE|O_EXCL
a31c931adf [release-branch.go1.24] cmd/link: allow linkname reference to a TEXT symbol regardless of size
03811ab1b3 [release-branch.go1.24] crypto/x509: decouple key usage and policy validation
04a9473847 [release-branch.go1.24] lib/fips140: set inprocess.txt to v1.0.0
db8f1dc948 [release-branch.go1.24] hash/maphash: hash channels in purego version of maphash.Comparable
664cf832ec [release-branch.go1.24] runtime/debug: document DefaultGODEBUG as a BuildSetting
431f75a0b9 [release-branch.go1.24] os: fix Root.Mkdir permission bits on OpenBSD
Fixes CVE-2025-4673, CVE-2025-0913 and CVE-2025-22874 [2].
[1] https://github.com/golang/go/compare/go1.24.3...go1.24.4
[2] https://groups.google.com/g/golang-announce/c/ufZ8WpEsA3A
Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
---
meta/recipes-devtools/go/{go-1.24.3.inc => go-1.24.4.inc} | 2 +-
...o-binary-native_1.24.3.bb => go-binary-native_1.24.4.bb} | 6 +++---
...cross-canadian_1.24.3.bb => go-cross-canadian_1.24.4.bb} | 0
.../go/{go-cross_1.24.3.bb => go-cross_1.24.4.bb} | 0
.../go/{go-crosssdk_1.24.3.bb => go-crosssdk_1.24.4.bb} | 0
.../go/{go-runtime_1.24.3.bb => go-runtime_1.24.4.bb} | 0
meta/recipes-devtools/go/{go_1.24.3.bb => go_1.24.4.bb} | 0
7 files changed, 4 insertions(+), 4 deletions(-)
rename meta/recipes-devtools/go/{go-1.24.3.inc => go-1.24.4.inc} (91%)
rename meta/recipes-devtools/go/{go-binary-native_1.24.3.bb => go-binary-native_1.24.4.bb} (78%)
rename meta/recipes-devtools/go/{go-cross-canadian_1.24.3.bb => go-cross-canadian_1.24.4.bb} (100%)
rename meta/recipes-devtools/go/{go-cross_1.24.3.bb => go-cross_1.24.4.bb} (100%)
rename meta/recipes-devtools/go/{go-crosssdk_1.24.3.bb => go-crosssdk_1.24.4.bb} (100%)
rename meta/recipes-devtools/go/{go-runtime_1.24.3.bb => go-runtime_1.24.4.bb} (100%)
rename meta/recipes-devtools/go/{go_1.24.3.bb => go_1.24.4.bb} (100%)
diff --git a/meta/recipes-devtools/go/go-1.24.3.inc b/meta/recipes-devtools/go/go-1.24.4.inc
similarity index 91%
rename from meta/recipes-devtools/go/go-1.24.3.inc
rename to meta/recipes-devtools/go/go-1.24.4.inc
index 78e26146b5..eff3f2f605 100644
--- a/meta/recipes-devtools/go/go-1.24.3.inc
+++ b/meta/recipes-devtools/go/go-1.24.4.inc
@@ -17,4 +17,4 @@ SRC_URI += "\
file://0010-cmd-go-clear-GOROOT-for-func-ldShared-when-trimpath-.patch \
file://6d265b008e3d106b2706645e5a88cd8e2fb98953.patch \
"
-SRC_URI[main.sha256sum] = "229c08b600b1446798109fae1f569228102c8473caba8104b6418cb5bc032878"
+SRC_URI[main.sha256sum] = "5a86a83a31f9fa81490b8c5420ac384fd3d95a3e71fba665c7b3f95d1dfef2b4"
diff --git a/meta/recipes-devtools/go/go-binary-native_1.24.3.bb b/meta/recipes-devtools/go/go-binary-native_1.24.4.bb
similarity index 78%
rename from meta/recipes-devtools/go/go-binary-native_1.24.3.bb
rename to meta/recipes-devtools/go/go-binary-native_1.24.4.bb
index af56dc9111..9f788536c4 100644
--- a/meta/recipes-devtools/go/go-binary-native_1.24.3.bb
+++ b/meta/recipes-devtools/go/go-binary-native_1.24.4.bb
@@ -9,9 +9,9 @@ PROVIDES = "go-native"
# Checksums available at https://go.dev/dl/
SRC_URI = "https://dl.google.com/go/go${PV}.${BUILD_GOOS}-${BUILD_GOARCH}.tar.gz;name=go_${BUILD_GOTUPLE}"
-SRC_URI[go_linux_amd64.sha256sum] = "3333f6ea53afa971e9078895eaa4ac7204a8c6b5c68c10e6bc9a33e8e391bdd8"
-SRC_URI[go_linux_arm64.sha256sum] = "a463cb59382bd7ae7d8f4c68846e73c4d589f223c589ac76871b66811ded7836"
-SRC_URI[go_linux_ppc64le.sha256sum] = "341a749d168f47b1d4dad25e32cae70849b7ceed7c290823b853c9e6b0df0856"
+SRC_URI[go_linux_amd64.sha256sum] = "77e5da33bb72aeaef1ba4418b6fe511bc4d041873cbf82e5aa6318740df98717"
+SRC_URI[go_linux_arm64.sha256sum] = "d5501ee5aca0f258d5fe9bfaed401958445014495dc115f202d43d5210b45241"
+SRC_URI[go_linux_ppc64le.sha256sum] = "9ca4afef813a2578c23843b640ae0290aa54b2e3c950a6cc4c99e16a57dec2ec"
UPSTREAM_CHECK_URI = "https://golang.org/dl/"
UPSTREAM_CHECK_REGEX = "go(?P<pver>\d+(\.\d+)+)\.linux"
diff --git a/meta/recipes-devtools/go/go-cross-canadian_1.24.3.bb b/meta/recipes-devtools/go/go-cross-canadian_1.24.4.bb
similarity index 100%
rename from meta/recipes-devtools/go/go-cross-canadian_1.24.3.bb
rename to meta/recipes-devtools/go/go-cross-canadian_1.24.4.bb
diff --git a/meta/recipes-devtools/go/go-cross_1.24.3.bb b/meta/recipes-devtools/go/go-cross_1.24.4.bb
similarity index 100%
rename from meta/recipes-devtools/go/go-cross_1.24.3.bb
rename to meta/recipes-devtools/go/go-cross_1.24.4.bb
diff --git a/meta/recipes-devtools/go/go-crosssdk_1.24.3.bb b/meta/recipes-devtools/go/go-crosssdk_1.24.4.bb
similarity index 100%
rename from meta/recipes-devtools/go/go-crosssdk_1.24.3.bb
rename to meta/recipes-devtools/go/go-crosssdk_1.24.4.bb
diff --git a/meta/recipes-devtools/go/go-runtime_1.24.3.bb b/meta/recipes-devtools/go/go-runtime_1.24.4.bb
similarity index 100%
rename from meta/recipes-devtools/go/go-runtime_1.24.3.bb
rename to meta/recipes-devtools/go/go-runtime_1.24.4.bb
diff --git a/meta/recipes-devtools/go/go_1.24.3.bb b/meta/recipes-devtools/go/go_1.24.4.bb
similarity index 100%
rename from meta/recipes-devtools/go/go_1.24.3.bb
rename to meta/recipes-devtools/go/go_1.24.4.bb
--
2.43.0
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [OE-core][walnascar 04/12] gcc: Upgrade to GCC 14.3
2025-06-17 15:59 [OE-core][walnascar 00/12] Patch review Steve Sakoman
` (2 preceding siblings ...)
2025-06-17 15:59 ` [OE-core][walnascar 03/12] go: upgrade 1.24.3 -> 1.24.4 Steve Sakoman
@ 2025-06-17 15:59 ` Steve Sakoman
2025-06-17 15:59 ` [OE-core][walnascar 05/12] kea: upgrade 2.6.1 -> 2.6.3 Steve Sakoman
` (7 subsequent siblings)
11 siblings, 0 replies; 16+ messages in thread
From: Steve Sakoman @ 2025-06-17 15:59 UTC (permalink / raw)
To: openembedded-core
From: Deepesh Varatharajan <Deepesh.Varatharajan@windriver.com>
GCC 14.3 is a bug-fix release from the GCC 14 branch
containing important fixes for regressions and serious bugs in
GCC 14.2 with more than 211 bugs fixed since the previous release.
https://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&resolution=FIXED&target_milestone=14.3
Dropped the below patches:
0026-gcc-Fix-c-tweak-for-Wrange-loop-construct.patch
https://github.com/gcc-mirror/gcc/commit/a9f88741a99ba09b29cc0021499c63ca445393f0
0027-gcc-backport-patch-to-fix-data-relocation-to-ENDBR-s.patch
https://github.com/gcc-mirror/gcc/commit/aa4cd614456de65ee3417acb83c6cff0640144e9
0028-fix-incorrect-preprocessor-line-numbers.patch
https://github.com/gcc-mirror/gcc/commit/8cbe033a8a88fe6437cc5d343ae0ddf8dd3455c8
0001-arm-Fix-LDRD-register-overlap-PR117675.patch
https://github.com/gcc-mirror/gcc/commit/9366c328518766d896155388726055624716c0af
gcc.git-ab884fffe3fc82a710bea66ad651720d71c938b8.patch
https://github.com/gcc-mirror/gcc/commit/ab884fffe3fc82a710bea66ad651720d71c938b8
Signed-off-by: Deepesh Varatharajan <Deepesh.Varatharajan@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
---
meta/conf/distro/include/maintainers.inc | 2 +-
.../gcc/{gcc-14.2.inc => gcc-14.3.inc} | 11 +-
...ian_14.2.bb => gcc-cross-canadian_14.3.bb} | 0
.../{gcc-cross_14.2.bb => gcc-cross_14.3.bb} | 0
...-crosssdk_14.2.bb => gcc-crosssdk_14.3.bb} | 0
...cc-runtime_14.2.bb => gcc-runtime_14.3.bb} | 0
...itizers_14.2.bb => gcc-sanitizers_14.3.bb} | 0
...{gcc-source_14.2.bb => gcc-source_14.3.bb} | 0
...m-Fix-LDRD-register-overlap-PR117675.patch | 148 -----
...ix-c-tweak-for-Wrange-loop-construct.patch | 114 ----
...ch-to-fix-data-relocation-to-ENDBR-s.patch | 447 --------------
...-incorrect-preprocessor-line-numbers.patch | 475 ---------------
...4fffe3fc82a710bea66ad651720d71c938b8.patch | 549 ------------------
.../gcc/{gcc_14.2.bb => gcc_14.3.bb} | 0
...initial_14.2.bb => libgcc-initial_14.3.bb} | 0
.../gcc/{libgcc_14.2.bb => libgcc_14.3.bb} | 0
...ibgfortran_14.2.bb => libgfortran_14.3.bb} | 0
17 files changed, 4 insertions(+), 1742 deletions(-)
rename meta/recipes-devtools/gcc/{gcc-14.2.inc => gcc-14.3.inc} (90%)
rename meta/recipes-devtools/gcc/{gcc-cross-canadian_14.2.bb => gcc-cross-canadian_14.3.bb} (100%)
rename meta/recipes-devtools/gcc/{gcc-cross_14.2.bb => gcc-cross_14.3.bb} (100%)
rename meta/recipes-devtools/gcc/{gcc-crosssdk_14.2.bb => gcc-crosssdk_14.3.bb} (100%)
rename meta/recipes-devtools/gcc/{gcc-runtime_14.2.bb => gcc-runtime_14.3.bb} (100%)
rename meta/recipes-devtools/gcc/{gcc-sanitizers_14.2.bb => gcc-sanitizers_14.3.bb} (100%)
rename meta/recipes-devtools/gcc/{gcc-source_14.2.bb => gcc-source_14.3.bb} (100%)
delete mode 100644 meta/recipes-devtools/gcc/gcc/0001-arm-Fix-LDRD-register-overlap-PR117675.patch
delete mode 100644 meta/recipes-devtools/gcc/gcc/0026-gcc-Fix-c-tweak-for-Wrange-loop-construct.patch
delete mode 100644 meta/recipes-devtools/gcc/gcc/0027-gcc-backport-patch-to-fix-data-relocation-to-ENDBR-s.patch
delete mode 100644 meta/recipes-devtools/gcc/gcc/0028-fix-incorrect-preprocessor-line-numbers.patch
delete mode 100644 meta/recipes-devtools/gcc/gcc/gcc.git-ab884fffe3fc82a710bea66ad651720d71c938b8.patch
rename meta/recipes-devtools/gcc/{gcc_14.2.bb => gcc_14.3.bb} (100%)
rename meta/recipes-devtools/gcc/{libgcc-initial_14.2.bb => libgcc-initial_14.3.bb} (100%)
rename meta/recipes-devtools/gcc/{libgcc_14.2.bb => libgcc_14.3.bb} (100%)
rename meta/recipes-devtools/gcc/{libgfortran_14.2.bb => libgfortran_14.3.bb} (100%)
diff --git a/meta/conf/distro/include/maintainers.inc b/meta/conf/distro/include/maintainers.inc
index f1bff80586..9fe11282d9 100644
--- a/meta/conf/distro/include/maintainers.inc
+++ b/meta/conf/distro/include/maintainers.inc
@@ -194,7 +194,7 @@ RECIPE_MAINTAINER:pn-gcc-cross-canadian-${TRANSLATED_TARGET_ARCH} = "Khem Raj <r
RECIPE_MAINTAINER:pn-gcc-crosssdk-${SDK_SYS} = "Khem Raj <raj.khem@gmail.com>"
RECIPE_MAINTAINER:pn-gcc-runtime = "Khem Raj <raj.khem@gmail.com>"
RECIPE_MAINTAINER:pn-gcc-sanitizers = "Khem Raj <raj.khem@gmail.com>"
-RECIPE_MAINTAINER:pn-gcc-source-14.2.0 = "Khem Raj <raj.khem@gmail.com>"
+RECIPE_MAINTAINER:pn-gcc-source-14.3.0 = "Khem Raj <raj.khem@gmail.com>"
RECIPE_MAINTAINER:pn-gconf = "Ross Burton <ross.burton@arm.com>"
RECIPE_MAINTAINER:pn-gcr = "Unassigned <unassigned@yoctoproject.org>"
RECIPE_MAINTAINER:pn-gdb = "Khem Raj <raj.khem@gmail.com>"
diff --git a/meta/recipes-devtools/gcc/gcc-14.2.inc b/meta/recipes-devtools/gcc/gcc-14.3.inc
similarity index 90%
rename from meta/recipes-devtools/gcc/gcc-14.2.inc
rename to meta/recipes-devtools/gcc/gcc-14.3.inc
index fa9003f604..ca2f2e2a13 100644
--- a/meta/recipes-devtools/gcc/gcc-14.2.inc
+++ b/meta/recipes-devtools/gcc/gcc-14.3.inc
@@ -2,11 +2,11 @@ require gcc-common.inc
# Third digit in PV should be incremented after a minor release
-PV = "14.2.0"
+PV = "14.3.0"
# BINV should be incremented to a revision after a minor gcc release
-BINV = "14.2.0"
+BINV = "14.3.0"
FILESEXTRAPATHS =. "${FILE_DIRNAME}/gcc:${FILE_DIRNAME}/gcc/backport:"
@@ -40,7 +40,7 @@ LIC_FILES_CHKSUM = "\
RELEASE ?= "${PV}"
BASEURI ?= "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.xz"
SOURCEDIR ?= "gcc-${PV}"
-SRC_URI[sha256sum] = "a7b39bc69cbf9e25826c5a60ab26477001f7c08d85cec04bc0e29cabed6f3cc9"
+SRC_URI[sha256sum] = "e0dc77297625631ac8e50fa92fffefe899a4eb702592da5c32ef04e2293aca3a"
SRC_URI = "${BASEURI} \
file://0001-gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch \
@@ -68,11 +68,6 @@ SRC_URI = "${BASEURI} \
file://0023-Fix-install-path-of-linux64.h.patch \
file://0024-Avoid-hardcoded-build-paths-into-ppc-libgcc.patch \
file://0025-gcc-testsuite-tweaks-for-mips-OE.patch \
- file://0026-gcc-Fix-c-tweak-for-Wrange-loop-construct.patch \
- file://0027-gcc-backport-patch-to-fix-data-relocation-to-ENDBR-s.patch \
- file://gcc.git-ab884fffe3fc82a710bea66ad651720d71c938b8.patch \
- file://0001-arm-Fix-LDRD-register-overlap-PR117675.patch \
- file://0028-fix-incorrect-preprocessor-line-numbers.patch \
"
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_14.3.bb
similarity index 100%
rename from meta/recipes-devtools/gcc/gcc-cross-canadian_14.2.bb
rename to meta/recipes-devtools/gcc/gcc-cross-canadian_14.3.bb
diff --git a/meta/recipes-devtools/gcc/gcc-cross_14.2.bb b/meta/recipes-devtools/gcc/gcc-cross_14.3.bb
similarity index 100%
rename from meta/recipes-devtools/gcc/gcc-cross_14.2.bb
rename to meta/recipes-devtools/gcc/gcc-cross_14.3.bb
diff --git a/meta/recipes-devtools/gcc/gcc-crosssdk_14.2.bb b/meta/recipes-devtools/gcc/gcc-crosssdk_14.3.bb
similarity index 100%
rename from meta/recipes-devtools/gcc/gcc-crosssdk_14.2.bb
rename to meta/recipes-devtools/gcc/gcc-crosssdk_14.3.bb
diff --git a/meta/recipes-devtools/gcc/gcc-runtime_14.2.bb b/meta/recipes-devtools/gcc/gcc-runtime_14.3.bb
similarity index 100%
rename from meta/recipes-devtools/gcc/gcc-runtime_14.2.bb
rename to meta/recipes-devtools/gcc/gcc-runtime_14.3.bb
diff --git a/meta/recipes-devtools/gcc/gcc-sanitizers_14.2.bb b/meta/recipes-devtools/gcc/gcc-sanitizers_14.3.bb
similarity index 100%
rename from meta/recipes-devtools/gcc/gcc-sanitizers_14.2.bb
rename to meta/recipes-devtools/gcc/gcc-sanitizers_14.3.bb
diff --git a/meta/recipes-devtools/gcc/gcc-source_14.2.bb b/meta/recipes-devtools/gcc/gcc-source_14.3.bb
similarity index 100%
rename from meta/recipes-devtools/gcc/gcc-source_14.2.bb
rename to meta/recipes-devtools/gcc/gcc-source_14.3.bb
diff --git a/meta/recipes-devtools/gcc/gcc/0001-arm-Fix-LDRD-register-overlap-PR117675.patch b/meta/recipes-devtools/gcc/gcc/0001-arm-Fix-LDRD-register-overlap-PR117675.patch
deleted file mode 100644
index e3d887a135..0000000000
--- a/meta/recipes-devtools/gcc/gcc/0001-arm-Fix-LDRD-register-overlap-PR117675.patch
+++ /dev/null
@@ -1,148 +0,0 @@
-From 9366c328518766d896155388726055624716c0af Mon Sep 17 00:00:00 2001
-From: Wilco Dijkstra <wilco.dijkstra@arm.com>
-Date: Tue, 10 Dec 2024 14:22:48 +0000
-Subject: [PATCH] arm: Fix LDRD register overlap [PR117675]
-
-The register indexed variants of LDRD have complex register overlap constraints
-which makes them hard to use without using output_move_double (which can't be
-used for atomics as it doesn't guarantee to emit atomic LDRD/STRD when required).
-Add a new predicate and constraint for plain LDRD/STRD with base or base+imm.
-This blocks register indexing and fixes PR117675.
-
-gcc:
- PR target/117675
- * config/arm/arm.cc (arm_ldrd_legitimate_address): New function.
- * config/arm/arm-protos.h (arm_ldrd_legitimate_address): New prototype.
- * config/arm/constraints.md: Add new Uo constraint.
- * config/arm/predicates.md (arm_ldrd_memory_operand): Add new predicate.
- * config/arm/sync.md (arm_atomic_loaddi2_ldrd): Use
- arm_ldrd_memory_operand and Uo.
-
-gcc/testsuite:
- PR target/117675
- * gcc.target/arm/pr117675.c: Add new test.
-
-(cherry picked from commit 21fbfae2e55e1a153820acc6fbd922e66f67e65b)
-
-Upstream-Status: Backport [https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117675]
----
- gcc/config/arm/arm-protos.h | 1 +
- gcc/config/arm/arm.cc | 24 ++++++++++++++++++++++++
- gcc/config/arm/constraints.md | 8 +++++++-
- gcc/config/arm/predicates.md | 4 ++++
- gcc/config/arm/sync.md | 2 +-
- gcc/testsuite/gcc.target/arm/pr117675.c | 17 +++++++++++++++++
- 6 files changed, 54 insertions(+), 2 deletions(-)
- create mode 100644 gcc/testsuite/gcc.target/arm/pr117675.c
-
---- a/gcc/config/arm/arm-protos.h
-+++ b/gcc/config/arm/arm-protos.h
-@@ -202,6 +202,7 @@ extern rtx arm_load_tp (rtx);
- extern bool arm_coproc_builtin_available (enum unspecv);
- extern bool arm_coproc_ldc_stc_legitimate_address (rtx);
- extern rtx arm_stack_protect_tls_canary_mem (bool);
-+extern bool arm_ldrd_legitimate_address (rtx);
-
-
- #if defined TREE_CODE
---- a/gcc/config/arm/arm.cc
-+++ b/gcc/config/arm/arm.cc
-@@ -34523,6 +34523,30 @@ arm_coproc_ldc_stc_legitimate_address (r
- return false;
- }
-
-+/* Return true if OP is a valid memory operand for LDRD/STRD without any
-+ register overlap restrictions. Allow [base] and [base, imm] for now. */
-+bool
-+arm_ldrd_legitimate_address (rtx op)
-+{
-+ if (!MEM_P (op))
-+ return false;
-+
-+ op = XEXP (op, 0);
-+ if (REG_P (op))
-+ return true;
-+
-+ if (GET_CODE (op) != PLUS)
-+ return false;
-+ if (!REG_P (XEXP (op, 0)) || !CONST_INT_P (XEXP (op, 1)))
-+ return false;
-+
-+ HOST_WIDE_INT val = INTVAL (XEXP (op, 1));
-+
-+ if (TARGET_ARM)
-+ return IN_RANGE (val, -255, 255);
-+ return IN_RANGE (val, -1020, 1020) && (val & 3) == 0;
-+}
-+
- /* Return the diagnostic message string if conversion from FROMTYPE to
- TOTYPE is not allowed, NULL otherwise. */
-
---- a/gcc/config/arm/constraints.md
-+++ b/gcc/config/arm/constraints.md
-@@ -39,7 +39,7 @@
- ;; in all states: Pg
-
- ;; The following memory constraints have been used:
--;; in ARM/Thumb-2 state: Uh, Ut, Uv, Uy, Un, Um, Us, Up, Uf, Ux, Ul
-+;; in ARM/Thumb-2 state: Uh, Ut, Uv, Uy, Un, Um, Us, Uo, Up, Uf, Ux, Ul, Uz
- ;; in ARM state: Uq
- ;; in Thumb state: Uu, Uw
- ;; in all states: Q
-@@ -585,6 +585,12 @@
- (and (match_code "mem")
- (match_test "arm_coproc_ldc_stc_legitimate_address (op)")))
-
-+(define_memory_constraint "Uo"
-+ "@internal
-+ A memory operand for Arm/Thumb-2 LDRD/STRD"
-+ (and (match_code "mem")
-+ (match_test "arm_ldrd_legitimate_address (op)")))
-+
- ;; We used to have constraint letters for S and R in ARM state, but
- ;; all uses of these now appear to have been removed.
-
---- a/gcc/config/arm/predicates.md
-+++ b/gcc/config/arm/predicates.md
-@@ -849,6 +849,10 @@
- (and (match_operand 0 "memory_operand")
- (match_code "reg" "0")))
-
-+;; True if the operand is memory reference suitable for a ldrd/strd.
-+(define_predicate "arm_ldrd_memory_operand"
-+ (match_test "arm_ldrd_legitimate_address (op)"))
-+
- ;; Predicates for parallel expanders based on mode.
- (define_special_predicate "vect_par_constant_high"
- (match_code "parallel")
---- a/gcc/config/arm/sync.md
-+++ b/gcc/config/arm/sync.md
-@@ -161,7 +161,7 @@
- (define_insn "arm_atomic_loaddi2_ldrd"
- [(set (match_operand:DI 0 "register_operand" "=r")
- (unspec_volatile:DI
-- [(match_operand:DI 1 "memory_operand" "m")]
-+ [(match_operand:DI 1 "arm_ldrd_memory_operand" "Uo")]
- VUNSPEC_LDRD_ATOMIC))]
- "ARM_DOUBLEWORD_ALIGN && TARGET_HAVE_LPAE"
- "ldrd\t%0, %H0, %1"
---- /dev/null
-+++ b/gcc/testsuite/gcc.target/arm/pr117675.c
-@@ -0,0 +1,17 @@
-+/* { dg-do compile } */
-+/* { dg-options "-O2 -marm" } */
-+/* { dg-require-effective-target arm_arch_v7ve_neon_ok } */
-+/* { dg-add-options arm_arch_v7ve_neon } */
-+/* { dg-final { check-function-bodies "**" "" "" } } */
-+
-+/*
-+** f1:
-+** add r0, r0, r1
-+** ldrd r0, r1, \[r0\]
-+** bx lr
-+*/
-+long long f1 (char *p, int i)
-+{
-+ return __atomic_load_n ((long long *)(p + i), __ATOMIC_RELAXED);
-+}
-+
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 @@
-From 05106fea707f010779369c5d6e89787953d2976f Mon Sep 17 00:00:00 2001
-From: Sunil Dora <sunilkumar.dora@windriver.com>
-Date: Wed, 11 Dec 2024 10:04:56 -0800
-Subject: [PATCH] gcc: Fix c++: tweak for Wrange-loop-construct
-
-This commit updates the warning to use a check for "trivially constructible" instead of
-"trivially copyable." The original check was incorrect, as "trivially copyable" only applies
-to types that can be copied trivially, whereas "trivially constructible" is the correct check
-for types that can be trivially default-constructed.
-
-This change ensures the warning is more accurate and aligns with the proper type traits.
-
-LLVM accepted a similar fix:
-https://github.com/llvm/llvm-project/issues/47355
-
-PR c++/116731 [https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116731]
-
-Upstream-Status: Backport [https://gcc.gnu.org/g:6ac4e2f4b2ca9980670e7d3815a9140730df1005]
-
-Signed-off-by: Marek Polacek <polacek@redhat.com>
-Signed-off-by: Sunil Dora <sunilkumar.dora@windriver.com>
----
- gcc/cp/parser.cc | 8 ++-
- .../g++.dg/warn/Wrange-loop-construct3.C | 57 +++++++++++++++++++
- 2 files changed, 62 insertions(+), 3 deletions(-)
- create mode 100644 gcc/testsuite/g++.dg/warn/Wrange-loop-construct3.C
-
-diff --git a/gcc/cp/parser.cc b/gcc/cp/parser.cc
-index 7e81c1010..8206489a2 100644
---- a/gcc/cp/parser.cc
-+++ b/gcc/cp/parser.cc
-@@ -14301,11 +14301,13 @@ warn_for_range_copy (tree decl, tree expr)
- else if (!CP_TYPE_CONST_P (type))
- return;
-
-- /* Since small trivially copyable types are cheap to copy, we suppress the
-- warning for them. 64B is a common size of a cache line. */
-+ /* Since small trivially constructible types are cheap to construct, we
-+ suppress the warning for them. 64B is a common size of a cache line. */
-+ tree vec = make_tree_vec (1);
-+ TREE_VEC_ELT (vec, 0) = TREE_TYPE (expr);
- if (TREE_CODE (TYPE_SIZE_UNIT (type)) != INTEGER_CST
- || (tree_to_uhwi (TYPE_SIZE_UNIT (type)) <= 64
-- && trivially_copyable_p (type)))
-+ && is_trivially_xible (INIT_EXPR, type, vec)))
- return;
-
- /* If we can initialize a reference directly, suggest that to avoid the
-diff --git a/gcc/testsuite/g++.dg/warn/Wrange-loop-construct3.C b/gcc/testsuite/g++.dg/warn/Wrange-loop-construct3.C
-new file mode 100644
-index 000000000..3d9d0c908
---- /dev/null
-+++ b/gcc/testsuite/g++.dg/warn/Wrange-loop-construct3.C
-@@ -0,0 +1,57 @@
-+// PR c++/116731
-+// { dg-do compile { target c++11 } }
-+// { dg-options "-Wrange-loop-construct" }
-+
-+void
-+f0 ()
-+{
-+ struct S {
-+ char a[64];
-+ S& operator=(const S&) { return *this; };
-+ };
-+
-+ S arr[8];
-+ for (const auto r : arr)
-+ (void) r;
-+}
-+
-+void
-+f1 ()
-+{
-+ struct S {
-+ char a[65];
-+ S& operator=(const S&) { return *this; };
-+ };
-+
-+ S arr[8];
-+ for (const auto r : arr) // { dg-warning "creates a copy" }
-+ (void) r;
-+}
-+
-+void
-+f2 ()
-+{
-+ struct S {
-+ char a[64];
-+ S& operator=(const S&) { return *this; };
-+ ~S() { }
-+ };
-+
-+ S arr[8];
-+ for (const auto r : arr) // { dg-warning "creates a copy" }
-+ (void) r;
-+}
-+
-+void
-+f3 ()
-+{
-+ struct S {
-+ char a[65];
-+ S& operator=(const S&) { return *this; };
-+ ~S() { }
-+ };
-+
-+ S arr[8];
-+ for (const auto r : arr) // { dg-warning "creates a copy" }
-+ (void) r;
-+}
---
-2.43.0
-
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 @@
-From 4e7735a8d87559bbddfe3a985786996e22241f8d Mon Sep 17 00:00:00 2001
-From: liuhongt <hongtao.liu@intel.com>
-Date: Mon, 12 Aug 2024 14:35:31 +0800
-Subject: [PATCH] Move ix86_align_loops into a separate pass and insert the
- pass after pass_endbr_and_patchable_area.
-
-gcc/ChangeLog:
-
- PR target/116174
- * config/i386/i386.cc (ix86_align_loops): Move this to ..
- * config/i386/i386-features.cc (ix86_align_loops): .. here.
- (class pass_align_tight_loops): New class.
- (make_pass_align_tight_loops): New function.
- * config/i386/i386-passes.def: Insert pass_align_tight_loops
- after pass_insert_endbr_and_patchable_area.
- * config/i386/i386-protos.h (make_pass_align_tight_loops): New
- declare.
-
-gcc/testsuite/ChangeLog:
-
- * gcc.target/i386/pr116174.c: New test.
-
-(cherry picked from commit c3c83d22d212a35cb1bfb8727477819463f0dcd8)
-
-Upstream-Status: Backport [https://gcc.gnu.org/git/?p=gcc.git;a=patch;h=4e7735a8d87559bbddfe3a985786996e22241f8d]
-
-Signed-off-by: Bin Lan <bin.lan.cn@windriver.com>
----
- gcc/config/i386/i386-features.cc | 191 +++++++++++++++++++++++
- gcc/config/i386/i386-passes.def | 3 +
- gcc/config/i386/i386-protos.h | 1 +
- gcc/config/i386/i386.cc | 146 -----------------
- gcc/testsuite/gcc.target/i386/pr116174.c | 12 ++
- 5 files changed, 207 insertions(+), 146 deletions(-)
- create mode 100644 gcc/testsuite/gcc.target/i386/pr116174.c
-
-diff --git a/gcc/config/i386/i386-features.cc b/gcc/config/i386/i386-features.cc
-index e3e004d55267..7de19d423637 100644
---- a/gcc/config/i386/i386-features.cc
-+++ b/gcc/config/i386/i386-features.cc
-@@ -3253,6 +3253,197 @@ make_pass_remove_partial_avx_dependency (gcc::context *ctxt)
- return new pass_remove_partial_avx_dependency (ctxt);
- }
-
-+/* When a hot loop can be fit into one cacheline,
-+ force align the loop without considering the max skip. */
-+static void
-+ix86_align_loops ()
-+{
-+ basic_block bb;
-+
-+ /* Don't do this when we don't know cache line size. */
-+ if (ix86_cost->prefetch_block == 0)
-+ return;
-+
-+ loop_optimizer_init (AVOID_CFG_MODIFICATIONS);
-+ profile_count count_threshold = cfun->cfg->count_max / param_align_threshold;
-+ FOR_EACH_BB_FN (bb, cfun)
-+ {
-+ rtx_insn *label = BB_HEAD (bb);
-+ bool has_fallthru = 0;
-+ edge e;
-+ edge_iterator ei;
-+
-+ if (!LABEL_P (label))
-+ continue;
-+
-+ profile_count fallthru_count = profile_count::zero ();
-+ profile_count branch_count = profile_count::zero ();
-+
-+ FOR_EACH_EDGE (e, ei, bb->preds)
-+ {
-+ if (e->flags & EDGE_FALLTHRU)
-+ has_fallthru = 1, fallthru_count += e->count ();
-+ else
-+ branch_count += e->count ();
-+ }
-+
-+ if (!fallthru_count.initialized_p () || !branch_count.initialized_p ())
-+ continue;
-+
-+ if (bb->loop_father
-+ && bb->loop_father->latch != EXIT_BLOCK_PTR_FOR_FN (cfun)
-+ && (has_fallthru
-+ ? (!(single_succ_p (bb)
-+ && single_succ (bb) == EXIT_BLOCK_PTR_FOR_FN (cfun))
-+ && optimize_bb_for_speed_p (bb)
-+ && branch_count + fallthru_count > count_threshold
-+ && (branch_count > fallthru_count * param_align_loop_iterations))
-+ /* In case there'no fallthru for the loop.
-+ Nops inserted won't be executed. */
-+ : (branch_count > count_threshold
-+ || (bb->count > bb->prev_bb->count * 10
-+ && (bb->prev_bb->count
-+ <= ENTRY_BLOCK_PTR_FOR_FN (cfun)->count / 2)))))
-+ {
-+ rtx_insn* insn, *end_insn;
-+ HOST_WIDE_INT size = 0;
-+ bool padding_p = true;
-+ basic_block tbb = bb;
-+ unsigned cond_branch_num = 0;
-+ bool detect_tight_loop_p = false;
-+
-+ for (unsigned int i = 0; i != bb->loop_father->num_nodes;
-+ i++, tbb = tbb->next_bb)
-+ {
-+ /* Only handle continuous cfg layout. */
-+ if (bb->loop_father != tbb->loop_father)
-+ {
-+ padding_p = false;
-+ break;
-+ }
-+
-+ FOR_BB_INSNS (tbb, insn)
-+ {
-+ if (!NONDEBUG_INSN_P (insn))
-+ continue;
-+ size += ix86_min_insn_size (insn);
-+
-+ /* We don't know size of inline asm.
-+ Don't align loop for call. */
-+ if (asm_noperands (PATTERN (insn)) >= 0
-+ || CALL_P (insn))
-+ {
-+ size = -1;
-+ break;
-+ }
-+ }
-+
-+ if (size == -1 || size > ix86_cost->prefetch_block)
-+ {
-+ padding_p = false;
-+ break;
-+ }
-+
-+ FOR_EACH_EDGE (e, ei, tbb->succs)
-+ {
-+ /* It could be part of the loop. */
-+ if (e->dest == bb)
-+ {
-+ detect_tight_loop_p = true;
-+ break;
-+ }
-+ }
-+
-+ if (detect_tight_loop_p)
-+ break;
-+
-+ end_insn = BB_END (tbb);
-+ if (JUMP_P (end_insn))
-+ {
-+ /* For decoded icache:
-+ 1. Up to two branches are allowed per Way.
-+ 2. A non-conditional branch is the last micro-op in a Way.
-+ */
-+ if (onlyjump_p (end_insn)
-+ && (any_uncondjump_p (end_insn)
-+ || single_succ_p (tbb)))
-+ {
-+ padding_p = false;
-+ break;
-+ }
-+ else if (++cond_branch_num >= 2)
-+ {
-+ padding_p = false;
-+ break;
-+ }
-+ }
-+
-+ }
-+
-+ if (padding_p && detect_tight_loop_p)
-+ {
-+ emit_insn_before (gen_max_skip_align (GEN_INT (ceil_log2 (size)),
-+ GEN_INT (0)), label);
-+ /* End of function. */
-+ if (!tbb || tbb == EXIT_BLOCK_PTR_FOR_FN (cfun))
-+ break;
-+ /* Skip bb which already fits into one cacheline. */
-+ bb = tbb;
-+ }
-+ }
-+ }
-+
-+ loop_optimizer_finalize ();
-+ free_dominance_info (CDI_DOMINATORS);
-+}
-+
-+namespace {
-+
-+const pass_data pass_data_align_tight_loops =
-+{
-+ RTL_PASS, /* type */
-+ "align_tight_loops", /* name */
-+ OPTGROUP_NONE, /* optinfo_flags */
-+ TV_MACH_DEP, /* tv_id */
-+ 0, /* properties_required */
-+ 0, /* properties_provided */
-+ 0, /* properties_destroyed */
-+ 0, /* todo_flags_start */
-+ 0, /* todo_flags_finish */
-+};
-+
-+class pass_align_tight_loops : public rtl_opt_pass
-+{
-+public:
-+ pass_align_tight_loops (gcc::context *ctxt)
-+ : rtl_opt_pass (pass_data_align_tight_loops, ctxt)
-+ {}
-+
-+ /* opt_pass methods: */
-+ bool gate (function *) final override
-+ {
-+ return optimize && optimize_function_for_speed_p (cfun);
-+ }
-+
-+ unsigned int execute (function *) final override
-+ {
-+ timevar_push (TV_MACH_DEP);
-+#ifdef ASM_OUTPUT_MAX_SKIP_ALIGN
-+ ix86_align_loops ();
-+#endif
-+ timevar_pop (TV_MACH_DEP);
-+ return 0;
-+ }
-+}; // class pass_align_tight_loops
-+
-+} // anon namespace
-+
-+rtl_opt_pass *
-+make_pass_align_tight_loops (gcc::context *ctxt)
-+{
-+ return new pass_align_tight_loops (ctxt);
-+}
-+
- /* This compares the priority of target features in function DECL1
- and DECL2. It returns positive value if DECL1 is higher priority,
- negative value if DECL2 is higher priority and 0 if they are the
-diff --git a/gcc/config/i386/i386-passes.def b/gcc/config/i386/i386-passes.def
-index 7d96766f7b96..e500f15c9971 100644
---- a/gcc/config/i386/i386-passes.def
-+++ b/gcc/config/i386/i386-passes.def
-@@ -31,5 +31,8 @@ along with GCC; see the file COPYING3. If not see
- INSERT_PASS_BEFORE (pass_cse2, 1, pass_stv, true /* timode_p */);
-
- INSERT_PASS_BEFORE (pass_shorten_branches, 1, pass_insert_endbr_and_patchable_area);
-+ /* pass_align_tight_loops must be after pass_insert_endbr_and_patchable_area.
-+ PR116174. */
-+ INSERT_PASS_BEFORE (pass_shorten_branches, 1, pass_align_tight_loops);
-
- INSERT_PASS_AFTER (pass_combine, 1, pass_remove_partial_avx_dependency);
-diff --git a/gcc/config/i386/i386-protos.h b/gcc/config/i386/i386-protos.h
-index 46214a63974d..36c7b1aed42b 100644
---- a/gcc/config/i386/i386-protos.h
-+++ b/gcc/config/i386/i386-protos.h
-@@ -419,6 +419,7 @@ extern rtl_opt_pass *make_pass_insert_endbr_and_patchable_area
- (gcc::context *);
- extern rtl_opt_pass *make_pass_remove_partial_avx_dependency
- (gcc::context *);
-+extern rtl_opt_pass *make_pass_align_tight_loops (gcc::context *);
-
- extern bool ix86_has_no_direct_extern_access;
-
-diff --git a/gcc/config/i386/i386.cc b/gcc/config/i386/i386.cc
-index 6f89891d3cb5..288c69467d62 100644
---- a/gcc/config/i386/i386.cc
-+++ b/gcc/config/i386/i386.cc
-@@ -23444,150 +23444,6 @@ ix86_split_stlf_stall_load ()
- }
- }
-
--/* When a hot loop can be fit into one cacheline,
-- force align the loop without considering the max skip. */
--static void
--ix86_align_loops ()
--{
-- basic_block bb;
--
-- /* Don't do this when we don't know cache line size. */
-- if (ix86_cost->prefetch_block == 0)
-- return;
--
-- loop_optimizer_init (AVOID_CFG_MODIFICATIONS);
-- profile_count count_threshold = cfun->cfg->count_max / param_align_threshold;
-- FOR_EACH_BB_FN (bb, cfun)
-- {
-- rtx_insn *label = BB_HEAD (bb);
-- bool has_fallthru = 0;
-- edge e;
-- edge_iterator ei;
--
-- if (!LABEL_P (label))
-- continue;
--
-- profile_count fallthru_count = profile_count::zero ();
-- profile_count branch_count = profile_count::zero ();
--
-- FOR_EACH_EDGE (e, ei, bb->preds)
-- {
-- if (e->flags & EDGE_FALLTHRU)
-- has_fallthru = 1, fallthru_count += e->count ();
-- else
-- branch_count += e->count ();
-- }
--
-- if (!fallthru_count.initialized_p () || !branch_count.initialized_p ())
-- continue;
--
-- if (bb->loop_father
-- && bb->loop_father->latch != EXIT_BLOCK_PTR_FOR_FN (cfun)
-- && (has_fallthru
-- ? (!(single_succ_p (bb)
-- && single_succ (bb) == EXIT_BLOCK_PTR_FOR_FN (cfun))
-- && optimize_bb_for_speed_p (bb)
-- && branch_count + fallthru_count > count_threshold
-- && (branch_count > fallthru_count * param_align_loop_iterations))
-- /* In case there'no fallthru for the loop.
-- Nops inserted won't be executed. */
-- : (branch_count > count_threshold
-- || (bb->count > bb->prev_bb->count * 10
-- && (bb->prev_bb->count
-- <= ENTRY_BLOCK_PTR_FOR_FN (cfun)->count / 2)))))
-- {
-- rtx_insn* insn, *end_insn;
-- HOST_WIDE_INT size = 0;
-- bool padding_p = true;
-- basic_block tbb = bb;
-- unsigned cond_branch_num = 0;
-- bool detect_tight_loop_p = false;
--
-- for (unsigned int i = 0; i != bb->loop_father->num_nodes;
-- i++, tbb = tbb->next_bb)
-- {
-- /* Only handle continuous cfg layout. */
-- if (bb->loop_father != tbb->loop_father)
-- {
-- padding_p = false;
-- break;
-- }
--
-- FOR_BB_INSNS (tbb, insn)
-- {
-- if (!NONDEBUG_INSN_P (insn))
-- continue;
-- size += ix86_min_insn_size (insn);
--
-- /* We don't know size of inline asm.
-- Don't align loop for call. */
-- if (asm_noperands (PATTERN (insn)) >= 0
-- || CALL_P (insn))
-- {
-- size = -1;
-- break;
-- }
-- }
--
-- if (size == -1 || size > ix86_cost->prefetch_block)
-- {
-- padding_p = false;
-- break;
-- }
--
-- FOR_EACH_EDGE (e, ei, tbb->succs)
-- {
-- /* It could be part of the loop. */
-- if (e->dest == bb)
-- {
-- detect_tight_loop_p = true;
-- break;
-- }
-- }
--
-- if (detect_tight_loop_p)
-- break;
--
-- end_insn = BB_END (tbb);
-- if (JUMP_P (end_insn))
-- {
-- /* For decoded icache:
-- 1. Up to two branches are allowed per Way.
-- 2. A non-conditional branch is the last micro-op in a Way.
-- */
-- if (onlyjump_p (end_insn)
-- && (any_uncondjump_p (end_insn)
-- || single_succ_p (tbb)))
-- {
-- padding_p = false;
-- break;
-- }
-- else if (++cond_branch_num >= 2)
-- {
-- padding_p = false;
-- break;
-- }
-- }
--
-- }
--
-- if (padding_p && detect_tight_loop_p)
-- {
-- emit_insn_before (gen_max_skip_align (GEN_INT (ceil_log2 (size)),
-- GEN_INT (0)), label);
-- /* End of function. */
-- if (!tbb || tbb == EXIT_BLOCK_PTR_FOR_FN (cfun))
-- break;
-- /* Skip bb which already fits into one cacheline. */
-- bb = tbb;
-- }
-- }
-- }
--
-- loop_optimizer_finalize ();
-- free_dominance_info (CDI_DOMINATORS);
--}
--
- /* Implement machine specific optimizations. We implement padding of returns
- for K8 CPUs and pass to avoid 4 jumps in the single 16 byte window. */
- static void
-@@ -23611,8 +23467,6 @@ ix86_reorg (void)
- #ifdef ASM_OUTPUT_MAX_SKIP_ALIGN
- if (TARGET_FOUR_JUMP_LIMIT)
- ix86_avoid_jump_mispredicts ();
--
-- ix86_align_loops ();
- #endif
- }
- }
-diff --git a/gcc/testsuite/gcc.target/i386/pr116174.c b/gcc/testsuite/gcc.target/i386/pr116174.c
-new file mode 100644
-index 000000000000..8877d0b51af1
---- /dev/null
-+++ b/gcc/testsuite/gcc.target/i386/pr116174.c
-@@ -0,0 +1,12 @@
-+/* { dg-do compile { target *-*-linux* } } */
-+/* { dg-options "-O2 -fcf-protection=branch" } */
-+
-+char *
-+foo (char *dest, const char *src)
-+{
-+ while ((*dest++ = *src++) != '\0')
-+ /* nothing */;
-+ return --dest;
-+}
-+
-+/* { dg-final { scan-assembler "\t\.cfi_startproc\n\tendbr(32|64)\n" } } */
---
-2.43.5
diff --git a/meta/recipes-devtools/gcc/gcc/0028-fix-incorrect-preprocessor-line-numbers.patch b/meta/recipes-devtools/gcc/gcc/0028-fix-incorrect-preprocessor-line-numbers.patch
deleted file mode 100644
index 5185236a3d..0000000000
--- a/meta/recipes-devtools/gcc/gcc/0028-fix-incorrect-preprocessor-line-numbers.patch
+++ /dev/null
@@ -1,475 +0,0 @@
-From 8cbe033a8a88fe6437cc5d343ae0ddf8dd3455c8 Mon Sep 17 00:00:00 2001
-From: Jakub Jelinek <jakub@redhat.com>
-Date: Thu, 8 May 2025 11:14:24 +0200
-Subject: libcpp: Further fixes for incorrect line numbers in large files
- [PR120061]
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-The backport of the PR108900 fix to 14 branch broke building chromium
-because static_assert (__LINE__ == expected_line_number, ""); now triggers
-as the __LINE__ values are off by one.
-This isn't the case on the trunk and 15 branch because we've switched
-to 64-bit location_t and so one actually needs far longer header files
-to trigger it.
-https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120061#c11
-https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120061#c12
-contain (large) testcases in patch form which show on the 14 branch
-that the first one used to fail before the PR108900 backport and now
-works correctly, while the second one attempts to match the chromium
-behavior and it used to pass before the PR108900 backport and now it
-FAILs.
-The two testcases show rare problematic cases, because
-do_include_common -> parse_include -> check_eol -> check_eol_1 ->
-cpp_get_token_1 -> _cpp_lex_token -> _cpp_lex_direct -> linemap_line_start
-triggers there
- /* Allocate the new line_map. However, if the current map only has a
- single line we can sometimes just increase its column_bits instead. */
- if (line_delta < 0
- || last_line != ORDINARY_MAP_STARTING_LINE_NUMBER (map)
- || SOURCE_COLUMN (map, highest) >= (1U << (column_bits - range_bits))
- || ( /* We can't reuse the map if the line offset is sufficiently
- large to cause overflow when computing location_t values. */
- (to_line - ORDINARY_MAP_STARTING_LINE_NUMBER (map))
- >= (((uint64_t) 1)
- << (CHAR_BIT * sizeof (linenum_type) - column_bits)))
- || range_bits < map->m_range_bits)
- map = linemap_check_ordinary
- (const_cast <line_map *>
- (linemap_add (set, LC_RENAME,
- ORDINARY_MAP_IN_SYSTEM_HEADER_P (map),
- ORDINARY_MAP_FILE_NAME (map),
- to_line)));
-and so creates a new ordinary map on the line right after the
-(problematic) #include line.
-Now, in the spot that r14-11679-g8a884140c2bcb7 patched,
-pfile->line_table->highest_location in all 3 tests (also
-https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120061#c13
-) is before the decrement the start of the line after the #include line and so
-the decrement is really desirable in that case to put highest_location
-[jakub@tucnak gcc-15]$ git log -1 --format=%B r15-9638-gbfcb5da69a41f7a5e41faab39b763d9d7c8bd2ea | cat
-libcpp: Further fixes for incorrect line numbers in large files [PR120061]
-
-The backport of the PR108900 fix to 14 branch broke building chromium
-because static_assert (__LINE__ == expected_line_number, ""); now triggers
-as the __LINE__ values are off by one.
-This isn't the case on the trunk and 15 branch because we've switched
-to 64-bit location_t and so one actually needs far longer header files
-to trigger it.
-https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120061#c11
-https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120061#c12
-contain (large) testcases in patch form which show on the 14 branch
-that the first one used to fail before the PR108900 backport and now
-works correctly, while the second one attempts to match the chromium
-behavior and it used to pass before the PR108900 backport and now it
-FAILs.
-The two testcases show rare problematic cases, because
-do_include_common -> parse_include -> check_eol -> check_eol_1 ->
-cpp_get_token_1 -> _cpp_lex_token -> _cpp_lex_direct -> linemap_line_start
-triggers there
- /* Allocate the new line_map. However, if the current map only has a
- single line we can sometimes just increase its column_bits instead. */
- if (line_delta < 0
- || last_line != ORDINARY_MAP_STARTING_LINE_NUMBER (map)
- || SOURCE_COLUMN (map, highest) >= (1U << (column_bits - range_bits))
- || ( /* We can't reuse the map if the line offset is sufficiently
- large to cause overflow when computing location_t values. */
- (to_line - ORDINARY_MAP_STARTING_LINE_NUMBER (map))
- >= (((uint64_t) 1)
- << (CHAR_BIT * sizeof (linenum_type) - column_bits)))
- || range_bits < map->m_range_bits)
- map = linemap_check_ordinary
- (const_cast <line_map *>
- (linemap_add (set, LC_RENAME,
- ORDINARY_MAP_IN_SYSTEM_HEADER_P (map),
- ORDINARY_MAP_FILE_NAME (map),
- to_line)));
-and so creates a new ordinary map on the line right after the
-(problematic) #include line.
-Now, in the spot that r14-11679-g8a884140c2bcb7 patched,
-pfile->line_table->highest_location in all 3 tests (also
-https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120061#c13
-) is before the decrement the start of the line after the #include line and so
-the decrement is really desirable in that case to put highest_location
-somewhere on the line where the #include actually is.
-But at the same time it is also undesirable, because if we do decrement it,
-then linemap_add LC_ENTER called from _cpp_do_file_change will then
- /* Generate a start_location above the current highest_location.
- If possible, make the low range bits be zero. */
- location_t start_location = set->highest_location + 1;
- unsigned range_bits = 0;
- if (start_location < LINE_MAP_MAX_LOCATION_WITH_COLS)
- range_bits = set->default_range_bits;
- start_location += (1 << range_bits) - 1;
- start_location &= ~((1 << range_bits) - 1);
-
- linemap_assert (!LINEMAPS_ORDINARY_USED (set)
- || (start_location
- >= MAP_START_LOCATION (LINEMAPS_LAST_ORDINARY_MAP (set))));
-and we can end up with the new LC_ENTER ordinary map having the same
-start_location as the preceding LC_RENAME one.
-Next thing that happens is computation of included_from:
- if (reason == LC_ENTER)
- {
- if (set->depth == 0)
- map->included_from = 0;
- else
- /* The location of the end of the just-closed map. */
- map->included_from
- = (((map[0].start_location - 1 - map[-1].start_location)
- & ~((1 << map[-1].m_column_and_range_bits) - 1))
- + map[-1].start_location);
-The normal case (e.g. with the testcase included at the start of this comment) is
-that map[-1] starts somewhere earlier and so map->included_from computation above
-nicely computes location_t which expands to the start of the #include line.
-With r14-11679 reverted, for #c11 as well as #c12
-map[0].start_location == map[-1].start_location above, and so it is
-((location_t) -1 & ~((1 << map[-1].m_column_and_range_bits) - 1)))
-+ map[-1].start_location,
-which happens to be start of the #include line.
-For #c11 map[0].start_location is 0x500003a0 and map[-1] has
-m_column_and_range_bits 7 and map[-2] has m_column_and_range_bits 12 and
-map[0].included_from is set to 0x50000320.
-For #c12 map[0].start_location is 0x606c0402 and map[-2].start_location is
-0x606c0400 and m_column_and_range_bits is 0 for all 3 maps.
-map[0].included_from is set to 0x606c0401.
-The last important part is again in linemap_add when doing LC_LEAVE:
- /* (MAP - 1) points to the map we are leaving. The
- map from which (MAP - 1) got included should be the map
- that comes right before MAP in the same file. */
- from = linemap_included_from_linemap (set, map - 1);
-
- /* A TO_FILE of NULL is special - we use the natural values. */
- if (to_file == NULL)
- {
- to_file = ORDINARY_MAP_FILE_NAME (from);
- to_line = SOURCE_LINE (from, from[1].start_location);
- sysp = ORDINARY_MAP_IN_SYSTEM_HEADER_P (from);
- }
-Here it wants to compute the right to_line which ought to be the line after
-the #include directive.
-On the #c11 testcase that doesn't work correctly though, because
-map[-1].included_from is 0x50000320, from[0] for that is LC_ENTER with
-start_location 0x4080 and m_column_and_range_bits 12 but note that we've
-earlier computed map[-1].start_location + (-1 & 0xffffff80) and so only
-decreased by 7 bits, so to_line is still on the line with #include and not
-after it. In the #c12 that doesn't happen, all the ordinary maps involved
-there had 0 m_column_and_range_bits and so this computes correct line.
-
-Below is a fix for the trunk including testcases using the
-location_overflow_plugin hack to simulate the bugs without needing huge
-files (in the 14 case it is just 330KB and almost 10MB, but in the 15
-case it would need to be far bigger).
-The pre- r15-9018 trunk has
-FAIL: gcc.dg/plugin/location-overflow-test-pr116047.c -fplugin=./location_overflow_plugin.so scan-file static_assert[^\n\r]*6[^\n\r]*== 6
-and current trunk
-FAIL: gcc.dg/plugin/location-overflow-test-pr116047.c -fplugin=./location_overflow_plugin.so scan-file static_assert[^\n\r]*6[^\n\r]*== 6
-FAIL: gcc.dg/plugin/location-overflow-test-pr120061.c -fplugin=./location_overflow_plugin.so scan-file static_assert[^\n\r]*5[^\n\r]*== 5
-and with the patch everything PASSes.
-
-The patch reverts the r14-11679 change, because it is incorrect,
-we really need to decrement it even when crossing ordinary map
-boundaries, so that the location is not on the line after the #include
-line but somewhere on the #include line. It also patches two spots
-in linemap_add mentioned above to make sure we get correct locations
-both in the included_from location_t when doing LC_ENTER (second
-line-map.cc hunk) and when doing LC_LEAVE to compute the right to_line
-(first line-map.cc hunk), both in presence of an added LC_RENAME
-with the same start_location as the following LC_ENTER (i.e. the
-problematic cases).
-The LC_ENTER hunk is mostly to ensure included_form location_t is
-at the start of the #include line (column 0), without it we can
-decrease include_from not enough and end up at some random column
-in the middle of the line, because it is masking away
-map[-1].m_column_and_range_bits bits even when in the end the resulting
-include_from location_t will be found in map[-2] map with perhaps
-different m_column_and_range_bits. That alone doesn't fix the bug
-though.
-The more important is the LC_LEAVE hunk and the problem there is
-caused by linemap_line_start not actually doing
- r = set->highest_line + (line_delta << map->m_column_and_range_bits);
-when adding a new map (the LC_RENAME one because we need to switch to
-different number of directly encoded ranges, or columns, etc.).
-So, in the original PR108900 case that
- to_line = SOURCE_LINE (from, from[1].start_location);
-doesn't do the right thing, from there is the last < 0x50000000 map
-with m_column_and_range_bits 12, from[1] is the first one above it
-and map[-1].included_from is the correct location of column 0 on
-the #include line, but as the new LC_RENAME map has been created without
-actually increasing highest_location to be on the new line (we've just
-set to_line of the new LC_RENAME map to the correct line),
- to_line = SOURCE_LINE (from, from[1].start_location);
-stays on the same source line. I've tried to just replace that with
- to_line = SOURCE_LINE (from, linemap_included_from (map - 1)) + 1;
-i.e. just find out the #include line from map[-1].included_from and
-add 1 to it, unfortunately that breaks the
-c-c++-common/cpp/line-4.c
-test where we expect to stay on the same 0 line for LC_LEAVE from
-<command line> and gcc.dg/cpp/trad/Wunused.c, gcc.dg/cpp/trad/builtins.c
-and c-c++-common/analyzer/named-constants-via-macros-traditional.c tests
-all with -traditional-cpp preprocessing where to_line is also off-by-one
-from the expected one.
-So, this patch instead conditionalizes it, uses the
- to_line = SOURCE_LINE (from, linemap_included_from (map - 1)) + 1;
-way only if from[1] is a LC_RENAME map (rather than the usual
-LC_ENTER one), that should limit it to the problematic cases of when
-parse_include peeked after EOL and had to create LC_RENAME map with
-the same start_location as the LC_ENTER after it.
-
-Some further justification for the LC_ENTER hunk, using the
-https://gcc.gnu.org/pipermail/gcc-patches/2025-May/682774.html testcase
-(old is 14 before r14-11679, vanilla current 14 and new with the 14 patch)
-I get
-$ /usr/src/gcc-14/obj/gcc/cc1.old -quiet -std=c23 pr116047.c -nostdinc
-In file included from pr116047-1.h:327677:21,
- from pr116047.c:4:
-pr116047-2.h:1:1: error: unknown type name ‘a’
- 1 | a b c;
- | ^
-pr116047-2.h:1:5: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘c’
- 1 | a b c;
- | ^
-pr116047-1.h:327677:1: error: static assertion failed: ""
-327677 | #include "pr116047-2.h"
- | ^~~~~~~~~~~~~
-$ /usr/src/gcc-14/obj/gcc/cc1.vanilla -quiet -std=c23 pr116047.c -nostdinc
-In file included from pr116047-1.h:327678,
- from pr116047.c:4:
-pr116047-2.h:1:1: error: unknown type name ‘a’
- 1 | a b c;
- | ^
-pr116047-2.h:1:5: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘c’
- 1 | a b c;
- | ^
-$ /usr/src/gcc-14/obj/gcc/cc1.new -quiet -std=c23 pr116047.c -nostdinc
-In file included from pr116047-1.h:327677,
- from pr116047.c:4:
-pr116047-2.h:1:1: error: unknown type name ‘a’
- 1 | a b c;
- | ^
-pr116047-2.h:1:5: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘c’
- 1 | a b c;
- | ^
-
-pr116047-1.h has on lines 327677+327678:
- #include "pr116047-2.h"
- static_assert (__LINE__ == 327678, "");
-so the static_assert failure is something that was dealt mainly in the
-LC_LEAVE hunk and files.cc reversion, but please have a look at the
-In file included from lines.
-14.2 emits correct line (#include "pr116047-2.h" is indeed on line
-327677) but some random column in there (which is not normally printed
-for smaller headers; 21 is the . before extension in the filename).
-Current trunk emits incorrect line (327678 instead of 327677, clearly
-it didn't decrement).
-And the patched compiler emits the right line with no column, as would
-be printed if I remove e.g. 300000 newlines from the file.
-
-2025-05-08 Jakub Jelinek <jakub@redhat.com>
-
- PR preprocessor/108900
- PR preprocessor/116047
- PR preprocessor/120061
- * files.cc (_cpp_stack_file): Revert 2025-03-28 change.
- * line-map.cc (linemap_add): Use
- SOURCE_LINE (from, linemap_included_from (map - 1)) + 1; instead of
- SOURCE_LINE (from, from[1].start_location); to compute to_line
- for LC_LEAVE if from[1].reason is LC_RENAME. For LC_ENTER
- included_from computation, look at map[-2] or even lower if map[-1]
- has the same start_location as map[0].
-
- * gcc.dg/plugin/plugin.exp: Add location-overflow-test-pr116047.c
- and location-overflow-test-pr120061.c.
- * gcc.dg/plugin/location_overflow_plugin.c (plugin_init): Don't error
- on unknown values, instead just break.
- * gcc.dg/plugin/location-overflow-test-pr116047.c: New test.
- * gcc.dg/plugin/location-overflow-test-pr116047-1.h: New test.
- * gcc.dg/plugin/location-overflow-test-pr116047-2.h: New test.
- * gcc.dg/plugin/location-overflow-test-pr120061.c: New test.
- * gcc.dg/plugin/location-overflow-test-pr120061-1.h: New test.
- * gcc.dg/plugin/location-overflow-test-pr120061-2.h: New test.
-
-Upstream-Status: Backport [https://gcc.gnu.org/cgit/gcc/commit/?id=edf745dc519ddbfef127e2789bf11bfbacd300b7]
-Signed-off-by: Yash Shinde <Yash.Shinde@windriver.com>
----
- .../plugin/location-overflow-test-pr116047-1.h | 6 +++
- .../plugin/location-overflow-test-pr116047-2.h | 1 +
- .../plugin/location-overflow-test-pr116047.c | 5 +++
- .../plugin/location-overflow-test-pr120061-1.h | 6 +++
- .../plugin/location-overflow-test-pr120061-2.h | 1 +
- .../plugin/location-overflow-test-pr120061.c | 6 +++
- .../gcc.dg/plugin/location_overflow_plugin.c | 2 +-
- gcc/testsuite/gcc.dg/plugin/plugin.exp | 4 +-
- libcpp/line-map.cc | 48 ++++++++++++++++++----
- 10 files changed, 69 insertions(+), 18 deletions(-)
- create mode 100644 gcc/testsuite/gcc.dg/plugin/location-overflow-test-pr116047-1.h
- create mode 100644 gcc/testsuite/gcc.dg/plugin/location-overflow-test-pr116047-2.h
- create mode 100644 gcc/testsuite/gcc.dg/plugin/location-overflow-test-pr116047.c
- create mode 100644 gcc/testsuite/gcc.dg/plugin/location-overflow-test-pr120061-1.h
- create mode 100644 gcc/testsuite/gcc.dg/plugin/location-overflow-test-pr120061-2.h
- create mode 100644 gcc/testsuite/gcc.dg/plugin/location-overflow-test-pr120061.c
-
-diff --git a/gcc/testsuite/gcc.dg/plugin/location-overflow-test-pr116047-1.h b/gcc/testsuite/gcc.dg/plugin/location-overflow-test-pr116047-1.h
-new file mode 100644
-index 000000000000..3dd6434a938b
---- /dev/null
-+++ b/gcc/testsuite/gcc.dg/plugin/location-overflow-test-pr116047-1.h
-@@ -0,0 +1,6 @@
-+
-+
-+
-+
-+#include "location-overflow-test-pr116047-2.h"
-+static_assert (__LINE__ == 6, "");
-diff --git a/gcc/testsuite/gcc.dg/plugin/location-overflow-test-pr116047-2.h b/gcc/testsuite/gcc.dg/plugin/location-overflow-test-pr116047-2.h
-new file mode 100644
-index 000000000000..048f715b4656
---- /dev/null
-+++ b/gcc/testsuite/gcc.dg/plugin/location-overflow-test-pr116047-2.h
-@@ -0,0 +1 @@
-+int i;
-diff --git a/gcc/testsuite/gcc.dg/plugin/location-overflow-test-pr116047.c b/gcc/testsuite/gcc.dg/plugin/location-overflow-test-pr116047.c
-new file mode 100644
-index 000000000000..33f2c4ce8def
---- /dev/null
-+++ b/gcc/testsuite/gcc.dg/plugin/location-overflow-test-pr116047.c
-@@ -0,0 +1,5 @@
-+/* PR preprocessor/116047 */
-+/* { dg-do preprocess } */
-+/* { dg-options "-nostdinc -std=c23 -fplugin-arg-location_overflow_plugin-value=0x4fff8080" } */
-+#include "location-overflow-test-pr116047-1.h"
-+/* { dg-final { scan-file location-overflow-test-pr116047.i "static_assert\[^\n\r]\*6\[^\n\r]\*== 6" } } */
-diff --git a/gcc/testsuite/gcc.dg/plugin/location-overflow-test-pr120061-1.h b/gcc/testsuite/gcc.dg/plugin/location-overflow-test-pr120061-1.h
-new file mode 100644
-index 000000000000..ebf7704f568e
---- /dev/null
-+++ b/gcc/testsuite/gcc.dg/plugin/location-overflow-test-pr120061-1.h
-@@ -0,0 +1,6 @@
-+
-+
-+
-+
-+#include "location-overflow-test-pr120061-2.h"
-+
-diff --git a/gcc/testsuite/gcc.dg/plugin/location-overflow-test-pr120061-2.h b/gcc/testsuite/gcc.dg/plugin/location-overflow-test-pr120061-2.h
-new file mode 100644
-index 000000000000..048f715b4656
---- /dev/null
-+++ b/gcc/testsuite/gcc.dg/plugin/location-overflow-test-pr120061-2.h
-@@ -0,0 +1 @@
-+int i;
-diff --git a/gcc/testsuite/gcc.dg/plugin/location-overflow-test-pr120061.c b/gcc/testsuite/gcc.dg/plugin/location-overflow-test-pr120061.c
-new file mode 100644
-index 000000000000..e8e803898da3
---- /dev/null
-+++ b/gcc/testsuite/gcc.dg/plugin/location-overflow-test-pr120061.c
-@@ -0,0 +1,6 @@
-+/* PR preprocessor/120061 */
-+/* { dg-do preprocess } */
-+/* { dg-options "-nostdinc -std=c23 -fplugin-arg-location_overflow_plugin-value=0x61000000" } */
-+#include "location-overflow-test-pr120061-1.h"
-+static_assert (__LINE__ == 5, "");
-+/* { dg-final { scan-file location-overflow-test-pr120061.i "static_assert\[^\n\r]\*5\[^\n\r]\*== 5" } } */
-diff --git a/gcc/testsuite/gcc.dg/plugin/location_overflow_plugin.c b/gcc/testsuite/gcc.dg/plugin/location_overflow_plugin.c
-index d0a6b0755648..6f4497a1cb16 100644
---- a/gcc/testsuite/gcc.dg/plugin/location_overflow_plugin.c
-+++ b/gcc/testsuite/gcc.dg/plugin/location_overflow_plugin.c
-@@ -101,7 +101,7 @@ plugin_init (struct plugin_name_args *plugin_info,
- break;
-
- default:
-- error_at (UNKNOWN_LOCATION, "unrecognized value for plugin argument");
-+ break;
- }
-
- return 0;
-diff --git a/gcc/testsuite/gcc.dg/plugin/plugin.exp b/gcc/testsuite/gcc.dg/plugin/plugin.exp
-index 933f9a5850bc..438c6d87aad9 100644
---- a/gcc/testsuite/gcc.dg/plugin/plugin.exp
-+++ b/gcc/testsuite/gcc.dg/plugin/plugin.exp
-@@ -126,7 +126,9 @@ set plugin_test_list [list \
- { location_overflow_plugin.c \
- location-overflow-test-1.c \
- location-overflow-test-2.c \
-- location-overflow-test-pr83173.c } \
-+ location-overflow-test-pr83173.c \
-+ location-overflow-test-pr116047.c \
-+ location-overflow-test-pr120061.c } \
- { must_tail_call_plugin.c \
- must-tail-call-1.c \
- must-tail-call-2.c } \
-diff --git a/libcpp/line-map.cc b/libcpp/line-map.cc
-index d5200b317eee..1e659638d9f7 100644
---- a/libcpp/line-map.cc
-+++ b/libcpp/line-map.cc
-@@ -618,8 +618,8 @@ linemap_add (line_maps *set, enum lc_reason reason,
- #include "included", inside the same "includer" file. */
-
- linemap_assert (!MAIN_FILE_P (map - 1));
-- /* (MAP - 1) points to the map we are leaving. The
-- map from which (MAP - 1) got included should be the map
-+ /* (MAP - 1) points to the map we are leaving. The
-+ map from which (MAP - 1) got included should be usually the map
- that comes right before MAP in the same file. */
- from = linemap_included_from_linemap (set, map - 1);
-
-@@ -627,7 +627,24 @@ linemap_add (line_maps *set, enum lc_reason reason,
- if (to_file == NULL)
- {
- to_file = ORDINARY_MAP_FILE_NAME (from);
-- to_line = SOURCE_LINE (from, from[1].start_location);
-+ /* Compute the line on which the map resumes, for #include this
-+ should be the line after the #include line. Usually FROM is
-+ the map right before LC_ENTER map - the first map of the included
-+ file, and in that case SOURCE_LINE (from, from[1].start_location);
-+ computes the right line (and does handle even some special cases
-+ (e.g. where for returning from <command line> we still want to
-+ be at line 0 or some -traditional-cpp cases). In rare cases
-+ FROM can be followed by LC_RENAME created by linemap_line_start
-+ for line right after #include line. If that happens,
-+ start_location of the FROM[1] map will be the same as
-+ start_location of FROM[2] LC_ENTER, but FROM[1] start_location
-+ might not have advance enough for moving to a full next line.
-+ In that case compute the line of #include line and add 1 to it
-+ to advance to the next line. See PR120061. */
-+ if (from[1].reason == LC_RENAME)
-+ to_line = SOURCE_LINE (from, linemap_included_from (map - 1)) + 1;
-+ else
-+ to_line = SOURCE_LINE (from, from[1].start_location);
- sysp = ORDINARY_MAP_IN_SYSTEM_HEADER_P (from);
- }
- else
-@@ -657,11 +674,26 @@ linemap_add (line_maps *set, enum lc_reason reason,
- if (set->depth == 0)
- map->included_from = 0;
- else
-- /* The location of the end of the just-closed map. */
-- map->included_from
-- = (((map[0].start_location - 1 - map[-1].start_location)
-- & ~((1 << map[-1].m_column_and_range_bits) - 1))
-- + map[-1].start_location);
-+ {
-+ /* Compute location from whence this line map was included.
-+ For #include this should be preferrably column 0 of the
-+ line on which #include directive appears.
-+ map[-1] is the just closed map and usually included_from
-+ falls within that map. In rare cases linemap_line_start
-+ can insert a new LC_RENAME map for the line immediately
-+ after #include line, in that case map[-1] will have the
-+ same start_location as the new one and so included_from
-+ would not be from map[-1] but likely map[-2]. If that
-+ happens, mask off map[-2] m_column_and_range_bits bits
-+ instead of map[-1]. See PR120061. */
-+ int i = -1;
-+ while (map[i].start_location == map[0].start_location)
-+ --i;
-+ map->included_from
-+ = (((map[0].start_location - 1 - map[i].start_location)
-+ & ~((1 << map[i].m_column_and_range_bits) - 1))
-+ + map[i].start_location);
-+ }
- set->depth++;
- if (set->trace_includes)
- trace_include (set, map);
---
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 @@
-From ab884fffe3fc82a710bea66ad651720d71c938b8 Mon Sep 17 00:00:00 2001
-From: Jonathan Wakely <jwakely@redhat.com>
-Date: Tue, 30 Apr 2024 09:52:13 +0100
-Subject: [PATCH] libstdc++: Fix std::chrono::tzdb to work with vanguard format
-
-I found some issues in the std::chrono::tzdb parser by testing the
-tzdata "vanguard" format, which uses new features that aren't enabled in
-the "main" and "rearguard" data formats.
-
-Since 2024a the keyword "minimum" is no longer valid for the FROM and TO
-fields in a Rule line, which means that "m" is now a valid abbreviation
-for "maximum". Previously we expected either "mi" or "ma". For backwards
-compatibility, a FROM field beginning with "mi" is still supported and
-is treated as 1900. The "maximum" keyword is only allowed in TO now,
-because it makes no sense in FROM. To support these changes the
-minmax_year and minmax_year2 classes for parsing FROM and TO are
-replaced with a single years_from_to class that reads both fields.
-
-The vanguard format makes use of %z in Zone FORMAT fields, which caused
-an exception to be thrown from ZoneInfo::set_abbrev because no % or /
-characters were expected when a Zone doesn't use a named Rule. The
-ZoneInfo::to(sys_info&) function now uses format_abbrev_str to replace
-any %z with the current offset. Although format_abbrev_str also checks
-for %s and STD/DST formats, those only make sense when a named Rule is
-in effect, so won't occur when ZoneInfo::to(sys_info&) is used.
-
-Since making this change on trunk, the tzdata-2024b release started
-using %z in the main format, not just vanguard. This makes a backport to
-release branches necessary (see PR 116657).
-
-This change also implements a feature that has always been missing from
-time_zone::_M_get_sys_info: finding the Rule that is active before the
-specified time point, so that we can correctly handle %s in the FORMAT
-for the first new sys_info that gets created. This requires implementing
-a poorly documented feature of zic, to get the LETTERS field from a
-later transition, as described at
-https://mm.icann.org/pipermail/tz/2024-April/058891.html
-In order for this to work we need to be able to distinguish an empty
-letters field (as used by CE%sT where the variable part is either empty
-or "S") from "the letters field is not known for this transition". The
-tzdata file uses "-" for an empty letters field, which libstdc++ was
-previously replacing with "" when the Rule was parsed. Instead, we now
-preserve the "-" in the Rule object, so that "" can be used for the case
-where we don't know the letters (and so need to decide it).
-
-(cherry picked from commit 0ca8d56f2085715f27ee536c6c344bc47af49cdd)
-
-Upstream-Status: Backport [https://gcc.gnu.org/git/gitweb.cgi?p=gcc.git;h=5ceea2ac106d6dd1aa8175670b15a801316cf1c9]
-
-Signed-off-by: Markus Volk <f_l_k@t-online.de>
----
- libstdc++-v3/src/c++20/tzdb.cc | 265 +++++++++++-------
- .../std/time/time_zone/sys_info_abbrev.cc | 106 +++++++
- libstdc++-v3/testsuite/std/time/tzdb/1.cc | 6 +-
- 3 files changed, 274 insertions(+), 103 deletions(-)
- create mode 100644 libstdc++-v3/testsuite/std/time/time_zone/sys_info_abbrev.cc
-
-diff --git a/libstdc++-v3/src/c++20/tzdb.cc b/libstdc++-v3/src/c++20/tzdb.cc
-index c7c7cc9deee6..7e8cce7ce8cf 100644
---- a/libstdc++-v3/src/c++20/tzdb.cc
-+++ b/libstdc++-v3/src/c++20/tzdb.cc
-@@ -342,51 +342,103 @@ namespace std::chrono
- friend istream& operator>>(istream&, on_day&);
- };
-
-- // Wrapper for chrono::year that reads a year, or one of the keywords
-- // "minimum" or "maximum", or an unambiguous prefix of a keyword.
-- struct minmax_year
-+ // Wrapper for two chrono::year values, which reads the FROM and TO
-+ // fields of a Rule line. The FROM field is a year and TO is a year or
-+ // one of the keywords "maximum" or "only" (or an abbreviation of those).
-+ // For backwards compatibility, the keyword "minimum" is recognized
-+ // for FROM and interpreted as 1900.
-+ struct years_from_to
- {
-- year& y;
-+ year& from;
-+ year& to;
-
-- friend istream& operator>>(istream& in, minmax_year&& y)
-+ friend istream& operator>>(istream& in, years_from_to&& yy)
- {
-- if (ws(in).peek() == 'm') // keywords "minimum" or "maximum"
-+ string s;
-+ auto c = ws(in).peek();
-+ if (c == 'm') [[unlikely]] // keyword "minimum"
- {
-- string s;
-- in >> s; // extract the rest of the word, but only look at s[1]
-- if (s[1] == 'a')
-- y.y = year::max();
-- else if (s[1] == 'i')
-- y.y = year::min();
-- else
-- in.setstate(ios::failbit);
-+ in >> s; // extract the rest of the word
-+ yy.from = year(1900);
-+ }
-+ else if (int num = 0; in >> num) [[likely]]
-+ yy.from = year{num};
-+
-+ c = ws(in).peek();
-+ if (c == 'm') // keyword "maximum"
-+ {
-+ in >> s; // extract the rest of the word
-+ yy.to = year::max();
-+ }
-+ else if (c == 'o') // keyword "only"
-+ {
-+ in >> s; // extract the rest of the word
-+ yy.to = yy.from;
- }
- else if (int num = 0; in >> num)
-- y.y = year{num};
-+ yy.to = year{num};
-+
- return in;
- }
- };
-
-- // As above for minmax_year, but also supports the keyword "only",
-- // meaning that the TO year is the same as the FROM year.
-- struct minmax_year2
-+ bool
-+ select_std_or_dst_abbrev(string& abbrev, minutes save)
- {
-- minmax_year to;
-- year from;
-+ if (size_t pos = abbrev.find('/'); pos != string::npos)
-+ {
-+ // Select one of "STD/DST" for standard or daylight.
-+ if (save == 0min)
-+ abbrev.erase(pos);
-+ else
-+ abbrev.erase(0, pos + 1);
-+ return true;
-+ }
-+ return false;
-+ }
-
-- friend istream& operator>>(istream& in, minmax_year2&& y)
-- {
-- if (ws(in).peek() == 'o') // keyword "only"
-- {
-- string s;
-- in >> s; // extract the whole keyword
-- y.to.y = y.from;
-- }
-- else
-- in >> std::move(y.to);
-- return in;
-- }
-- };
-+ // Set the sys_info::abbrev string by expanding any placeholders.
-+ void
-+ format_abbrev_str(sys_info& info, string_view letters = {})
-+ {
-+ if (size_t pos = info.abbrev.find('%'); pos != string::npos)
-+ {
-+ if (info.abbrev[pos + 1] == 's')
-+ {
-+ // Expand "%s" to the variable part, given by Rule::letters.
-+ if (letters == "-")
-+ info.abbrev.erase(pos, 2);
-+ else
-+ info.abbrev.replace(pos, 2, letters);
-+ }
-+ else if (info.abbrev[pos + 1] == 'z')
-+ {
-+ // Expand "%z" to the UT offset as +/-hh, +/-hhmm, or +/-hhmmss.
-+ hh_mm_ss<seconds> t(info.offset);
-+ string z(1, "+-"[t.is_negative()]);
-+ long val = t.hours().count();
-+ int digits = 2;
-+ if (int m = t.minutes().count())
-+ {
-+ digits = 4;
-+ val *= 100;
-+ val += m;
-+ if (int s = t.seconds().count())
-+ {
-+ digits = 6;
-+ val *= 100;
-+ val += s;
-+ }
-+ }
-+ auto sval = std::to_string(val);
-+ z += string(digits - sval.size(), '0');
-+ z += sval;
-+ info.abbrev.replace(pos, 2, z);
-+ }
-+ }
-+ else
-+ select_std_or_dst_abbrev(info.abbrev, info.save);
-+ }
-
- // A time zone information record.
- // Zone NAME STDOFF RULES FORMAT [UNTIL]
-@@ -462,6 +514,7 @@ namespace std::chrono
- info.offset = offset();
- info.save = minutes(m_save);
- info.abbrev = format();
-+ format_abbrev_str(info); // expand %z
- return true;
- }
-
-@@ -469,12 +522,9 @@ namespace std::chrono
- friend class time_zone;
-
- void
-- set_abbrev(const string& abbrev)
-+ set_abbrev(string abbrev)
- {
-- // In practice, the FORMAT field never needs expanding here.
-- if (abbrev.find_first_of("/%") != abbrev.npos)
-- __throw_runtime_error("std::chrono::time_zone: invalid data");
-- m_buf = abbrev;
-+ m_buf = std::move(abbrev);
- m_pos = 0;
- m_expanded = true;
- }
-@@ -544,9 +594,7 @@ namespace std::chrono
-
- // Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S
-
-- in >> quoted(rule.name)
-- >> minmax_year{rule.from}
-- >> minmax_year2{rule.to, rule.from};
-+ in >> quoted(rule.name) >> years_from_to{rule.from, rule.to};
-
- if (char type; in >> type && type != '-')
- in.setstate(ios::failbit);
-@@ -557,7 +605,7 @@ namespace std::chrono
- if (save_time.indicator != at_time::Wall)
- {
- // We don't actually store the save_time.indicator, because we
-- // assume that it's always deducable from the actual offset value.
-+ // assume that it's always deducible from the offset value.
- auto expected = save_time.time == 0s
- ? at_time::Standard
- : at_time::Daylight;
-@@ -567,8 +615,6 @@ namespace std::chrono
- rule.save = save_time.time;
-
- in >> rule.letters;
-- if (rule.letters == "-")
-- rule.letters.clear();
- return in;
- }
-
-@@ -719,58 +765,6 @@ namespace std::chrono
- #endif // TZDB_DISABLED
- };
-
--#ifndef TZDB_DISABLED
-- namespace
-- {
-- bool
-- select_std_or_dst_abbrev(string& abbrev, minutes save)
-- {
-- if (size_t pos = abbrev.find('/'); pos != string::npos)
-- {
-- // Select one of "STD/DST" for standard or daylight.
-- if (save == 0min)
-- abbrev.erase(pos);
-- else
-- abbrev.erase(0, pos + 1);
-- return true;
-- }
-- return false;
-- }
--
-- // Set the sys_info::abbrev string by expanding any placeholders.
-- void
-- format_abbrev_str(sys_info& info, string_view letters = {})
-- {
-- if (size_t pos = info.abbrev.find("%s"); pos != string::npos)
-- {
-- // Expand "%s" to the variable part, given by Rule::letters.
-- info.abbrev.replace(pos, 2, letters);
-- }
-- else if (size_t pos = info.abbrev.find("%z"); pos != string::npos)
-- {
-- // Expand "%z" to the UT offset as +/-hh, +/-hhmm, or +/-hhmmss.
-- hh_mm_ss<seconds> t(info.offset);
-- string z(1, "+-"[t.is_negative()]);
-- long val = t.hours().count();
-- if (minutes m = t.minutes(); m != m.zero())
-- {
-- val *= 100;
-- val += m.count();
-- if (seconds s = t.seconds(); s != s.zero())
-- {
-- val *= 100;
-- val += s.count();
-- }
-- }
-- z += std::to_string(val);
-- info.abbrev.replace(pos, 2, z);
-- }
-- else
-- select_std_or_dst_abbrev(info.abbrev, info.save);
-- }
-- }
--#endif // TZDB_DISABLED
--
- // Implementation of std::chrono::time_zone::get_info(const sys_time<D>&)
- sys_info
- time_zone::_M_get_sys_info(sys_seconds tp) const
-@@ -839,12 +833,72 @@ namespace std::chrono
- info.abbrev = ri.format();
-
- string_view letters;
-- if (i != infos.begin())
-+ if (i != infos.begin() && i[-1].expanded())
-+ letters = i[-1].next_letters();
-+
-+ if (letters.empty())
- {
-- if (i[-1].expanded())
-- letters = i[-1].next_letters();
-- // XXX else need to find Rule active before this time and use it
-- // to know the initial offset, save, and letters.
-+ sys_seconds t = info.begin - seconds(1);
-+ const year_month_day date(chrono::floor<days>(t));
-+
-+ // Try to find a Rule active before this time, to get initial
-+ // SAVE and LETTERS values. There may not be a Rule for the period
-+ // before the first DST transition, so find the earliest DST->STD
-+ // transition and use the LETTERS from that.
-+ const Rule* active_rule = nullptr;
-+ sys_seconds active_rule_start = sys_seconds::min();
-+ const Rule* first_std = nullptr;
-+ for (const auto& rule : rules)
-+ {
-+ if (rule.save == minutes(0))
-+ {
-+ if (!first_std)
-+ first_std = &rule;
-+ else if (rule.from < first_std->from)
-+ first_std = &rule;
-+ else if (rule.from == first_std->from)
-+ {
-+ if (rule.start_time(rule.from, {})
-+ < first_std->start_time(first_std->from, {}))
-+ first_std = &rule;
-+ }
-+ }
-+
-+ year y = date.year();
-+
-+ if (y > rule.to) // rule no longer applies at time t
-+ continue;
-+ if (y < rule.from) // rule doesn't apply yet at time t
-+ continue;
-+
-+ sys_seconds rule_start;
-+
-+ seconds offset{}; // appropriate for at_time::Universal
-+ if (rule.when.indicator == at_time::Wall)
-+ offset = info.offset;
-+ else if (rule.when.indicator == at_time::Standard)
-+ offset = ri.offset();
-+
-+ // Time the rule takes effect this year:
-+ rule_start = rule.start_time(y, offset);
-+
-+ if (rule_start >= t && rule.from < y)
-+ {
-+ // Try this rule in the previous year.
-+ rule_start = rule.start_time(--y, offset);
-+ }
-+
-+ if (active_rule_start < rule_start && rule_start < t)
-+ {
-+ active_rule_start = rule_start;
-+ active_rule = &rule;
-+ }
-+ }
-+
-+ if (active_rule)
-+ letters = active_rule->letters;
-+ else if (first_std)
-+ letters = first_std->letters;
- }
-
- const Rule* curr_rule = nullptr;
-@@ -2069,9 +2123,11 @@ namespace std::chrono
- istringstream in2(std::move(rules));
- in2 >> rules_time;
- inf.m_save = duration_cast<minutes>(rules_time.time);
-+ // If the FORMAT is "STD/DST" then we can choose the right one
-+ // now, so that we store a shorter string.
- select_std_or_dst_abbrev(fmt, inf.m_save);
- }
-- inf.set_abbrev(fmt);
-+ inf.set_abbrev(std::move(fmt));
- }
-
- // YEAR [MONTH [DAY [TIME]]]
-@@ -2082,7 +2138,12 @@ namespace std::chrono
- abbrev_month m{January};
- int d = 1;
- at_time t{};
-+ // XXX DAY should support ON format, e.g. lastSun or Sun>=8
- in >> m >> d >> t;
-+ // XXX UNTIL field should be interpreted
-+ // "using the rules in effect just before the transition"
-+ // so might need to store as year_month_day and hh_mm_ss and only
-+ // convert to a sys_time once we know the offset in effect.
- inf.m_until = sys_days(year(y)/m.m/day(d)) + seconds(t.time);
- }
- else
-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
-new file mode 100644
-index 000000000000..f1a8fff02f58
---- /dev/null
-+++ b/libstdc++-v3/testsuite/std/time/time_zone/sys_info_abbrev.cc
-@@ -0,0 +1,106 @@
-+// { dg-do run { target c++20 } }
-+// { dg-require-effective-target tzdb }
-+// { dg-require-effective-target cxx11_abi }
-+// { dg-xfail-run-if "no weak override on AIX" { powerpc-ibm-aix* } }
-+
-+#include <chrono>
-+#include <fstream>
-+#include <testsuite_hooks.h>
-+
-+static bool override_used = false;
-+
-+namespace __gnu_cxx
-+{
-+ const char* zoneinfo_dir_override() {
-+ override_used = true;
-+ return "./";
-+ }
-+}
-+
-+using namespace std::chrono;
-+
-+void
-+test_format()
-+{
-+ std::ofstream("tzdata.zi") << R"(# version test_1
-+Zone Africa/Bissau -1:2:20 - LMT 1912 Ja 1 1u
-+ -1 - %z 1975
-+ 0 - GMT
-+Zon Some/Zone 1:2:3 - %z 1900
-+ 1:23:45 - %z 1950
-+Zo Another/Zone 1:2:3 - AZ0 1901
-+ 1 Roolz A%sZ 2000
-+ 1 Roolz SAZ/DAZ 2005
-+ 1 Roolz %z
-+Rule Roolz 1950 max - April 1 2 1 D
-+Rul Roolz 1950 max - Oct 1 1 0 S
-+Z Strange/Zone 1 - X%sX 1980
-+ 1 - FOO/BAR 1990
-+ 2:00 - %zzz 1995
-+ 0:9 - %zzz 1996
-+ 0:8:7 - %zzz 1997
-+ 0:6:5.5 - %zzz 1998
-+)";
-+
-+ const auto& db = reload_tzdb();
-+ VERIFY( override_used ); // If this fails then XFAIL for the target.
-+ VERIFY( db.version == "test_1" );
-+
-+ // Test formatting %z as
-+ auto tz = locate_zone("Africa/Bissau");
-+ auto inf = tz->get_info(sys_days(1974y/1/1));
-+ VERIFY( inf.abbrev == "-01" );
-+
-+ tz = locate_zone("Some/Zone");
-+ inf = tz->get_info(sys_days(1899y/1/1));
-+ VERIFY( inf.abbrev == "+010203" );
-+ inf = tz->get_info(sys_days(1955y/1/1));
-+ VERIFY( inf.abbrev == "+012345" );
-+
-+ tz = locate_zone("Another/Zone");
-+ // Test formatting %s as the LETTER/S field from the active Rule.
-+ inf = tz->get_info(sys_days(1910y/January/1));
-+ VERIFY( inf.abbrev == "ASZ" );
-+ inf = tz->get_info(sys_days(1950y/January/1));
-+ VERIFY( inf.abbrev == "ASZ" );
-+ inf = tz->get_info(sys_days(1950y/June/1));
-+ VERIFY( inf.abbrev == "ADZ" );
-+ inf = tz->get_info(sys_days(1999y/January/1));
-+ VERIFY( inf.abbrev == "ASZ" );
-+ inf = tz->get_info(sys_days(1999y/July/1));
-+ VERIFY( inf.abbrev == "ADZ" );
-+ // Test formatting STD/DST according to the active Rule.
-+ inf = tz->get_info(sys_days(2000y/January/2));
-+ VERIFY( inf.abbrev == "SAZ" );
-+ inf = tz->get_info(sys_days(2001y/January/1));
-+ VERIFY( inf.abbrev == "SAZ" );
-+ inf = tz->get_info(sys_days(2001y/July/1));
-+ VERIFY( inf.abbrev == "DAZ" );
-+ // Test formatting %z as the offset determined by the active Rule.
-+ inf = tz->get_info(sys_days(2005y/January/2));
-+ VERIFY( inf.abbrev == "+01" );
-+ inf = tz->get_info(sys_days(2006y/January/1));
-+ VERIFY( inf.abbrev == "+01" );
-+ inf = tz->get_info(sys_days(2006y/July/1));
-+ VERIFY( inf.abbrev == "+02" );
-+
-+ // Test formatting %z, %s and S/D for a Zone with no associated Rules.
-+ tz = locate_zone("Strange/Zone");
-+ inf = tz->get_info(sys_days(1979y/January/1));
-+ VERIFY( inf.abbrev == "XX" ); // No Rule means nothing to use for %s.
-+ inf = tz->get_info(sys_days(1981y/July/1));
-+ VERIFY( inf.abbrev == "FOO" ); // Always standard time means first string.
-+ inf = tz->get_info(sys_days(1994y/July/1));
-+ VERIFY( inf.abbrev == "+02zz" );
-+ inf = tz->get_info(sys_days(1995y/July/1));
-+ VERIFY( inf.abbrev == "+0009zz" );
-+ inf = tz->get_info(sys_days(1996y/July/1));
-+ VERIFY( inf.abbrev == "+000807zz" );
-+ inf = tz->get_info(sys_days(1997y/July/1));
-+ VERIFY( inf.abbrev == "+000606zz" );
-+}
-+
-+int main()
-+{
-+ test_format();
-+}
-diff --git a/libstdc++-v3/testsuite/std/time/tzdb/1.cc b/libstdc++-v3/testsuite/std/time/tzdb/1.cc
-index 796f3a8b4256..7a31c1c20ba7 100644
---- a/libstdc++-v3/testsuite/std/time/tzdb/1.cc
-+++ b/libstdc++-v3/testsuite/std/time/tzdb/1.cc
-@@ -39,11 +39,15 @@ test_locate()
- const tzdb& db = get_tzdb();
- const time_zone* tz = db.locate_zone("GMT");
- VERIFY( tz != nullptr );
-- VERIFY( tz->name() == "Etc/GMT" );
- VERIFY( tz == std::chrono::locate_zone("GMT") );
- VERIFY( tz == db.locate_zone("Etc/GMT") );
- VERIFY( tz == db.locate_zone("Etc/GMT+0") );
-
-+ // Since 2022f GMT is now a Zone and Etc/GMT a link instead of vice versa,
-+ // but only when using the vanguard format. As of 2024a, the main and
-+ // rearguard formats still have Etc/GMT as a Zone and GMT as a link.
-+ VERIFY( tz->name() == "GMT" || tz->name() == "Etc/GMT" );
-+
- VERIFY( db.locate_zone(db.current_zone()->name()) == db.current_zone() );
- }
-
---
-2.43.5
-
diff --git a/meta/recipes-devtools/gcc/gcc_14.2.bb b/meta/recipes-devtools/gcc/gcc_14.3.bb
similarity index 100%
rename from meta/recipes-devtools/gcc/gcc_14.2.bb
rename to meta/recipes-devtools/gcc/gcc_14.3.bb
diff --git a/meta/recipes-devtools/gcc/libgcc-initial_14.2.bb b/meta/recipes-devtools/gcc/libgcc-initial_14.3.bb
similarity index 100%
rename from meta/recipes-devtools/gcc/libgcc-initial_14.2.bb
rename to meta/recipes-devtools/gcc/libgcc-initial_14.3.bb
diff --git a/meta/recipes-devtools/gcc/libgcc_14.2.bb b/meta/recipes-devtools/gcc/libgcc_14.3.bb
similarity index 100%
rename from meta/recipes-devtools/gcc/libgcc_14.2.bb
rename to meta/recipes-devtools/gcc/libgcc_14.3.bb
diff --git a/meta/recipes-devtools/gcc/libgfortran_14.2.bb b/meta/recipes-devtools/gcc/libgfortran_14.3.bb
similarity index 100%
rename from meta/recipes-devtools/gcc/libgfortran_14.2.bb
rename to meta/recipes-devtools/gcc/libgfortran_14.3.bb
--
2.43.0
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [OE-core][walnascar 05/12] kea: upgrade 2.6.1 -> 2.6.3
2025-06-17 15:59 [OE-core][walnascar 00/12] Patch review Steve Sakoman
` (3 preceding siblings ...)
2025-06-17 15:59 ` [OE-core][walnascar 04/12] gcc: Upgrade to GCC 14.3 Steve Sakoman
@ 2025-06-17 15:59 ` Steve Sakoman
2025-06-17 15:59 ` [OE-core][walnascar 06/12] python3-requests: upgrade 2.32.3 -> 2.32.4 Steve Sakoman
` (6 subsequent siblings)
11 siblings, 0 replies; 16+ messages in thread
From: Steve Sakoman @ 2025-06-17 15:59 UTC (permalink / raw)
To: openembedded-core
From: Yi Zhao <yi.zhao@windriver.com>
ReleaseNotes:
https://downloads.isc.org/isc/kea/2.6.2/Kea-2.6.2-ReleaseNotes.txt
https://downloads.isc.org/isc/kea/2.6.3/Kea-2.6.3-ReleaseNotes.txt
Security fixes:
CVE-2025-32801
CVE-2025-32802
CVE-2025-32803
License-Update: Update copyright years
* Drop backport patches.
Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
---
.../0001-Avoid-assert-on-empty-packet.patch | 148 --------------
...me-NameString-with-vector-of-uint8_t.patch | 90 ---------
.../0001-Update-asiolink-for-boost-1.87.patch | 190 ------------------
...po-in-Name-Name-append-to-ndata_-not.patch | 36 ----
.../kea/{kea_2.6.1.bb => kea_2.6.3.bb} | 8 +-
5 files changed, 2 insertions(+), 470 deletions(-)
delete mode 100644 meta/recipes-connectivity/kea/files/0001-Avoid-assert-on-empty-packet.patch
delete mode 100644 meta/recipes-connectivity/kea/files/0001-Replace-Name-NameString-with-vector-of-uint8_t.patch
delete mode 100644 meta/recipes-connectivity/kea/files/0001-Update-asiolink-for-boost-1.87.patch
delete mode 100644 meta/recipes-connectivity/kea/files/0002-Fix-unittests-Typo-in-Name-Name-append-to-ndata_-not.patch
rename meta/recipes-connectivity/kea/{kea_2.6.1.bb => kea_2.6.3.bb} (87%)
diff --git a/meta/recipes-connectivity/kea/files/0001-Avoid-assert-on-empty-packet.patch b/meta/recipes-connectivity/kea/files/0001-Avoid-assert-on-empty-packet.patch
deleted file mode 100644
index 14f3424570..0000000000
--- a/meta/recipes-connectivity/kea/files/0001-Avoid-assert-on-empty-packet.patch
+++ /dev/null
@@ -1,148 +0,0 @@
-From 9cf3b6e8d705957927c2fbc9928318f4eda265c8 Mon Sep 17 00:00:00 2001
-From: Thomas Markwalder <tmark@isc.org>
-Date: Tue, 11 Feb 2025 18:52:41 +0000
-Subject: [PATCH 1/2] Avoid assert on empty packet
-
-/src/lib/dhcp/pkt_filter_lpf.cc
- PktFilterLPF::receive() - throw if packet has no data
-
-/src/lib/util/buffer.h
- InputBuffer::readVecotr() - avoid peek if read request length is 0
-
-/src/lib/util/tests/buffer_unittest.cc
- Updated test
-
-Upstream-Status: Backport
-[https://gitlab.isc.org/isc-projects/kea/-/commit/0b98eae16d9b6ecdf57005624712b9b26fa05bc0]
-[https://gitlab.isc.org/isc-projects/kea/-/commit/16306026e37b32a2ce4b16fb5b78561ae153d570]
-
-Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
----
- src/lib/dhcp/pkt_filter_lpf.cc | 10 +++++++---
- src/lib/util/buffer.h | 9 ++++++---
- src/lib/util/tests/buffer_unittest.cc | 8 +++++++-
- 3 files changed, 20 insertions(+), 7 deletions(-)
-
-diff --git a/src/lib/dhcp/pkt_filter_lpf.cc b/src/lib/dhcp/pkt_filter_lpf.cc
-index 69bdecc0e1..b0c8f108d3 100644
---- a/src/lib/dhcp/pkt_filter_lpf.cc
-+++ b/src/lib/dhcp/pkt_filter_lpf.cc
-@@ -318,9 +318,14 @@ PktFilterLPF::receive(Iface& iface, const SocketInfo& socket_info) {
- decodeEthernetHeader(buf, dummy_pkt);
- decodeIpUdpHeader(buf, dummy_pkt);
-
-+ auto v4_len = buf.getLength() - buf.getPosition();
-+ if (v4_len <= 0) {
-+ isc_throw(SocketReadError, "Pkt4FilterLpf:: packet has no DHCPv4 data");
-+ }
-+
- // Read the DHCP data.
- std::vector<uint8_t> dhcp_buf;
-- buf.readVector(dhcp_buf, buf.getLength() - buf.getPosition());
-+ buf.readVector(dhcp_buf, v4_len);
-
- // Decode DHCP data into the Pkt4 object.
- Pkt4Ptr pkt = Pkt4Ptr(new Pkt4(&dhcp_buf[0], dhcp_buf.size()));
-@@ -344,8 +349,7 @@ PktFilterLPF::receive(Iface& iface, const SocketInfo& socket_info) {
-
- struct timeval cmsg_time;
- memcpy(&cmsg_time, CMSG_DATA(cmsg), sizeof(cmsg_time));
-- pkt->addPktEvent(PktEvent::SOCKET_RECEIVED, cmsg_time);
-- break;
-+ pkt->addPktEvent(PktEvent::SOCKET_RECEIVED, cmsg_time); break;
- }
-
- cmsg = CMSG_NXTHDR(&m, cmsg);
-diff --git a/src/lib/util/buffer.h b/src/lib/util/buffer.h
-index 41ecdf3375..c426a14495 100644
---- a/src/lib/util/buffer.h
-+++ b/src/lib/util/buffer.h
-@@ -1,4 +1,4 @@
--// Copyright (C) 2009-2024 Internet Systems Consortium, Inc. ("ISC")
-+// Copyright (C) 2009-2025 Internet Systems Consortium, Inc. ("ISC")
- //
- // This Source Code Form is subject to the terms of the Mozilla Public
- // License, v. 2.0. If a copy of the MPL was not distributed with this
-@@ -233,7 +233,8 @@ public:
- /// @details If specified buffer is too short, it will be expanded using
- /// vector::resize() method. If the remaining length of the buffer
- /// is smaller than the specified length, an exception of class
-- /// @c isc::OutOfRange will be thrown.
-+ /// @c isc::OutOfRange will be thrown. Read length zero results
-+ /// in an empty vector.
- ///
- /// @param data Reference to a buffer (data will be stored there).
- /// @param len Size specified number of bytes to read in a vector.
-@@ -244,7 +245,9 @@ public:
- }
-
- data.resize(len);
-- peekData(&data[0], len);
-+ if (len) {
-+ peekData(&data[0], len);
-+ }
- }
-
- /// @brief Read specified number of bytes as a vector.
-diff --git a/src/lib/util/tests/buffer_unittest.cc b/src/lib/util/tests/buffer_unittest.cc
-index 66c43e8f21..bae051dd16 100644
---- a/src/lib/util/tests/buffer_unittest.cc
-+++ b/src/lib/util/tests/buffer_unittest.cc
-@@ -1,4 +1,4 @@
--// Copyright (C) 2009-2024 Internet Systems Consortium, Inc. ("ISC")
-+// Copyright (C) 2009-2025 Internet Systems Consortium, Inc. ("ISC")
- //
- // This Source Code Form is subject to the terms of the Mozilla Public
- // License, v. 2.0. If a copy of the MPL was not distributed with this
-@@ -197,6 +197,12 @@ TEST_F(BufferTest, inputBufferRead) {
- ASSERT_EQ(sizeof(vdata), datav.size());
- ASSERT_EQ(0, memcmp(&vdata[0], testdata, sizeof(testdata)));
- ASSERT_EQ(sizeof(vdata), ibuffer.getPosition());
-+
-+ // Verify that read len of zero results in an empty
-+ // vector without throwing.
-+ datav.resize(8);
-+ ASSERT_NO_THROW(ibuffer.readVector(datav, 0));
-+ ASSERT_EQ(datav.size(), 0);
- }
-
- TEST_F(BufferTest, outputBufferReadAt) {
---
-2.25.1
-
-From 614a6c136fc20ee428b1c880889ef61253657499 Mon Sep 17 00:00:00 2001
-From: Thomas Markwalder <tmark@isc.org>
-Date: Tue, 18 Feb 2025 15:03:12 +0000
-Subject: [PATCH 2/2] Addressed review comments
-
-Couple of typos fixed.
----
- src/lib/dhcp/pkt_filter_lpf.cc | 5 +++--
- 1 file changed, 3 insertions(+), 2 deletions(-)
-
-diff --git a/src/lib/dhcp/pkt_filter_lpf.cc b/src/lib/dhcp/pkt_filter_lpf.cc
-index b0c8f108d3..3642915cc1 100644
---- a/src/lib/dhcp/pkt_filter_lpf.cc
-+++ b/src/lib/dhcp/pkt_filter_lpf.cc
-@@ -320,7 +320,7 @@ PktFilterLPF::receive(Iface& iface, const SocketInfo& socket_info) {
-
- auto v4_len = buf.getLength() - buf.getPosition();
- if (v4_len <= 0) {
-- isc_throw(SocketReadError, "Pkt4FilterLpf:: packet has no DHCPv4 data");
-+ isc_throw(SocketReadError, "Pkt4FilterLpf packet has no DHCPv4 data");
- }
-
- // Read the DHCP data.
-@@ -349,7 +349,8 @@ PktFilterLPF::receive(Iface& iface, const SocketInfo& socket_info) {
-
- struct timeval cmsg_time;
- memcpy(&cmsg_time, CMSG_DATA(cmsg), sizeof(cmsg_time));
-- pkt->addPktEvent(PktEvent::SOCKET_RECEIVED, cmsg_time); break;
-+ pkt->addPktEvent(PktEvent::SOCKET_RECEIVED, cmsg_time);
-+ break;
- }
-
- cmsg = CMSG_NXTHDR(&m, cmsg);
---
-2.25.1
-
diff --git a/meta/recipes-connectivity/kea/files/0001-Replace-Name-NameString-with-vector-of-uint8_t.patch b/meta/recipes-connectivity/kea/files/0001-Replace-Name-NameString-with-vector-of-uint8_t.patch
deleted file mode 100644
index a7deeca243..0000000000
--- a/meta/recipes-connectivity/kea/files/0001-Replace-Name-NameString-with-vector-of-uint8_t.patch
+++ /dev/null
@@ -1,90 +0,0 @@
-From 6b9fb56e3573aa65923df9a08201dd5321a1b1f1 Mon Sep 17 00:00:00 2001
-From: Dimitry Andric <dimitry@andric.com>
-Date: Sat, 3 Aug 2024 14:37:52 +0200
-Subject: [PATCH 1/2] Replace Name::NameString with vector of uint8_t
-
-As noted in the libc++ 19 release notes, it now only provides
-std::char_traits<> for types char, char8_t, char16_t, char32_t and
-wchar_t, and any instantiation for other types will fail.
-
-Name::NameString is defined as a std::basic_string<uint8_t>, so that
-will no longer work. Redefine it as a std::vector<uint8_t> instead.
-
-Upstream-Status: Submitted [https://gitlab.isc.org/isc-projects/kea/-/merge_requests/2410]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/lib/dns/name.cc | 12 ++++++------
- src/lib/dns/name.h | 2 +-
- 2 files changed, 7 insertions(+), 7 deletions(-)
-
-diff --git a/src/lib/dns/name.cc b/src/lib/dns/name.cc
-index ac48205..085229b 100644
---- a/src/lib/dns/name.cc
-+++ b/src/lib/dns/name.cc
-@@ -303,7 +303,7 @@ Name::Name(const std::string &namestring, bool downcase) {
- // And get the output
- labelcount_ = offsets.size();
- isc_throw_assert(labelcount_ > 0 && labelcount_ <= Name::MAX_LABELS);
-- ndata_.assign(ndata.data(), ndata.size());
-+ ndata_.assign(ndata.data(), ndata.data() + ndata.size());
- length_ = ndata_.size();
- offsets_.assign(offsets.begin(), offsets.end());
- }
-@@ -336,7 +336,7 @@ Name::Name(const char* namedata, size_t data_len, const Name* origin,
- // Get the output
- labelcount_ = offsets.size();
- isc_throw_assert(labelcount_ > 0 && labelcount_ <= Name::MAX_LABELS);
-- ndata_.assign(ndata.data(), ndata.size());
-+ ndata_.assign(ndata.data(), ndata.data() + ndata.size());
- length_ = ndata_.size();
- offsets_.assign(offsets.begin(), offsets.end());
-
-@@ -347,7 +347,7 @@ Name::Name(const char* namedata, size_t data_len, const Name* origin,
- // Drop the last character of the data (the \0) and append a copy of
- // the origin's data
- ndata_.erase(ndata_.end() - 1);
-- ndata_.append(origin->ndata_);
-+ ndata_.insert(ndata.end(), origin->ndata_.begin(), origin->ndata_.end());
-
- // Do a similar thing with offsets. However, we need to move them
- // so they point after the prefix we parsed before.
-@@ -582,7 +582,7 @@ Name::concatenate(const Name& suffix) const {
-
- Name retname;
- retname.ndata_.reserve(length);
-- retname.ndata_.assign(ndata_, 0, length_ - 1);
-+ retname.ndata_.assign(ndata_.data(), ndata_.data() + length_ - 1);
- retname.ndata_.insert(retname.ndata_.end(),
- suffix.ndata_.begin(), suffix.ndata_.end());
- isc_throw_assert(retname.ndata_.size() == length);
-@@ -622,7 +622,7 @@ Name::reverse() const {
- NameString::const_iterator n0 = ndata_.begin();
- retname.offsets_.push_back(0);
- while (rit1 != offsets_.rend()) {
-- retname.ndata_.append(n0 + *rit1, n0 + *rit0);
-+ retname.ndata_.insert(retname.ndata_.end(), n0 + *rit1, n0 + *rit0);
- retname.offsets_.push_back(retname.ndata_.size());
- ++rit0;
- ++rit1;
-@@ -662,7 +662,7 @@ Name::split(const unsigned int first, const unsigned int n) const {
- // original name, and append the trailing dot explicitly.
- //
- retname.ndata_.reserve(retname.offsets_.back() + 1);
-- retname.ndata_.assign(ndata_, offsets_[first], retname.offsets_.back());
-+ retname.ndata_.assign(ndata_.data() + offsets_[first], ndata_.data() + retname.offsets_.back());
- retname.ndata_.push_back(0);
-
- retname.length_ = retname.ndata_.size();
-diff --git a/src/lib/dns/name.h b/src/lib/dns/name.h
-index 37723e8..fac0036 100644
---- a/src/lib/dns/name.h
-+++ b/src/lib/dns/name.h
-@@ -228,7 +228,7 @@ class Name {
- //@{
- private:
- /// \brief Name data string
-- typedef std::basic_string<uint8_t> NameString;
-+ typedef std::vector<uint8_t> NameString;
- /// \brief Name offsets type
- typedef std::vector<uint8_t> NameOffsets;
-
diff --git a/meta/recipes-connectivity/kea/files/0001-Update-asiolink-for-boost-1.87.patch b/meta/recipes-connectivity/kea/files/0001-Update-asiolink-for-boost-1.87.patch
deleted file mode 100644
index 794726f1f1..0000000000
--- a/meta/recipes-connectivity/kea/files/0001-Update-asiolink-for-boost-1.87.patch
+++ /dev/null
@@ -1,190 +0,0 @@
-From dab0f3daafb760ace0d4091f74ff90edb225ca02 Mon Sep 17 00:00:00 2001
-From: q66 <q66@chimera-linux.org>
-Date: Sun, 15 Dec 2024 03:04:53 +0100
-Subject: [PATCH] Update asiolink for boost 1.87
-
-Upstream-Status: Submitted [https://gitlab.isc.org/isc-projects/kea/-/merge_requests/2523]
-Signed-off-by: Alexander Kanavin <alex@linutronix.de>
----
- src/lib/asiolink/io_address.cc | 4 ++--
- src/lib/asiolink/io_service.cc | 8 ++++----
- src/lib/asiolink/tcp_endpoint.h | 2 +-
- src/lib/asiolink/udp_endpoint.h | 2 +-
- src/lib/asiolink/unix_domain_socket.cc | 16 ++++++++--------
- src/lib/dhcp/iface_mgr.cc | 2 +-
- 6 files changed, 17 insertions(+), 17 deletions(-)
-
-diff --git a/src/lib/asiolink/io_address.cc b/src/lib/asiolink/io_address.cc
-index 43459bf..06b7d3d 100644
---- a/src/lib/asiolink/io_address.cc
-+++ b/src/lib/asiolink/io_address.cc
-@@ -37,7 +37,7 @@ IOAddress::Hash::operator()(const IOAddress &io_address) const {
- // because we'd like to throw our own exception on failure.
- IOAddress::IOAddress(const std::string& address_str) {
- boost::system::error_code err;
-- asio_address_ = ip::address::from_string(address_str, err);
-+ asio_address_ = ip::make_address(address_str, err);
- if (err) {
- isc_throw(IOError, "Failed to convert string to address '"
- << address_str << "': " << err.message());
-@@ -116,7 +116,7 @@ IOAddress::isV6Multicast() const {
- uint32_t
- IOAddress::toUint32() const {
- if (asio_address_.is_v4()) {
-- return (asio_address_.to_v4().to_ulong());
-+ return (asio_address_.to_v4().to_uint());
- } else {
- isc_throw(BadValue, "Can't convert " << toText()
- << " address to IPv4.");
-diff --git a/src/lib/asiolink/io_service.cc b/src/lib/asiolink/io_service.cc
-index 411de64..cc28d24 100644
---- a/src/lib/asiolink/io_service.cc
-+++ b/src/lib/asiolink/io_service.cc
-@@ -30,7 +30,7 @@ public:
- /// @brief The constructor.
- IOServiceImpl() :
- io_service_(),
-- work_(new boost::asio::io_service::work(io_service_)) {
-+ work_(boost::asio::make_work_guard(io_service_)) {
- };
-
- /// @brief The destructor.
-@@ -92,7 +92,7 @@ public:
-
- /// @brief Restarts the IOService in preparation for a subsequent @ref run() invocation.
- void restart() {
-- io_service_.reset();
-+ io_service_.restart();
- }
-
- /// @brief Removes IO service work object to let it finish running
-@@ -115,12 +115,12 @@ public:
- ///
- /// @param callback The callback to be run on the IO service.
- void post(const std::function<void ()>& callback) {
-- io_service_.post(callback);
-+ boost::asio::post(io_service_, callback);
- }
-
- private:
- boost::asio::io_service io_service_;
-- boost::shared_ptr<boost::asio::io_service::work> work_;
-+ boost::asio::executor_work_guard<boost::asio::io_service::executor_type> work_;
- };
-
- IOService::IOService() : io_impl_(new IOServiceImpl()) {
-diff --git a/src/lib/asiolink/tcp_endpoint.h b/src/lib/asiolink/tcp_endpoint.h
-index 8ebd575..7c8cb35 100644
---- a/src/lib/asiolink/tcp_endpoint.h
-+++ b/src/lib/asiolink/tcp_endpoint.h
-@@ -42,7 +42,7 @@ public:
- /// \param port The TCP port number of the endpoint.
- TCPEndpoint(const IOAddress& address, const unsigned short port) :
- asio_endpoint_placeholder_(
-- new boost::asio::ip::tcp::endpoint(boost::asio::ip::address::from_string(address.toText()),
-+ new boost::asio::ip::tcp::endpoint(boost::asio::ip::make_address(address.toText()),
- port)),
- asio_endpoint_(*asio_endpoint_placeholder_)
- {}
-diff --git a/src/lib/asiolink/udp_endpoint.h b/src/lib/asiolink/udp_endpoint.h
-index f960bf3..2a3da9f 100644
---- a/src/lib/asiolink/udp_endpoint.h
-+++ b/src/lib/asiolink/udp_endpoint.h
-@@ -42,7 +42,7 @@ public:
- /// \param port The UDP port number of the endpoint.
- UDPEndpoint(const IOAddress& address, const unsigned short port) :
- asio_endpoint_placeholder_(
-- new boost::asio::ip::udp::endpoint(boost::asio::ip::address::from_string(address.toText()),
-+ new boost::asio::ip::udp::endpoint(boost::asio::ip::make_address(address.toText()),
- port)),
- asio_endpoint_(*asio_endpoint_placeholder_)
- {}
-diff --git a/src/lib/asiolink/unix_domain_socket.cc b/src/lib/asiolink/unix_domain_socket.cc
-index f43e1c9..43ff3c8 100644
---- a/src/lib/asiolink/unix_domain_socket.cc
-+++ b/src/lib/asiolink/unix_domain_socket.cc
-@@ -83,7 +83,7 @@ public:
- /// @param buffer Buffers holding the data to be sent.
- /// @param handler User supplied callback to be invoked when data have
- /// been sent or sending error is signalled.
-- void doSend(const boost::asio::const_buffers_1& buffer,
-+ void doSend(const boost::asio::const_buffer& buffer,
- const UnixDomainSocket::Handler& handler);
-
-
-@@ -103,7 +103,7 @@ public:
- /// @param ec Error code returned as a result of sending the data.
- /// @param length Length of the data sent.
- void sendHandler(const UnixDomainSocket::Handler& remote_handler,
-- const boost::asio::const_buffers_1& buffer,
-+ const boost::asio::const_buffer& buffer,
- const boost::system::error_code& ec,
- size_t length);
-
-@@ -127,7 +127,7 @@ public:
- /// @param buffer A buffer into which the data should be received.
- /// @param handler User supplied callback invoked when data have been
- /// received on an error is signalled.
-- void doReceive(const boost::asio::mutable_buffers_1& buffer,
-+ void doReceive(const boost::asio::mutable_buffer& buffer,
- const UnixDomainSocket::Handler& handler);
-
- /// @brief Local handler invoked as a result of asynchronous receive.
-@@ -146,7 +146,7 @@ public:
- /// @param ec Error code returned as a result of asynchronous receive.
- /// @param length Size of the received data.
- void receiveHandler(const UnixDomainSocket::Handler& remote_handler,
-- const boost::asio::mutable_buffers_1& buffer,
-+ const boost::asio::mutable_buffer& buffer,
- const boost::system::error_code& ec,
- size_t length);
-
-@@ -197,7 +197,7 @@ UnixDomainSocketImpl::asyncSend(const void* data, const size_t length,
- }
-
- void
--UnixDomainSocketImpl::doSend(const boost::asio::const_buffers_1& buffer,
-+UnixDomainSocketImpl::doSend(const boost::asio::const_buffer& buffer,
- const UnixDomainSocket::Handler& handler) {
- auto local_handler = std::bind(&UnixDomainSocketImpl::sendHandler,
- shared_from_this(),
-@@ -207,7 +207,7 @@ UnixDomainSocketImpl::doSend(const boost::asio::const_buffers_1& buffer,
-
- void
- UnixDomainSocketImpl::sendHandler(const UnixDomainSocket::Handler& remote_handler,
-- const boost::asio::const_buffers_1& buffer,
-+ const boost::asio::const_buffer& buffer,
- const boost::system::error_code& ec,
- size_t length) {
- // The asynchronous send may return EWOULDBLOCK or EAGAIN on some
-@@ -230,7 +230,7 @@ UnixDomainSocketImpl::asyncReceive(void* data, const size_t length,
- }
-
- void
--UnixDomainSocketImpl::doReceive(const boost::asio::mutable_buffers_1& buffer,
-+UnixDomainSocketImpl::doReceive(const boost::asio::mutable_buffer& buffer,
- const UnixDomainSocket::Handler& handler) {
- auto local_handler = std::bind(&UnixDomainSocketImpl::receiveHandler,
- shared_from_this(),
-@@ -240,7 +240,7 @@ UnixDomainSocketImpl::doReceive(const boost::asio::mutable_buffers_1& buffer,
-
- void
- UnixDomainSocketImpl::receiveHandler(const UnixDomainSocket::Handler& remote_handler,
-- const boost::asio::mutable_buffers_1& buffer,
-+ const boost::asio::mutable_buffer& buffer,
- const boost::system::error_code& ec,
- size_t length) {
- // The asynchronous receive may return EWOULDBLOCK or EAGAIN on some
-diff --git a/src/lib/dhcp/iface_mgr.cc b/src/lib/dhcp/iface_mgr.cc
-index 01a1d63..419268b 100644
---- a/src/lib/dhcp/iface_mgr.cc
-+++ b/src/lib/dhcp/iface_mgr.cc
-@@ -1034,7 +1034,7 @@ IfaceMgr::getLocalAddress(const IOAddress& remote_addr, const uint16_t port) {
- }
-
- // Create socket that will be used to connect to remote endpoint.
-- boost::asio::io_service io_service;
-+ boost::asio::io_context io_service;
- boost::asio::ip::udp::socket sock(io_service);
-
- boost::system::error_code err_code;
diff --git a/meta/recipes-connectivity/kea/files/0002-Fix-unittests-Typo-in-Name-Name-append-to-ndata_-not.patch b/meta/recipes-connectivity/kea/files/0002-Fix-unittests-Typo-in-Name-Name-append-to-ndata_-not.patch
deleted file mode 100644
index a24a25f1c9..0000000000
--- a/meta/recipes-connectivity/kea/files/0002-Fix-unittests-Typo-in-Name-Name-append-to-ndata_-not.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From b5f6cc6b3a2b2c35c9b9bb856861c502771079cc Mon Sep 17 00:00:00 2001
-From: Dimitry Andric <dimitry@unified-streaming.com>
-Date: Wed, 28 Aug 2024 22:32:44 +0200
-Subject: [PATCH 2/2] Fix unittests: * Typo in `Name::Name`: append to
- `ndata_`, not `ndata` * In `Name::split`, use the correct iterators for
- assigning
-
-Upstream-Status: Submitted [https://gitlab.isc.org/isc-projects/kea/-/merge_requests/2410]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/lib/dns/name.cc | 5 +++--
- 1 file changed, 3 insertions(+), 2 deletions(-)
-
-diff --git a/src/lib/dns/name.cc b/src/lib/dns/name.cc
-index 085229b..47d9b8f 100644
---- a/src/lib/dns/name.cc
-+++ b/src/lib/dns/name.cc
-@@ -347,7 +347,7 @@ Name::Name(const char* namedata, size_t data_len, const Name* origin,
- // Drop the last character of the data (the \0) and append a copy of
- // the origin's data
- ndata_.erase(ndata_.end() - 1);
-- ndata_.insert(ndata.end(), origin->ndata_.begin(), origin->ndata_.end());
-+ ndata_.insert(ndata_.end(), origin->ndata_.begin(), origin->ndata_.end());
-
- // Do a similar thing with offsets. However, we need to move them
- // so they point after the prefix we parsed before.
-@@ -662,7 +662,8 @@ Name::split(const unsigned int first, const unsigned int n) const {
- // original name, and append the trailing dot explicitly.
- //
- retname.ndata_.reserve(retname.offsets_.back() + 1);
-- retname.ndata_.assign(ndata_.data() + offsets_[first], ndata_.data() + retname.offsets_.back());
-+ auto it = ndata_.data() + offsets_[first];
-+ retname.ndata_.assign(it, it + retname.offsets_.back());
- retname.ndata_.push_back(0);
-
- retname.length_ = retname.ndata_.size();
diff --git a/meta/recipes-connectivity/kea/kea_2.6.1.bb b/meta/recipes-connectivity/kea/kea_2.6.3.bb
similarity index 87%
rename from meta/recipes-connectivity/kea/kea_2.6.1.bb
rename to meta/recipes-connectivity/kea/kea_2.6.3.bb
index ff7fb51fe0..45e98e516f 100644
--- a/meta/recipes-connectivity/kea/kea_2.6.1.bb
+++ b/meta/recipes-connectivity/kea/kea_2.6.3.bb
@@ -3,7 +3,7 @@ DESCRIPTION = "Kea is the next generation of DHCP software developed by ISC. It
HOMEPAGE = "http://kea.isc.org"
SECTION = "connectivity"
LICENSE = "MPL-2.0"
-LIC_FILES_CHKSUM = "file://COPYING;md5=618093ea9de92c70a115268c1d53421f"
+LIC_FILES_CHKSUM = "file://COPYING;md5=ee16e7280a6cf2a1487717faf33190dc"
DEPENDS = "boost log4cplus openssl"
@@ -17,13 +17,9 @@ SRC_URI = "http://ftp.isc.org/isc/kea/${PV}/${BP}.tar.gz \
file://fix-multilib-conflict.patch \
file://fix_pid_keactrl.patch \
file://0001-src-lib-log-logger_unittest_support.cc-do-not-write-.patch \
- file://0001-Replace-Name-NameString-with-vector-of-uint8_t.patch \
- file://0002-Fix-unittests-Typo-in-Name-Name-append-to-ndata_-not.patch \
- file://0001-Update-asiolink-for-boost-1.87.patch \
file://0001-make-kea-environment-available-to-lfc.patch \
- file://0001-Avoid-assert-on-empty-packet.patch \
"
-SRC_URI[sha256sum] = "d2ce14a91c2e248ad2876e29152d647bcc5e433bc68dafad0ee96ec166fcfad1"
+SRC_URI[sha256sum] = "00241a5955ffd3d215a2c098c4527f9d7f4b203188b276f9a36250dd3d9dd612"
inherit autotools systemd update-rc.d upstream-version-is-even
--
2.43.0
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [OE-core][walnascar 06/12] python3-requests: upgrade 2.32.3 -> 2.32.4
2025-06-17 15:59 [OE-core][walnascar 00/12] Patch review Steve Sakoman
` (4 preceding siblings ...)
2025-06-17 15:59 ` [OE-core][walnascar 05/12] kea: upgrade 2.6.1 -> 2.6.3 Steve Sakoman
@ 2025-06-17 15:59 ` Steve Sakoman
2025-06-17 15:59 ` [OE-core][walnascar 07/12] scripts/install-buildtools: Update to 5.2.1 Steve Sakoman
` (5 subsequent siblings)
11 siblings, 0 replies; 16+ messages in thread
From: Steve Sakoman @ 2025-06-17 15:59 UTC (permalink / raw)
To: openembedded-core
From: Jiaying Song <jiaying.song.cn@windriver.com>
Changelog:
https://requests.readthedocs.io/en/latest/community/updates/#release-history
Signed-off-by: Jiaying Song <jiaying.song.cn@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
---
.../{python3-requests_2.32.3.bb => python3-requests_2.32.4.bb} | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
rename meta/recipes-devtools/python/{python3-requests_2.32.3.bb => python3-requests_2.32.4.bb} (91%)
diff --git a/meta/recipes-devtools/python/python3-requests_2.32.3.bb b/meta/recipes-devtools/python/python3-requests_2.32.4.bb
similarity index 91%
rename from meta/recipes-devtools/python/python3-requests_2.32.3.bb
rename to meta/recipes-devtools/python/python3-requests_2.32.4.bb
index bc9b2289f6..49d44298f6 100644
--- a/meta/recipes-devtools/python/python3-requests_2.32.3.bb
+++ b/meta/recipes-devtools/python/python3-requests_2.32.4.bb
@@ -7,7 +7,7 @@ SRC_URI:append:class-nativesdk = " \
file://environment.d-python3-requests.sh \
"
-SRC_URI[sha256sum] = "55365417734eb18255590a9ff9eb97e9e1da868d4ccd6402399eaf68af20a760"
+SRC_URI[sha256sum] = "27d0316682c8a29834d3264820024b62a36942083d52caf2f14c0591336d3422"
inherit pypi python_setuptools_build_meta
--
2.43.0
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [OE-core][walnascar 07/12] scripts/install-buildtools: Update to 5.2.1
2025-06-17 15:59 [OE-core][walnascar 00/12] Patch review Steve Sakoman
` (5 preceding siblings ...)
2025-06-17 15:59 ` [OE-core][walnascar 06/12] python3-requests: upgrade 2.32.3 -> 2.32.4 Steve Sakoman
@ 2025-06-17 15:59 ` Steve Sakoman
2025-06-17 15:59 ` [OE-core][walnascar 08/12] systemd: upgrade 257.4 -> 257.5 Steve Sakoman
` (4 subsequent siblings)
11 siblings, 0 replies; 16+ messages in thread
From: Steve Sakoman @ 2025-06-17 15:59 UTC (permalink / raw)
To: openembedded-core
From: Aleksandar Nikolic <aleksandar.nikolic@zeiss.com>
Update to the 5.2.1 release of the 5.2.1 series for buildtools
Signed-off-by: Aleksandar Nikolic <aleksandar.nikolic@zeiss.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
---
scripts/install-buildtools | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/scripts/install-buildtools b/scripts/install-buildtools
index 6750ffcbcc..aa23942858 100755
--- a/scripts/install-buildtools
+++ b/scripts/install-buildtools
@@ -57,8 +57,8 @@ logger = scriptutils.logger_create(PROGNAME, stream=sys.stdout)
DEFAULT_INSTALL_DIR = os.path.join(os.path.split(scripts_path)[0],'buildtools')
DEFAULT_BASE_URL = 'https://downloads.yoctoproject.org/releases/yocto'
-DEFAULT_RELEASE = 'yocto-5.2'
-DEFAULT_INSTALLER_VERSION = '5.2'
+DEFAULT_RELEASE = 'yocto-5.2.1'
+DEFAULT_INSTALLER_VERSION = '5.2.1'
DEFAULT_BUILDDATE = '202110XX'
# Python version sanity check
--
2.43.0
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [OE-core][walnascar 08/12] systemd: upgrade 257.4 -> 257.5
2025-06-17 15:59 [OE-core][walnascar 00/12] Patch review Steve Sakoman
` (6 preceding siblings ...)
2025-06-17 15:59 ` [OE-core][walnascar 07/12] scripts/install-buildtools: Update to 5.2.1 Steve Sakoman
@ 2025-06-17 15:59 ` Steve Sakoman
2025-06-17 15:59 ` [OE-core][walnascar 09/12] systemd: upgrade 257.5 -> 257.6 Steve Sakoman
` (3 subsequent siblings)
11 siblings, 0 replies; 16+ messages in thread
From: Steve Sakoman @ 2025-06-17 15:59 UTC (permalink / raw)
To: openembedded-core
From: Wang Mingyu <wangmy@fujitsu.com>
(From OE-Core rev: 05618ac2c6f69e0f41fb95e517382bf1177f0735)
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
---
...temd-boot-native_257.4.bb => systemd-boot-native_257.5.bb} | 0
.../systemd/{systemd-boot_257.4.bb => systemd-boot_257.5.bb} | 0
...mctl-native_257.4.bb => systemd-systemctl-native_257.5.bb} | 0
meta/recipes-core/systemd/systemd.inc | 4 ++--
.../systemd/{systemd_257.4.bb => systemd_257.5.bb} | 0
5 files changed, 2 insertions(+), 2 deletions(-)
rename meta/recipes-core/systemd/{systemd-boot-native_257.4.bb => systemd-boot-native_257.5.bb} (100%)
rename meta/recipes-core/systemd/{systemd-boot_257.4.bb => systemd-boot_257.5.bb} (100%)
rename meta/recipes-core/systemd/{systemd-systemctl-native_257.4.bb => systemd-systemctl-native_257.5.bb} (100%)
rename meta/recipes-core/systemd/{systemd_257.4.bb => systemd_257.5.bb} (100%)
diff --git a/meta/recipes-core/systemd/systemd-boot-native_257.4.bb b/meta/recipes-core/systemd/systemd-boot-native_257.5.bb
similarity index 100%
rename from meta/recipes-core/systemd/systemd-boot-native_257.4.bb
rename to meta/recipes-core/systemd/systemd-boot-native_257.5.bb
diff --git a/meta/recipes-core/systemd/systemd-boot_257.4.bb b/meta/recipes-core/systemd/systemd-boot_257.5.bb
similarity index 100%
rename from meta/recipes-core/systemd/systemd-boot_257.4.bb
rename to meta/recipes-core/systemd/systemd-boot_257.5.bb
diff --git a/meta/recipes-core/systemd/systemd-systemctl-native_257.4.bb b/meta/recipes-core/systemd/systemd-systemctl-native_257.5.bb
similarity index 100%
rename from meta/recipes-core/systemd/systemd-systemctl-native_257.4.bb
rename to meta/recipes-core/systemd/systemd-systemctl-native_257.5.bb
diff --git a/meta/recipes-core/systemd/systemd.inc b/meta/recipes-core/systemd/systemd.inc
index 55389f1050..243053a8c7 100644
--- a/meta/recipes-core/systemd/systemd.inc
+++ b/meta/recipes-core/systemd/systemd.inc
@@ -15,9 +15,9 @@ LICENSE:libsystemd = "LGPL-2.1-or-later"
LIC_FILES_CHKSUM = "file://LICENSE.GPL2;md5=751419260aa954499f7abaabaa882bbe \
file://LICENSE.LGPL2.1;md5=4fbd65380cdd255951079008b364516c"
-SRCREV = "5ce1c02abc0cc386332384497b5939108314d80d"
+SRCREV = "1c93ed4c72a4513d9cefcd1f89d11a9dc828d06c"
SRCBRANCH = "v257-stable"
-SRC_URI = "git://github.com/systemd/systemd.git;protocol=https;branch=${SRCBRANCH}"
+SRC_URI = "git://github.com/systemd/systemd.git;protocol=https;branch=${SRCBRANCH};tag=v${PV}"
S = "${WORKDIR}/git"
diff --git a/meta/recipes-core/systemd/systemd_257.4.bb b/meta/recipes-core/systemd/systemd_257.5.bb
similarity index 100%
rename from meta/recipes-core/systemd/systemd_257.4.bb
rename to meta/recipes-core/systemd/systemd_257.5.bb
--
2.43.0
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [OE-core][walnascar 09/12] systemd: upgrade 257.5 -> 257.6
2025-06-17 15:59 [OE-core][walnascar 00/12] Patch review Steve Sakoman
` (7 preceding siblings ...)
2025-06-17 15:59 ` [OE-core][walnascar 08/12] systemd: upgrade 257.4 -> 257.5 Steve Sakoman
@ 2025-06-17 15:59 ` Steve Sakoman
2025-06-17 15:59 ` [OE-core][walnascar 10/12] util-linux: fix agetty segfault issue Steve Sakoman
` (2 subsequent siblings)
11 siblings, 0 replies; 16+ messages in thread
From: Steve Sakoman @ 2025-06-17 15:59 UTC (permalink / raw)
To: openembedded-core
From: Peter Marko <peter.marko@siemens.com>
Handles CVE-2025-4598
Rebase patches
Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
---
...ative_257.5.bb => systemd-boot-native_257.6.bb} | 0
...systemd-boot_257.5.bb => systemd-boot_257.6.bb} | 0
..._257.5.bb => systemd-systemctl-native_257.6.bb} | 0
meta/recipes-core/systemd/systemd.inc | 2 +-
...llback-parse_printf_format-implementation.patch | 2 +-
...12-do-not-disable-buffer-in-writing-files.patch | 14 +++++++-------
.../systemd/0014-Handle-missing-gshadow.patch | 4 ++--
...rrno-util-Make-STRERROR-portable-for-musl.patch | 7 +++----
.../systemd/{systemd_257.5.bb => systemd_257.6.bb} | 0
9 files changed, 14 insertions(+), 15 deletions(-)
rename meta/recipes-core/systemd/{systemd-boot-native_257.5.bb => systemd-boot-native_257.6.bb} (100%)
rename meta/recipes-core/systemd/{systemd-boot_257.5.bb => systemd-boot_257.6.bb} (100%)
rename meta/recipes-core/systemd/{systemd-systemctl-native_257.5.bb => systemd-systemctl-native_257.6.bb} (100%)
rename meta/recipes-core/systemd/{systemd_257.5.bb => systemd_257.6.bb} (100%)
diff --git a/meta/recipes-core/systemd/systemd-boot-native_257.5.bb b/meta/recipes-core/systemd/systemd-boot-native_257.6.bb
similarity index 100%
rename from meta/recipes-core/systemd/systemd-boot-native_257.5.bb
rename to meta/recipes-core/systemd/systemd-boot-native_257.6.bb
diff --git a/meta/recipes-core/systemd/systemd-boot_257.5.bb b/meta/recipes-core/systemd/systemd-boot_257.6.bb
similarity index 100%
rename from meta/recipes-core/systemd/systemd-boot_257.5.bb
rename to meta/recipes-core/systemd/systemd-boot_257.6.bb
diff --git a/meta/recipes-core/systemd/systemd-systemctl-native_257.5.bb b/meta/recipes-core/systemd/systemd-systemctl-native_257.6.bb
similarity index 100%
rename from meta/recipes-core/systemd/systemd-systemctl-native_257.5.bb
rename to meta/recipes-core/systemd/systemd-systemctl-native_257.6.bb
diff --git a/meta/recipes-core/systemd/systemd.inc b/meta/recipes-core/systemd/systemd.inc
index 243053a8c7..5ed84757f3 100644
--- a/meta/recipes-core/systemd/systemd.inc
+++ b/meta/recipes-core/systemd/systemd.inc
@@ -15,7 +15,7 @@ LICENSE:libsystemd = "LGPL-2.1-or-later"
LIC_FILES_CHKSUM = "file://LICENSE.GPL2;md5=751419260aa954499f7abaabaa882bbe \
file://LICENSE.LGPL2.1;md5=4fbd65380cdd255951079008b364516c"
-SRCREV = "1c93ed4c72a4513d9cefcd1f89d11a9dc828d06c"
+SRCREV = "00a12c234e2506f5cab683460199575f13c454db"
SRCBRANCH = "v257-stable"
SRC_URI = "git://github.com/systemd/systemd.git;protocol=https;branch=${SRCBRANCH};tag=v${PV}"
diff --git a/meta/recipes-core/systemd/systemd/0004-add-fallback-parse_printf_format-implementation.patch b/meta/recipes-core/systemd/systemd/0004-add-fallback-parse_printf_format-implementation.patch
index f9a45bb40b..47b8583e7a 100644
--- a/meta/recipes-core/systemd/systemd/0004-add-fallback-parse_printf_format-implementation.patch
+++ b/meta/recipes-core/systemd/systemd/0004-add-fallback-parse_printf_format-implementation.patch
@@ -25,7 +25,7 @@ diff --git a/meson.build b/meson.build
index bffda86845..4146f4beef 100644
--- a/meson.build
+++ b/meson.build
-@@ -773,6 +773,7 @@ foreach header : ['crypt.h',
+@@ -770,6 +770,7 @@ foreach header : ['crypt.h',
'linux/ioprio.h',
'linux/memfd.h',
'linux/time_types.h',
diff --git a/meta/recipes-core/systemd/systemd/0012-do-not-disable-buffer-in-writing-files.patch b/meta/recipes-core/systemd/systemd/0012-do-not-disable-buffer-in-writing-files.patch
index 00b4b777f4..0bbc6bbac7 100644
--- a/meta/recipes-core/systemd/systemd/0012-do-not-disable-buffer-in-writing-files.patch
+++ b/meta/recipes-core/systemd/systemd/0012-do-not-disable-buffer-in-writing-files.patch
@@ -71,7 +71,7 @@ diff --git a/src/basic/namespace-util.c b/src/basic/namespace-util.c
index 332e8cdfd5..804498127d 100644
--- a/src/basic/namespace-util.c
+++ b/src/basic/namespace-util.c
-@@ -354,12 +354,12 @@ int userns_acquire(const char *uid_map, const char *gid_map) {
+@@ -359,12 +359,12 @@ int userns_acquire(const char *uid_map, const char *gid_map) {
freeze();
xsprintf(path, "/proc/" PID_FMT "/uid_map", pid);
@@ -154,7 +154,7 @@ diff --git a/src/core/cgroup.c b/src/core/cgroup.c
index 6933aae54d..ab6fccc0e4 100644
--- a/src/core/cgroup.c
+++ b/src/core/cgroup.c
-@@ -5167,7 +5167,7 @@ int unit_cgroup_freezer_action(Unit *u, FreezerAction action) {
+@@ -5175,7 +5175,7 @@ int unit_cgroup_freezer_action(Unit *u, FreezerAction action) {
if (r < 0)
return r;
@@ -180,7 +180,7 @@ diff --git a/src/core/main.c b/src/core/main.c
index 172742c769..e68ce2a6d8 100644
--- a/src/core/main.c
+++ b/src/core/main.c
-@@ -1812,7 +1812,7 @@ static void initialize_core_pattern(bool skip_setup) {
+@@ -1826,7 +1826,7 @@ static void initialize_core_pattern(bool skip_setup) {
if (getpid_cached() != 1)
return;
@@ -231,7 +231,7 @@ diff --git a/src/libsystemd/sd-device/sd-device.c b/src/libsystemd/sd-device/sd-
index 01fa90b1ff..83ab655bf4 100644
--- a/src/libsystemd/sd-device/sd-device.c
+++ b/src/libsystemd/sd-device/sd-device.c
-@@ -2563,7 +2563,7 @@ _public_ int sd_device_set_sysattr_value(sd_device *device, const char *sysattr,
+@@ -2564,7 +2564,7 @@ _public_ int sd_device_set_sysattr_value(sd_device *device, const char *sysattr,
if (!value)
return -ENOMEM;
@@ -359,7 +359,7 @@ diff --git a/src/shared/coredump-util.c b/src/shared/coredump-util.c
index 805503f366..3234a1d76e 100644
--- a/src/shared/coredump-util.c
+++ b/src/shared/coredump-util.c
-@@ -173,7 +173,7 @@ void disable_coredumps(void) {
+@@ -180,7 +180,7 @@ void disable_coredumps(void) {
if (detect_container() > 0)
return;
@@ -372,7 +372,7 @@ diff --git a/src/shared/hibernate-util.c b/src/shared/hibernate-util.c
index 1213fdc2c7..4c26e6a4ee 100644
--- a/src/shared/hibernate-util.c
+++ b/src/shared/hibernate-util.c
-@@ -495,7 +495,7 @@ int write_resume_config(dev_t devno, uint64_t offset, const char *device) {
+@@ -498,7 +498,7 @@ int write_resume_config(dev_t devno, uint64_t offset, const char *device) {
/* We write the offset first since it's safer. Note that this file is only available in 4.17+, so
* fail gracefully if it doesn't exist and we're only overwriting it with 0. */
@@ -381,7 +381,7 @@ index 1213fdc2c7..4c26e6a4ee 100644
if (r == -ENOENT) {
if (offset != 0)
return log_error_errno(SYNTHETIC_ERRNO(EOPNOTSUPP),
-@@ -511,7 +511,7 @@ int write_resume_config(dev_t devno, uint64_t offset, const char *device) {
+@@ -514,7 +514,7 @@ int write_resume_config(dev_t devno, uint64_t offset, const char *device) {
log_debug("Wrote resume_offset=%s for device '%s' to /sys/power/resume_offset.",
offset_str, device);
diff --git a/meta/recipes-core/systemd/systemd/0014-Handle-missing-gshadow.patch b/meta/recipes-core/systemd/systemd/0014-Handle-missing-gshadow.patch
index 08d4e384ff..0aabae6d82 100644
--- a/meta/recipes-core/systemd/systemd/0014-Handle-missing-gshadow.patch
+++ b/meta/recipes-core/systemd/systemd/0014-Handle-missing-gshadow.patch
@@ -140,7 +140,7 @@ diff --git a/src/shared/userdb.c b/src/shared/userdb.c
index ff83d4bf90..54d36cc706 100644
--- a/src/shared/userdb.c
+++ b/src/shared/userdb.c
-@@ -1041,13 +1041,15 @@ int groupdb_iterator_get(UserDBIterator *iterator, GroupRecord **ret) {
+@@ -1042,13 +1042,15 @@ int groupdb_iterator_get(UserDBIterator *iterator, GroupRecord **ret) {
if (gr) {
_cleanup_free_ char *buffer = NULL;
bool incomplete = false;
@@ -157,7 +157,7 @@ index ff83d4bf90..54d36cc706 100644
if (!FLAGS_SET(iterator->flags, USERDB_SUPPRESS_SHADOW)) {
r = nss_sgrp_for_group(gr, &sgrp, &buffer);
if (r < 0) {
-@@ -1060,6 +1062,9 @@ int groupdb_iterator_get(UserDBIterator *iterator, GroupRecord **ret) {
+@@ -1061,6 +1063,9 @@ int groupdb_iterator_get(UserDBIterator *iterator, GroupRecord **ret) {
}
r = nss_group_to_group_record(gr, r >= 0 ? &sgrp : NULL, ret);
diff --git a/meta/recipes-core/systemd/systemd/0019-errno-util-Make-STRERROR-portable-for-musl.patch b/meta/recipes-core/systemd/systemd/0019-errno-util-Make-STRERROR-portable-for-musl.patch
index 791079a19f..56083cc7b3 100644
--- a/meta/recipes-core/systemd/systemd/0019-errno-util-Make-STRERROR-portable-for-musl.patch
+++ b/meta/recipes-core/systemd/systemd/0019-errno-util-Make-STRERROR-portable-for-musl.patch
@@ -11,8 +11,8 @@ Upstream-Status: Inappropriate [musl specific]
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
- src/basic/errno-util.h | 12 ++++++++++--
- 1 file changed, 10 insertions(+), 2 deletions(-)
+ src/basic/errno-util.h | 10 +++++++++-
+ 1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/src/basic/errno-util.h b/src/basic/errno-util.h
index 48b76e4bf7..6e7653e2d9 100644
@@ -23,9 +23,8 @@ index 48b76e4bf7..6e7653e2d9 100644
*
* Note that we use the GNU variant of strerror_r() here. */
-#define STRERROR(errnum) strerror_r(abs(errnum), (char[ERRNO_BUF_LEN]){}, ERRNO_BUF_LEN)
--
+static inline const char * STRERROR(int errnum);
-+
+
+static inline const char * STRERROR(int errnum) {
+#ifdef __GLIBC__
+ return strerror_r(abs(errnum), (char[ERRNO_BUF_LEN]){}, ERRNO_BUF_LEN);
diff --git a/meta/recipes-core/systemd/systemd_257.5.bb b/meta/recipes-core/systemd/systemd_257.6.bb
similarity index 100%
rename from meta/recipes-core/systemd/systemd_257.5.bb
rename to meta/recipes-core/systemd/systemd_257.6.bb
--
2.43.0
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [OE-core][walnascar 10/12] util-linux: fix agetty segfault issue
2025-06-17 15:59 [OE-core][walnascar 00/12] Patch review Steve Sakoman
` (8 preceding siblings ...)
2025-06-17 15:59 ` [OE-core][walnascar 09/12] systemd: upgrade 257.5 -> 257.6 Steve Sakoman
@ 2025-06-17 15:59 ` Steve Sakoman
2025-06-17 15:59 ` [OE-core][walnascar 11/12] testimage: get real os-release file Steve Sakoman
2025-06-17 15:59 ` [OE-core][walnascar 12/12] tune-cortexr52: Remove aarch64 for ARM Cortex-R52 Steve Sakoman
11 siblings, 0 replies; 16+ messages in thread
From: Steve Sakoman @ 2025-06-17 15:59 UTC (permalink / raw)
To: openembedded-core
From: Yongxin Liu <yongxin.liu@windriver.com>
Backport a commit from util-linux upstream to fix the following error.
agetty: segfault at 0 ip 00007fc65600295c sp 00007fffa8dd67e8 error 4 in libc.so.6
Signed-off-by: Yongxin Liu <yongxin.liu@windriver.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
---
meta/recipes-core/util-linux/util-linux.inc | 1 +
...tty-fix-stdin-conversion-to-tty-name.patch | 40 +++++++++++++++++++
2 files changed, 41 insertions(+)
create mode 100644 meta/recipes-core/util-linux/util-linux/0003-agetty-fix-stdin-conversion-to-tty-name.patch
diff --git a/meta/recipes-core/util-linux/util-linux.inc b/meta/recipes-core/util-linux/util-linux.inc
index 4e8701ffdf..cbf148073b 100644
--- a/meta/recipes-core/util-linux/util-linux.inc
+++ b/meta/recipes-core/util-linux/util-linux.inc
@@ -40,6 +40,7 @@ SRC_URI = "${KERNELORG_MIRROR}/linux/utils/util-linux/v${MAJOR_VERSION}/util-lin
file://fcntl-lock.c \
file://0001-cfdisk-add-sector-size-commanand-line-option.patch \
file://0002-sfdisk-add-sector-size-commanand-line-option.patch \
+ file://0003-agetty-fix-stdin-conversion-to-tty-name.patch \
"
SRC_URI[sha256sum] = "5c1daf733b04e9859afdc3bd87cc481180ee0f88b5c0946b16fdec931975fb79"
diff --git a/meta/recipes-core/util-linux/util-linux/0003-agetty-fix-stdin-conversion-to-tty-name.patch b/meta/recipes-core/util-linux/util-linux/0003-agetty-fix-stdin-conversion-to-tty-name.patch
new file mode 100644
index 0000000000..2766ee2c0d
--- /dev/null
+++ b/meta/recipes-core/util-linux/util-linux/0003-agetty-fix-stdin-conversion-to-tty-name.patch
@@ -0,0 +1,40 @@
+From bd6c104f931329ce6fbc5a1250c8c80a1d8223ee Mon Sep 17 00:00:00 2001
+From: Karel Zak <kzak@redhat.com>
+Date: Mon, 24 Feb 2025 13:37:04 +0100
+Subject: [PATCH] agetty: fix stdin conversion to tty name
+
+Addresses: https://github.com/util-linux/util-linux/issues/3304
+
+Upstream-Status: Backport
+[https://github.com/util-linux/util-linux/commit/bd6c104f931329ce6fbc5a1250c8c80a1d8223ee]
+Signed-off-by: Yongxin Liu <yongxin.liu@windriver.com>
+---
+ term-utils/agetty.c | 10 +++++++---
+ 1 file changed, 7 insertions(+), 3 deletions(-)
+
+diff --git a/term-utils/agetty.c b/term-utils/agetty.c
+index aa859c27b..0dfe52c90 100644
+--- a/term-utils/agetty.c
++++ b/term-utils/agetty.c
+@@ -928,11 +928,15 @@ static void parse_args(int argc, char **argv, struct options *op)
+
+ /* resolve the tty path in case it was provided as stdin */
+ if (strcmp(op->tty, "-") == 0) {
++ int fd;
++ const char *name = op->tty;
++
+ op->tty_is_stdin = 1;
+- int fd = get_terminal_name(NULL, &op->tty, NULL);
+- if (fd < 0) {
++ fd = get_terminal_name(NULL, &name, NULL);
++ if (fd >= 0)
++ op->tty = name; /* set real device name */
++ else
+ log_warn(_("could not get terminal name: %d"), fd);
+- }
+ }
+
+ /* On virtual console remember the line which is used for */
+--
+2.46.2
+
--
2.43.0
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [OE-core][walnascar 11/12] testimage: get real os-release file
2025-06-17 15:59 [OE-core][walnascar 00/12] Patch review Steve Sakoman
` (9 preceding siblings ...)
2025-06-17 15:59 ` [OE-core][walnascar 10/12] util-linux: fix agetty segfault issue Steve Sakoman
@ 2025-06-17 15:59 ` Steve Sakoman
2025-06-17 15:59 ` [OE-core][walnascar 12/12] tune-cortexr52: Remove aarch64 for ARM Cortex-R52 Steve Sakoman
11 siblings, 0 replies; 16+ messages in thread
From: Steve Sakoman @ 2025-06-17 15:59 UTC (permalink / raw)
To: openembedded-core
From: Peter Marko <peter.marko@siemens.com>
/etc/os-release is a symlink to /usr/lib.
Symlink is retrieved as a dead link which points to nowhere if also the
original file is not accompanying it.
Fetch the real file in addition to this link.
Alternative could be to use "tar -h" (supported also by busybox tar),
however that could lose some important information if links are relevant
for failure analysis.
(From OE-Core rev: ed43f9ccb3c08845259e24440912631afd780d12)
Signed-off-by: Peter Marko <peter.marko@siemens.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
---
meta/classes-recipe/testimage.bbclass | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/meta/classes-recipe/testimage.bbclass b/meta/classes-recipe/testimage.bbclass
index e090b1ef4b..847a6f18a8 100644
--- a/meta/classes-recipe/testimage.bbclass
+++ b/meta/classes-recipe/testimage.bbclass
@@ -26,7 +26,9 @@ TESTIMAGE_FAILED_QA_ARTIFACTS = "\
${localstatedir}/log \
${localstatedir}/volatile/log \
${sysconfdir}/version \
- ${sysconfdir}/os-release"
+ ${sysconfdir}/os-release \
+ ${nonarch_libdir}/os-release \
+"
# If some ptests are run and fail, retrieve corresponding directories
TESTIMAGE_FAILED_QA_ARTIFACTS += "${@bb.utils.contains('DISTRO_FEATURES', 'ptest', '${libdir}/*/ptest', '', d)}"
--
2.43.0
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [OE-core][walnascar 12/12] tune-cortexr52: Remove aarch64 for ARM Cortex-R52
2025-06-17 15:59 [OE-core][walnascar 00/12] Patch review Steve Sakoman
` (10 preceding siblings ...)
2025-06-17 15:59 ` [OE-core][walnascar 11/12] testimage: get real os-release file Steve Sakoman
@ 2025-06-17 15:59 ` Steve Sakoman
11 siblings, 0 replies; 16+ messages in thread
From: Steve Sakoman @ 2025-06-17 15:59 UTC (permalink / raw)
To: openembedded-core
From: Sandeep Gundlupet Raju <sandeep.gundlupet-raju@amd.com>
Remove aarch64 for ARM Cortex-R52 processor as it supports only 32-bit
ISA but not 64-bit ISA. Also update ARMPKGARCH for cortexr52hf.
Signed-off-by: Sandeep Gundlupet Raju <sandeep.gundlupet-raju@amd.com>
Signed-off-by: Sandeep Gundlupet Raju <grsandeep85@gmail.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
---
meta/conf/machine/include/arm/armv8r/tune-cortexr52.inc | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/meta/conf/machine/include/arm/armv8r/tune-cortexr52.inc b/meta/conf/machine/include/arm/armv8r/tune-cortexr52.inc
index 89f0e09450..e8667bc16b 100644
--- a/meta/conf/machine/include/arm/armv8r/tune-cortexr52.inc
+++ b/meta/conf/machine/include/arm/armv8r/tune-cortexr52.inc
@@ -10,11 +10,10 @@ require conf/machine/include/arm/arch-armv8r.inc
AVAILTUNES += "cortexr52"
ARMPKGARCH:tune-cortexr52 = "cortexr52"
-# We do not want -march since -mcpu is added above to cover for it
-TUNE_FEATURES:tune-cortexr52 = "aarch64 crc simd cortexr52"
+TUNE_FEATURES:tune-cortexr52 = "${TUNE_FEATURES:tune-armv8r-crc-simd} cortexr52"
PACKAGE_EXTRA_ARCHS:tune-cortexr52 = "${PACKAGE_EXTRA_ARCHS:tune-armv8r-crc-simd} cortexr52"
AVAILTUNES += "cortexr52hf"
-ARMPKGARCH:tune-cortexr52hf = "cortexr52"
+ARMPKGARCH:tune-cortexr52hf = "cortexr52hf"
TUNE_FEATURES:tune-cortexr52hf = "${TUNE_FEATURES:tune-cortexr52} callconvention-hard"
PACKAGE_EXTRA_ARCHS:tune-cortexr52hf = "cortexr52hf"
--
2.43.0
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [OE-core][walnascar 00/12] Patch review
@ 2025-07-20 20:04 Steve Sakoman
0 siblings, 0 replies; 16+ messages in thread
From: Steve Sakoman @ 2025-07-20 20:04 UTC (permalink / raw)
To: openembedded-core
Please review this set of changes for walnascar and have comments bac=k by
end of day Tuesday, July 22
Passed a-full on autobuilder:
https://autobuilder.yoctoproject.org/valkyrie/?#/builders/29/builds/2046
The following changes since commit acbed746f321e1a42df9035d2b6f1029f5a6a6a2:
kea: set correct permissions for /var/run/kea (2025-07-16 08:21:58 -0700)
are available in the Git repository at:
https://git.openembedded.org/openembedded-core-contrib stable/walnascar-nut
https://git.openembedded.org/openembedded-core-contrib/log/?h=stable/walnascar-nut
Bruce Ashfield (8):
linux-yocto/6.12: update to v6.12.32
linux-yocto/6.12: yaffs2: silence warnings
linux-yocto/6.12: update to v6.12.33
linux-yocto/6.12: riscv tune fragments
linux-yocto/6.12: update to v6.12.34
linux-yocto/6.12: update to v6.12.36
linux-yocto/6.12: update to v6.12.38
linux-yocto/6.12: update CVE exclusions (6.12.38)
Deepesh Varatharajan (1):
glibc: stable 2.41 branch updates
Mark Hatle (1):
linux-yocto/6.12: riscv: Enable TUNE_FEATURES based KERNEL_FEATURES
Richard Purdie (1):
linux-yocto-6.12: Update CVE list for 6.12.36
Zhang Peng (1):
avahi: fix CVE-2024-52616
meta/recipes-connectivity/avahi/avahi_0.8.bb | 1 +
.../avahi/files/CVE-2024-52616.patch | 104 +
meta/recipes-core/glibc/glibc-version.inc | 2 +-
.../linux/cve-exclusion_6.12.inc | 10175 +++++++++-------
.../linux/linux-yocto-rt_6.12.bb | 6 +-
.../linux/linux-yocto-tiny_6.12.bb | 6 +-
meta/recipes-kernel/linux/linux-yocto.inc | 16 +
meta/recipes-kernel/linux/linux-yocto_6.12.bb | 28 +-
8 files changed, 5851 insertions(+), 4487 deletions(-)
create mode 100644 meta/recipes-connectivity/avahi/files/CVE-2024-52616.patch
--
2.43.0
^ permalink raw reply [flat|nested] 16+ messages in thread
end of thread, other threads:[~2025-07-20 20:05 UTC | newest]
Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-06-17 15:59 [OE-core][walnascar 00/12] Patch review Steve Sakoman
2025-06-17 15:59 ` [OE-core][walnascar 01/12] binutils: Fix for CVE-2025-3198 Steve Sakoman
2025-06-17 15:59 ` [OE-core][walnascar 02/12] net-tools: patch CVE-2025-46836 Steve Sakoman
2025-06-17 15:59 ` [OE-core][walnascar 03/12] go: upgrade 1.24.3 -> 1.24.4 Steve Sakoman
2025-06-17 15:59 ` [OE-core][walnascar 04/12] gcc: Upgrade to GCC 14.3 Steve Sakoman
2025-06-17 15:59 ` [OE-core][walnascar 05/12] kea: upgrade 2.6.1 -> 2.6.3 Steve Sakoman
2025-06-17 15:59 ` [OE-core][walnascar 06/12] python3-requests: upgrade 2.32.3 -> 2.32.4 Steve Sakoman
2025-06-17 15:59 ` [OE-core][walnascar 07/12] scripts/install-buildtools: Update to 5.2.1 Steve Sakoman
2025-06-17 15:59 ` [OE-core][walnascar 08/12] systemd: upgrade 257.4 -> 257.5 Steve Sakoman
2025-06-17 15:59 ` [OE-core][walnascar 09/12] systemd: upgrade 257.5 -> 257.6 Steve Sakoman
2025-06-17 15:59 ` [OE-core][walnascar 10/12] util-linux: fix agetty segfault issue Steve Sakoman
2025-06-17 15:59 ` [OE-core][walnascar 11/12] testimage: get real os-release file Steve Sakoman
2025-06-17 15:59 ` [OE-core][walnascar 12/12] tune-cortexr52: Remove aarch64 for ARM Cortex-R52 Steve Sakoman
-- strict thread matches above, loose matches on Subject: below --
2025-07-20 20:04 [OE-core][walnascar 00/12] Patch review Steve Sakoman
2025-05-30 17:38 Steve Sakoman
2025-05-14 15:57 Steve Sakoman
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.