* [Buildroot] [PATCH v4 00/21] package/gcc: add version 16.1.0
@ 2026-05-01 15:27 Bernd Kuhls
2026-05-01 15:27 ` [Buildroot] [PATCH v4 01/21] package/autoconf: bump version to 2.73 Bernd Kuhls
` (20 more replies)
0 siblings, 21 replies; 23+ messages in thread
From: Bernd Kuhls @ 2026-05-01 15:27 UTC (permalink / raw)
To: buildroot
Cc: Zoltan Gyarmati, Tudor Holton, Fabrice Fontaine,
Angelo Compagnucci, Olivier Schonken, Thomas Petazzoni,
Romain Naour, Giulio Benetti
This series adds gcc 16.1.0
Patches 0001 - 0014 add build fixes for gcc 16.
Regards, Bernd
v4:
- fixed typo again (Edgar)
- rephrased patch 0010 (cups-filters: needs autoreconf...) (Edgar)
v3:
- added updated cups-filters series to gcc series
- added openjdk and rocksdb bumps to series
v2: fixed typos
Angelo Compagnucci (1):
package/qpdf: bump to version 12.3.2
Bernd Kuhls (19):
package/autoconf: bump version to 2.73
package/autoconf-archive: bump version to 2024.10.16
package/redis-plus-plus: disable -Werror
package/dump1090: disable -Werror
package/qt5/qt5webkit: Fix build with gcc 16.x
package/grantlee: Fix build with gcc 16.x
package/cups-filters: add upstream patch to fix CVE-2025-64524
package/cups-filters: fix build against qpdf 12
package/cups-filters: needs autoreconf to fix build with gcc 16.x
package/openjdk{-bin}: bump versions to latest 17.x and 21.x series
package/snappy: enable rtti
package/rocksdb: bump version to 11.0.4
toolchain/Config.in: add BR2_TOOLCHAIN_GCC_AT_LEAST_16 blind option
arch/Config.in: introduce BR2_ARCH_NEEDS_GCC_AT_LEAST_17
toolchain/toolchain-external/toolchain-external-custom: add gcc 16
version selection
package/gcc: add version 16.1.0
package/gcc: switch to GCC 15.x as the default
support/config-fragments/autobuild/br-arm-internal-glibc: update to
bleeding edge components
package/gcc: drop support for GCC 13.x
Thomas Devoogdt (1):
package/openjdk{-bin}: add OpenJDK25 and configure it as latest
.checkpackageignore | 3 +-
Config.in.legacy | 7 +
DEVELOPERS | 1 +
arch/Config.in | 4 +
.../autoconf-archive/autoconf-archive.hash | 5 +-
package/autoconf-archive/autoconf-archive.mk | 2 +-
.../0001-dont-add-dirty-to-version.patch | 12 +-
package/autoconf/autoconf.hash | 5 +-
package/autoconf/autoconf.mk | 2 +-
...ix-infinite-loop-caused-by-crafted-f.patch | 83 +++++
...ilters-Fixed-building-with-QPDF-11.x.patch | 57 +++
...ated-code-to-be-built-with-QPDF-12.x.patch | 165 +++++++++
package/cups-filters/Config.in | 6 +-
package/cups-filters/cups-filters.mk | 8 +
package/dump1090/dump1090.mk | 5 +
...ISC-V-fix-build-issue-with-gcc-4.9.x.patch | 48 ---
...emove-crypt-and-crypt_r-interceptors.patch | 146 --------
...bsanitizer-Fix-build-with-glibc-2.42.patch | 81 -----
...le-split-stack-for-non-thread-builds.patch | 4 +-
...-config-microblaze-fix-ira-for-GCC15.patch | 56 +++
package/gcc/Config.in.host | 23 +-
package/gcc/gcc-initial/gcc-initial.mk | 2 +-
package/gcc/gcc.hash | 4 +-
...-id-in-constructor-of-template-class.patch | 30 ++
.../{17.0.12_7 => 17.0.18_8}/openjdk-bin.hash | 4 +-
.../{21.0.4_7 => 21.0.10_7}/openjdk-bin.hash | 4 +-
.../openjdk-bin/25.0.2_10/openjdk-bin.hash | 7 +
package/openjdk-bin/openjdk-bin.mk | 12 +-
...ARCv2-ISA-processors-support-to-Zero.patch | 0
...fix-HEADLESS-compilation-without-X11.patch | 0
...ARCv2-ISA-processors-support-to-Zero.patch | 0
...fix-HEADLESS-compilation-without-X11.patch | 0
...es-drop-the-need-for-X11-in-headless.patch | 0
...ARCv2-ISA-processors-support-to-Zero.patch | 109 ++++++
...OpenJDK-in-headless-mode-without-req.patch | 144 ++++++++
...spot-aarch64-macro-assembler-fix-cmp.patch | 43 +++
...ot-share-gc-shenandoah-fix-constexpr.patch | 42 +++
package/openjdk/Config.in | 7 +-
package/openjdk/openjdk.hash | 5 +-
package/openjdk/openjdk.mk | 16 +-
package/qpdf/Config.in | 6 +-
package/qpdf/qpdf.hash | 4 +-
package/qpdf/qpdf.mk | 27 +-
package/qt5/qt5webkit/0014-gcc16.patch | 42 +++
package/redis-plus-plus/redis-plus-plus.mk | 5 +
...ed-parameter-when-Snappy-is-disabled.patch | 24 ++
...ls-build_detect_platform-fix-C-tests.patch | 325 ------------------
package/rocksdb/rocksdb.hash | 4 +-
package/rocksdb/rocksdb.mk | 81 ++---
.../0002-add-option-to-enable-rtti.patch | 52 +++
package/snappy/snappy.mk | 5 +-
.../autobuild/br-arm-internal-glibc.config | 4 +-
.../package/openjdk-jni-test/JniTest.java | 2 +-
toolchain/Config.in | 5 +
.../Config.in.options | 5 +
55 files changed, 1002 insertions(+), 741 deletions(-)
create mode 100644 package/cups-filters/0002-rastertopclx.c-Fix-infinite-loop-caused-by-crafted-f.patch
create mode 100644 package/cups-filters/0003-libcupsfilters-Fixed-building-with-QPDF-11.x.patch
create mode 100644 package/cups-filters/0004-Updated-code-to-be-built-with-QPDF-12.x.patch
delete mode 100644 package/gcc/13.4.0/0002-RISC-V-fix-build-issue-with-gcc-4.9.x.patch
delete mode 100644 package/gcc/13.4.0/0003-Remove-crypt-and-crypt_r-interceptors.patch
delete mode 100644 package/gcc/13.4.0/0004-libsanitizer-Fix-build-with-glibc-2.42.patch
rename package/gcc/{13.4.0 => 16.1.0}/0001-disable-split-stack-for-non-thread-builds.patch (91%)
create mode 100644 package/gcc/16.1.0/0002-gcc-config-microblaze-fix-ira-for-GCC15.patch
create mode 100644 package/grantlee/0001-Remove-template-id-in-constructor-of-template-class.patch
rename package/openjdk-bin/{17.0.12_7 => 17.0.18_8}/openjdk-bin.hash (53%)
rename package/openjdk-bin/{21.0.4_7 => 21.0.10_7}/openjdk-bin.hash (53%)
create mode 100644 package/openjdk-bin/25.0.2_10/openjdk-bin.hash
rename package/openjdk/{17.0.12+7 => 17.0.18+8}/0001-Add-ARCv2-ISA-processors-support-to-Zero.patch (100%)
rename package/openjdk/{17.0.12+7 => 17.0.18+8}/0002-awt-fix-HEADLESS-compilation-without-X11.patch (100%)
rename package/openjdk/{21.0.4+7 => 21.0.10+7}/0001-Add-ARCv2-ISA-processors-support-to-Zero.patch (100%)
rename package/openjdk/{21.0.4+7 => 21.0.10+7}/0002-awt-fix-HEADLESS-compilation-without-X11.patch (100%)
rename package/openjdk/{21.0.4+7 => 21.0.10+7}/0003-autoconf-libraries-drop-the-need-for-X11-in-headless.patch (100%)
create mode 100644 package/openjdk/25.0.2+10/0001-Add-ARCv2-ISA-processors-support-to-Zero.patch
create mode 100644 package/openjdk/25.0.2+10/0002-8376684-Compile-OpenJDK-in-headless-mode-without-req.patch
create mode 100644 package/openjdk/25.0.2+10/0003-src-hotspot-aarch64-macro-assembler-fix-cmp.patch
create mode 100644 package/openjdk/25.0.2+10/0004-src-hotspot-share-gc-shenandoah-fix-constexpr.patch
create mode 100644 package/qt5/qt5webkit/0014-gcc16.patch
create mode 100644 package/rocksdb/0001-Fix-unused-parameter-when-Snappy-is-disabled.patch
delete mode 100644 package/rocksdb/0001-build_tools-build_detect_platform-fix-C-tests.patch
create mode 100644 package/snappy/0002-add-option-to-enable-rtti.patch
--
2.47.3
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 23+ messages in thread
* [Buildroot] [PATCH v4 01/21] package/autoconf: bump version to 2.73
2026-05-01 15:27 [Buildroot] [PATCH v4 00/21] package/gcc: add version 16.1.0 Bernd Kuhls
@ 2026-05-01 15:27 ` Bernd Kuhls
2026-05-01 15:27 ` [Buildroot] [PATCH v4 02/21] package/autoconf-archive: bump version to 2024.10.16 Bernd Kuhls
` (19 subsequent siblings)
20 siblings, 0 replies; 23+ messages in thread
From: Bernd Kuhls @ 2026-05-01 15:27 UTC (permalink / raw)
To: buildroot
Cc: Zoltan Gyarmati, Tudor Holton, Fabrice Fontaine,
Angelo Compagnucci, Olivier Schonken, Thomas Petazzoni,
Romain Naour, Giulio Benetti
https://lists.gnu.org/archive/html/autoconf/2026-03/msg00060.html
Rebased patch due to upstream commit
https://cgit.git.savannah.gnu.org/cgit/autoconf.git/commit/build-aux/git-version-gen?id=2f1f41b8d3cf38101c6dce30e6319402f8c44b83
Added Upstream: tag to patch.
Added sha256 hash provided by upstream.
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
---
.checkpackageignore | 1 -
.../autoconf/0001-dont-add-dirty-to-version.patch | 12 ++++++++----
package/autoconf/autoconf.hash | 5 +++--
package/autoconf/autoconf.mk | 2 +-
4 files changed, 12 insertions(+), 8 deletions(-)
diff --git a/.checkpackageignore b/.checkpackageignore
index b2d5320045..6147aae299 100644
--- a/.checkpackageignore
+++ b/.checkpackageignore
@@ -192,7 +192,6 @@ package/at/0001-Makefile.in-fix-make-install-for-non-root-don-t-stri.patch lib_p
package/at/S99at lib_sysv.Indent lib_sysv.Variables
package/attr/0001-build-with-older-GCCs.patch lib_patch.Upstream
package/aumix/0001-fix-incorrect-makefile-am.patch lib_patch.Upstream
-package/autoconf/0001-dont-add-dirty-to-version.patch lib_patch.Upstream
package/automake/0001-noman.patch lib_patch.Upstream
package/avahi/S05avahi-setup.sh lib_sysv.Indent lib_sysv.Variables
package/avahi/S50avahi-daemon lib_sysv.Indent lib_sysv.Variables
diff --git a/package/autoconf/0001-dont-add-dirty-to-version.patch b/package/autoconf/0001-dont-add-dirty-to-version.patch
index a1a50d2838..4ce3616d9d 100644
--- a/package/autoconf/0001-dont-add-dirty-to-version.patch
+++ b/package/autoconf/0001-dont-add-dirty-to-version.patch
@@ -10,19 +10,23 @@ commonly done in buildroot).
The affect is that autoconf gets built as being version 2.65-dirty, which
breaks programs (like Python) which explicitly checks for autoconf-2.65.
+Upstream: Not applicable (Buildroot specific)
+
[Gustavo: update for autoconf 2.69]
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
+[Bernd: rebased for version 2.73]
+Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
diff -Nura autoconf-2.69.orig/build-aux/git-version-gen autoconf-2.69/build-aux/git-version-gen
--- autoconf-2.69.orig/build-aux/git-version-gen 2013-06-27 11:31:02.340200154 -0300
+++ autoconf-2.69/build-aux/git-version-gen 2013-06-27 11:31:13.734577033 -0300
-@@ -210,7 +210,7 @@
+@@ -234,7 +234,7 @@
*) # Append the suffix only if there isn't one already.
case $v in
- *-dirty) ;;
-- *) v="$v-dirty" ;;
-+ #*) v="$v-dirty" ;;
+ *-dirty | *-modified) ;;
+- *) v="$v-modified" ;;
++ #*) v="$v-modified" ;;
esac ;;
esac
fi
diff --git a/package/autoconf/autoconf.hash b/package/autoconf/autoconf.hash
index f94b2d9de5..96f36ec3bd 100644
--- a/package/autoconf/autoconf.hash
+++ b/package/autoconf/autoconf.hash
@@ -1,4 +1,5 @@
-# Locally calculated after checking pgp signature
-sha256 ba885c1319578d6c94d46e9b0dceb4014caafe2490e437a0dbca3f270a223f5a autoconf-2.72.tar.xz
+# From https://lists.gnu.org/archive/html/autoconf/2026-03/msg00060.html
+sha256 9fd672b1c8425fac2fa67fa0477b990987268b90ff36d5f016dae57be0d6b52e autoconf-2.73.tar.xz
+# Locally calculated
sha256 3972dc9744f6499f0f9b2dbf76696f2ae7ad8af9b23dde66d6af86c9dfb36986 COPYINGv3
sha256 1f1cde9fb68b9b3cff18c420894bec5bd4defacd700b7d13df54a887301e5350 COPYING.EXCEPTION
diff --git a/package/autoconf/autoconf.mk b/package/autoconf/autoconf.mk
index 48bfc80e7f..6f29bba146 100644
--- a/package/autoconf/autoconf.mk
+++ b/package/autoconf/autoconf.mk
@@ -4,7 +4,7 @@
#
################################################################################
-AUTOCONF_VERSION = 2.72
+AUTOCONF_VERSION = 2.73
AUTOCONF_SOURCE = autoconf-$(AUTOCONF_VERSION).tar.xz
AUTOCONF_SITE = $(BR2_GNU_MIRROR)/autoconf
--
2.47.3
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 23+ messages in thread
* [Buildroot] [PATCH v4 02/21] package/autoconf-archive: bump version to 2024.10.16
2026-05-01 15:27 [Buildroot] [PATCH v4 00/21] package/gcc: add version 16.1.0 Bernd Kuhls
2026-05-01 15:27 ` [Buildroot] [PATCH v4 01/21] package/autoconf: bump version to 2.73 Bernd Kuhls
@ 2026-05-01 15:27 ` Bernd Kuhls
2026-05-01 15:27 ` [Buildroot] [PATCH v4 03/21] package/redis-plus-plus: disable -Werror Bernd Kuhls
` (18 subsequent siblings)
20 siblings, 0 replies; 23+ messages in thread
From: Bernd Kuhls @ 2026-05-01 15:27 UTC (permalink / raw)
To: buildroot
Cc: Zoltan Gyarmati, Tudor Holton, Fabrice Fontaine,
Angelo Compagnucci, Olivier Schonken, Thomas Petazzoni,
Romain Naour, Giulio Benetti
https://cgit.git.savannah.gnu.org/cgit/autoconf-archive.git/log/
Computed sha1 tarball hash locally due to upstream not providing
release notes this time:
https://lists.gnu.org/archive/html/autoconf-archive-announce/
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
---
package/autoconf-archive/autoconf-archive.hash | 5 ++---
package/autoconf-archive/autoconf-archive.mk | 2 +-
2 files changed, 3 insertions(+), 4 deletions(-)
diff --git a/package/autoconf-archive/autoconf-archive.hash b/package/autoconf-archive/autoconf-archive.hash
index c4658e6f91..0ca19aee1c 100644
--- a/package/autoconf-archive/autoconf-archive.hash
+++ b/package/autoconf-archive/autoconf-archive.hash
@@ -1,6 +1,5 @@
-# From https://lists.gnu.org/archive/html/autoconf-archive-announce/2023-02/msg00000.html
-sha1 e26d15db0f1ec60e9ea8ff024cf3ee895fa2eabd autoconf-archive-2023.02.20.tar.xz
# Computed locally
-sha256 71d4048479ae28f1f5794619c3d72df9c01df49b1c628ef85fde37596dc31a33 autoconf-archive-2023.02.20.tar.xz
+sha1 74be8b0ae9b11535dc0dba3f559ac302061e3c7f autoconf-archive-2024.10.16.tar.xz
+sha256 7bcd5d001916f3a50ed7436f4f700e3d2b1bade3ed803219c592d62502a57363 autoconf-archive-2024.10.16.tar.xz
sha256 e6037104443f9a7829b2aa7c5370d0789a7bda3ca65a0b904cdc0c2e285d9195 COPYING
sha256 23ed0b84fa023bfa33433b498192cd08a3bfb1f4864a8ed791a84f3eb48b2dd2 COPYING.EXCEPTION
diff --git a/package/autoconf-archive/autoconf-archive.mk b/package/autoconf-archive/autoconf-archive.mk
index 07ac7e9743..2b01ba2bb9 100644
--- a/package/autoconf-archive/autoconf-archive.mk
+++ b/package/autoconf-archive/autoconf-archive.mk
@@ -4,7 +4,7 @@
#
################################################################################
-AUTOCONF_ARCHIVE_VERSION = 2023.02.20
+AUTOCONF_ARCHIVE_VERSION = 2024.10.16
AUTOCONF_ARCHIVE_SOURCE = autoconf-archive-$(AUTOCONF_ARCHIVE_VERSION).tar.xz
AUTOCONF_ARCHIVE_SITE = $(BR2_GNU_MIRROR)/autoconf-archive
AUTOCONF_ARCHIVE_LICENSE = GPL-3.0+ with exception
--
2.47.3
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 23+ messages in thread
* [Buildroot] [PATCH v4 03/21] package/redis-plus-plus: disable -Werror
2026-05-01 15:27 [Buildroot] [PATCH v4 00/21] package/gcc: add version 16.1.0 Bernd Kuhls
2026-05-01 15:27 ` [Buildroot] [PATCH v4 01/21] package/autoconf: bump version to 2.73 Bernd Kuhls
2026-05-01 15:27 ` [Buildroot] [PATCH v4 02/21] package/autoconf-archive: bump version to 2024.10.16 Bernd Kuhls
@ 2026-05-01 15:27 ` Bernd Kuhls
2026-05-01 15:27 ` [Buildroot] [PATCH v4 04/21] package/dump1090: " Bernd Kuhls
` (17 subsequent siblings)
20 siblings, 0 replies; 23+ messages in thread
From: Bernd Kuhls @ 2026-05-01 15:27 UTC (permalink / raw)
To: buildroot
Cc: Zoltan Gyarmati, Tudor Holton, Fabrice Fontaine,
Angelo Compagnucci, Olivier Schonken, Thomas Petazzoni,
Romain Naour, Giulio Benetti
Fixes build error with gcc 16.x:
output/build/redis-plus-plus-1.3.15/src/sw/redis++/reply.h:
In constructor 'sw::redis::ParseError::ParseError(const std::string&,
const redisReply&)':
output/build/redis-plus-plus-1.3.15/src/sw/redis++/reply.h:54:60: error:
'<unknown>' may be used uninitialized [-Werror=maybe-uninitialized]
54 | const redisReply &reply) : ProtoError(_err_info(expect_type, reply)) {}
| ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
---
package/redis-plus-plus/redis-plus-plus.mk | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/package/redis-plus-plus/redis-plus-plus.mk b/package/redis-plus-plus/redis-plus-plus.mk
index 0ee9f091fb..acd3a81f3d 100644
--- a/package/redis-plus-plus/redis-plus-plus.mk
+++ b/package/redis-plus-plus/redis-plus-plus.mk
@@ -11,6 +11,11 @@ REDIS_PLUS_PLUS_LICENSE_FILES = LICENSE
REDIS_PLUS_PLUS_INSTALL_STAGING = YES
REDIS_PLUS_PLUS_DEPENDENCIES = hiredis
+define REDIS_PLUS_PLUS_NO_WERROR
+ $(SED) 's/"-Werror"//' $(@D)/CMakeLists.txt
+endef
+REDIS_PLUS_PLUS_POST_PATCH_HOOKS += REDIS_PLUS_PLUS_NO_WERROR
+
REDIS_PLUS_PLUS_CONF_OPTS = \
-DREDIS_PLUS_PLUS_BUILD_SHARED=$(if $(BR2_STATIC_LIBS),OFF,ON) \
-DREDIS_PLUS_PLUS_BUILD_TEST=OFF
--
2.47.3
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 23+ messages in thread
* [Buildroot] [PATCH v4 04/21] package/dump1090: disable -Werror
2026-05-01 15:27 [Buildroot] [PATCH v4 00/21] package/gcc: add version 16.1.0 Bernd Kuhls
` (2 preceding siblings ...)
2026-05-01 15:27 ` [Buildroot] [PATCH v4 03/21] package/redis-plus-plus: disable -Werror Bernd Kuhls
@ 2026-05-01 15:27 ` Bernd Kuhls
2026-05-01 15:27 ` [Buildroot] [PATCH v4 05/21] package/qt5/qt5webkit: Fix build with gcc 16.x Bernd Kuhls
` (16 subsequent siblings)
20 siblings, 0 replies; 23+ messages in thread
From: Bernd Kuhls @ 2026-05-01 15:27 UTC (permalink / raw)
To: buildroot
Cc: Zoltan Gyarmati, Tudor Holton, Fabrice Fontaine,
Angelo Compagnucci, Olivier Schonken, Thomas Petazzoni,
Romain Naour, Giulio Benetti
Fixes build error with gcc 16.x:
interactive.c: In function 'interactiveShowData':
interactive.c:334:49: error: '%5d' directive output may be truncated
writing between 5 and 11 bytes into a region of size 7
[-Werror=format-truncation=]
334 | snprintf(strFl, sizeof(strFl), "%5d ", convert_altitude(modeC * 100));
| ^~~
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
---
package/dump1090/dump1090.mk | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/package/dump1090/dump1090.mk b/package/dump1090/dump1090.mk
index 1ecdfca47f..9a18c356cc 100644
--- a/package/dump1090/dump1090.mk
+++ b/package/dump1090/dump1090.mk
@@ -11,6 +11,11 @@ DUMP1090_LICENSE_FILES = LICENSE
DUMP1090_DEPENDENCIES = host-pkgconf ncurses
DUMP1090_MAKE_OPTS = BLADERF=no CPUFEATURES=no LIMESDR=no
+define DUMP1090_NO_WERROR
+ $(SED) 's/-Werror//' $(@D)/Makefile
+endef
+DUMP1090_POST_PATCH_HOOKS += DUMP1090_NO_WERROR
+
ifeq ($(BR2_PACKAGE_HACKRF),y)
DUMP1090_DEPENDENCIES += hackrf
DUMP1090_MAKE_OPTS += HACKRF=yes
--
2.47.3
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 23+ messages in thread
* [Buildroot] [PATCH v4 05/21] package/qt5/qt5webkit: Fix build with gcc 16.x
2026-05-01 15:27 [Buildroot] [PATCH v4 00/21] package/gcc: add version 16.1.0 Bernd Kuhls
` (3 preceding siblings ...)
2026-05-01 15:27 ` [Buildroot] [PATCH v4 04/21] package/dump1090: " Bernd Kuhls
@ 2026-05-01 15:27 ` Bernd Kuhls
2026-05-01 15:27 ` [Buildroot] [PATCH v4 06/21] package/grantlee: " Bernd Kuhls
` (15 subsequent siblings)
20 siblings, 0 replies; 23+ messages in thread
From: Bernd Kuhls @ 2026-05-01 15:27 UTC (permalink / raw)
To: buildroot
Cc: Zoltan Gyarmati, Tudor Holton, Fabrice Fontaine,
Angelo Compagnucci, Olivier Schonken, Thomas Petazzoni,
Romain Naour, Giulio Benetti
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
---
package/qt5/qt5webkit/0014-gcc16.patch | 42 ++++++++++++++++++++++++++
1 file changed, 42 insertions(+)
create mode 100644 package/qt5/qt5webkit/0014-gcc16.patch
diff --git a/package/qt5/qt5webkit/0014-gcc16.patch b/package/qt5/qt5webkit/0014-gcc16.patch
new file mode 100644
index 0000000000..795baf6386
--- /dev/null
+++ b/package/qt5/qt5webkit/0014-gcc16.patch
@@ -0,0 +1,42 @@
+From a2702a610d5ce7353e751c9604307c57e89eba8e Mon Sep 17 00:00:00 2001
+From: Than Ngo <than@redhat.com>
+Date: Feb 07 2026 15:46:16 +0000
+Subject: Fix rhbz#2435048, FTBFS
+
+Fixes build error with gcc >= 16.x:
+https://bugzilla.redhat.com/show_bug.cgi?id=2435048
+
+(.data.rel.ro._ZTIN7WebCore26CachedScriptSourceProviderE[_ZTIN7WebCore26CachedScriptSourceProviderE]+0x10):
+ undefined reference to `typeinfo for JSC::SourceProvider'
+
+Patch used in Fedora:
+ https://src.fedoraproject.org/rpms/qt5-qtwebkit/raw/rawhide/f/qtwebkit-ftbfs-gcc16.patch
+
+Upstream: dead
+
+Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
+
+diff -up qtwebkit-5.212.0-alpha4/Source/cmake/OptionsCommon.cmake.me qtwebkit-5.212.0-alpha4/Source/cmake/OptionsCommon.cmake
+--- qtwebkit-5.212.0-alpha4/Source/cmake/OptionsCommon.cmake.me 2026-02-07 14:18:35.540570280 +0100
++++ qtwebkit-5.212.0-alpha4/Source/cmake/OptionsCommon.cmake 2026-02-07 14:19:38.422089625 +0100
+@@ -30,7 +30,7 @@ set_property(GLOBAL PROPERTY USE_FOLDERS
+
+ if (COMPILER_IS_GCC_OR_CLANG)
+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fno-exceptions -fno-strict-aliasing")
+- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-exceptions -fno-strict-aliasing -fno-rtti")
++ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-exceptions -fno-strict-aliasing -frtti")
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
+ endif ()
+
+diff -up qtwebkit-5.212.0-alpha4/Source/JavaScriptCore/parser/SourceProvider.h.me qtwebkit-5.212.0-alpha4/Source/JavaScriptCore/parser/SourceProvider.h
+--- qtwebkit-5.212.0-alpha4/Source/JavaScriptCore/parser/SourceProvider.h.me 2026-02-07 15:12:07.758432773 +0100
++++ qtwebkit-5.212.0-alpha4/Source/JavaScriptCore/parser/SourceProvider.h 2026-02-07 15:12:26.229485643 +0100
+@@ -35,7 +35,7 @@
+
+ namespace JSC {
+
+- class SourceProvider : public RefCounted<SourceProvider> {
++ class JS_EXPORT_PRIVATE SourceProvider : public RefCounted<SourceProvider> {
+ public:
+ static const intptr_t nullID = 1;
+
--
2.47.3
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 23+ messages in thread
* [Buildroot] [PATCH v4 06/21] package/grantlee: Fix build with gcc 16.x
2026-05-01 15:27 [Buildroot] [PATCH v4 00/21] package/gcc: add version 16.1.0 Bernd Kuhls
` (4 preceding siblings ...)
2026-05-01 15:27 ` [Buildroot] [PATCH v4 05/21] package/qt5/qt5webkit: Fix build with gcc 16.x Bernd Kuhls
@ 2026-05-01 15:27 ` Bernd Kuhls
2026-05-01 15:27 ` [Buildroot] [PATCH v4 07/21] package/cups-filters: add upstream patch to fix CVE-2025-64524 Bernd Kuhls
` (14 subsequent siblings)
20 siblings, 0 replies; 23+ messages in thread
From: Bernd Kuhls @ 2026-05-01 15:27 UTC (permalink / raw)
To: buildroot
Cc: Zoltan Gyarmati, Tudor Holton, Fabrice Fontaine,
Angelo Compagnucci, Olivier Schonken, Thomas Petazzoni,
Romain Naour, Giulio Benetti
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
---
...-id-in-constructor-of-template-class.patch | 30 +++++++++++++++++++
1 file changed, 30 insertions(+)
create mode 100644 package/grantlee/0001-Remove-template-id-in-constructor-of-template-class.patch
diff --git a/package/grantlee/0001-Remove-template-id-in-constructor-of-template-class.patch b/package/grantlee/0001-Remove-template-id-in-constructor-of-template-class.patch
new file mode 100644
index 0000000000..6fd4636df1
--- /dev/null
+++ b/package/grantlee/0001-Remove-template-id-in-constructor-of-template-class.patch
@@ -0,0 +1,30 @@
+From 261bfe75d718abfc537ddcebfe805df01c33ab3a Mon Sep 17 00:00:00 2001
+From: Pino Toscano <toscano.pino@tiscali.it>
+Date: Sat, 25 Apr 2026 10:21:47 +0200
+Subject: [PATCH] Remove template-id in constructor of template class
+
+It was not required, and it is invalid now in C++ 20.
+
+Upstream: https://github.com/steveire/grantlee/pull/93
+
+Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
+---
+ templates/defaulttags/cycle.h | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/templates/defaulttags/cycle.h b/templates/defaulttags/cycle.h
+index 936c2a2e..a917555f 100644
+--- a/templates/defaulttags/cycle.h
++++ b/templates/defaulttags/cycle.h
+@@ -40,9 +40,9 @@ Cycles endlessly over elements.
+ template <typename T> class RingIterator
+ {
+ public:
+- RingIterator<T>() {}
++ RingIterator() {}
+
+- RingIterator<T>(const QList<T> &list)
++ RingIterator(const QList<T> &list)
+ : m_begin(list.constBegin()), m_it(list.constBegin()),
+ m_end(list.constEnd())
+ {
--
2.47.3
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 23+ messages in thread
* [Buildroot] [PATCH v4 07/21] package/cups-filters: add upstream patch to fix CVE-2025-64524
2026-05-01 15:27 [Buildroot] [PATCH v4 00/21] package/gcc: add version 16.1.0 Bernd Kuhls
` (5 preceding siblings ...)
2026-05-01 15:27 ` [Buildroot] [PATCH v4 06/21] package/grantlee: " Bernd Kuhls
@ 2026-05-01 15:27 ` Bernd Kuhls
2026-05-04 14:55 ` Thomas Perale via buildroot
2026-05-01 15:27 ` [Buildroot] [PATCH v4 08/21] package/qpdf: bump to version 12.3.2 Bernd Kuhls
` (13 subsequent siblings)
20 siblings, 1 reply; 23+ messages in thread
From: Bernd Kuhls @ 2026-05-01 15:27 UTC (permalink / raw)
To: buildroot
Cc: Zoltan Gyarmati, Tudor Holton, Fabrice Fontaine,
Angelo Compagnucci, Olivier Schonken, Thomas Petazzoni,
Romain Naour, Giulio Benetti
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
---
...ix-infinite-loop-caused-by-crafted-f.patch | 83 +++++++++++++++++++
package/cups-filters/cups-filters.mk | 3 +
2 files changed, 86 insertions(+)
create mode 100644 package/cups-filters/0002-rastertopclx.c-Fix-infinite-loop-caused-by-crafted-f.patch
diff --git a/package/cups-filters/0002-rastertopclx.c-Fix-infinite-loop-caused-by-crafted-f.patch b/package/cups-filters/0002-rastertopclx.c-Fix-infinite-loop-caused-by-crafted-f.patch
new file mode 100644
index 0000000000..e9900e5672
--- /dev/null
+++ b/package/cups-filters/0002-rastertopclx.c-Fix-infinite-loop-caused-by-crafted-f.patch
@@ -0,0 +1,83 @@
+From b03866fd2e251a6d822a5e8c807c8d47b4d2dce2 Mon Sep 17 00:00:00 2001
+From: Zdenek Dohnal <zdohnal@redhat.com>
+Date: Wed, 12 Nov 2025 16:02:20 +0100
+Subject: [PATCH] rastertopclx.c: Fix infinite loop caused by crafted file
+
+Infinite loop happened because of crafted input raster file, which led
+into heap buffer overflow of `CompressBuf` array.
+
+Based on comments there should be always some `count` when compressing
+the data, and processing of crafted file ended with offset and count
+being 0.
+
+Fixes CVE-2025-64524
+
+Upstream: https://github.com/OpenPrinting/cups-filters/commit/b03866fd2e251a6d822a5e8c807c8d47b4d2dce2
+
+Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
+---
+ filter/rastertopclx.c | 25 +++++++++++++++++++++++--
+ 1 file changed, 23 insertions(+), 2 deletions(-)
+
+diff --git a/filter/rastertopclx.c b/filter/rastertopclx.c
+index 3e7c129da..1015308da 100644
+--- a/filter/rastertopclx.c
++++ b/filter/rastertopclx.c
+@@ -818,10 +818,10 @@ StartPage(ppd_file_t *ppd, /* I - PPD file */
+ }
+
+ if (header->cupsCompression)
+- CompBuffer = malloc(DotBufferSize * 4);
++ CompBuffer = calloc(DotBufferSize * 4, sizeof(unsigned char));
+
+ if (header->cupsCompression >= 3)
+- SeedBuffer = malloc(DotBufferSize);
++ SeedBuffer = calloc(DotBufferSize, sizeof(unsigned char));
+
+ SeedInvalid = 1;
+
+@@ -1152,6 +1152,13 @@ CompressData(unsigned char *line, /* I - Data to compress */
+ seed ++;
+ count ++;
+ }
++
++ //
++ // Bail out if we don't have count to compress
++ //
++
++ if (count == 0)
++ break;
+ }
+
+ /*
+@@ -1245,6 +1252,13 @@ CompressData(unsigned char *line, /* I - Data to compress */
+
+ count = line_ptr - start;
+
++ //
++ // Bail out if we don't have count to compress
++ //
++
++ if (count == 0)
++ break;
++
+ #if 0
+ fprintf(stderr, "DEBUG: offset=%d, count=%d, comp_ptr=%p(%d of %d)...\n",
+ offset, count, comp_ptr, comp_ptr - CompBuffer,
+@@ -1416,6 +1430,13 @@ CompressData(unsigned char *line, /* I - Data to compress */
+
+ count = (line_ptr - start) / 3;
+
++ //
++ // Bail out if we don't have count to compress
++ //
++
++ if (count == 0)
++ break;
++
+ /*
+ * Place mode 10 compression data in the buffer; each sequence
+ * starts with a command byte that looks like:
+--
+2.47.3
+
diff --git a/package/cups-filters/cups-filters.mk b/package/cups-filters/cups-filters.mk
index dcfb2e9500..6bc4610376 100644
--- a/package/cups-filters/cups-filters.mk
+++ b/package/cups-filters/cups-filters.mk
@@ -13,6 +13,9 @@ CUPS_FILTERS_CPE_ID_VENDOR = linuxfoundation
# 0001-beh-backend-Use-execv-instead-of-system-CVE-2023-24805.patch
CUPS_FILTERS_IGNORE_CVES += CVE-2023-24805
+# 0002-rastertopclx.c-Fix-infinite-loop-caused-by-crafted-f.patch
+CUPS_FILTERS_IGNORE_CVES += CVE-2025-64524
+
CUPS_FILTERS_DEPENDENCIES = cups libglib2 lcms2 qpdf fontconfig freetype jpeg
CUPS_FILTERS_CONF_OPTS = \
--
2.47.3
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 23+ messages in thread
* [Buildroot] [PATCH v4 08/21] package/qpdf: bump to version 12.3.2
2026-05-01 15:27 [Buildroot] [PATCH v4 00/21] package/gcc: add version 16.1.0 Bernd Kuhls
` (6 preceding siblings ...)
2026-05-01 15:27 ` [Buildroot] [PATCH v4 07/21] package/cups-filters: add upstream patch to fix CVE-2025-64524 Bernd Kuhls
@ 2026-05-01 15:27 ` Bernd Kuhls
2026-05-01 15:27 ` [Buildroot] [PATCH v4 09/21] package/cups-filters: fix build against qpdf 12 Bernd Kuhls
` (12 subsequent siblings)
20 siblings, 0 replies; 23+ messages in thread
From: Bernd Kuhls @ 2026-05-01 15:27 UTC (permalink / raw)
To: buildroot
Cc: Zoltan Gyarmati, Tudor Holton, Fabrice Fontaine,
Angelo Compagnucci, Olivier Schonken, Thomas Petazzoni,
Romain Naour, Giulio Benetti
From: Angelo Compagnucci <angelo.compagnucci@gmail.com>
Changelog:
https://qpdf.readthedocs.io/en/stable/release-notes.html
Quoting the release notes for version 12.3.0:
"A C++20 compiler is now required to build or test qpdf."
Updated Config.in accordingly.
Updating source URL (Github) and updating build system to cmake.
Build-tested using this defconfig
BR2_PACKAGE_QPDF=y
BR2_PACKAGE_GNUTLS=y
BR2_PACKAGE_OPENSSL=y
arm-aarch64 [ 1/32]: OK
bootlin-aarch64-glibc [ 2/32]: OK
bootlin-aarch64-glibc-old [ 3/32]: SKIPPED
bootlin-arcle-hs38-uclibc [ 4/32]: OK
bootlin-armv5-uclibc [ 5/32]: OK
bootlin-armv7-glibc [ 6/32]: OK
bootlin-armv7m-uclibc [ 7/32]: SKIPPED
bootlin-armv7-musl [ 8/32]: OK
bootlin-m68k-5208-uclibc [ 9/32]: SKIPPED
bootlin-m68k-68040-uclibc [10/32]: OK
bootlin-microblazeel-uclibc [11/32]: OK
bootlin-mips64el-glibc [12/32]: OK
bootlin-mipsel32r6-glibc [13/32]: OK
bootlin-mipsel-uclibc [14/32]: OK
bootlin-openrisc-uclibc [15/32]: OK
bootlin-powerpc64le-power8-glibc [16/32]: OK
bootlin-powerpc-e500mc-uclibc [17/32]: OK
bootlin-riscv32-glibc [18/32]: OK
bootlin-riscv64-glibc [19/32]: OK
bootlin-riscv64-musl [20/32]: OK
bootlin-s390x-z13-glibc [21/32]: OK
bootlin-sh4-uclibc [22/32]: OK
bootlin-sparc64-glibc [23/32]: OK
bootlin-sparc-uclibc [24/32]: OK
bootlin-x86-64-glibc [25/32]: OK
bootlin-x86-64-musl [26/32]: OK
bootlin-x86-64-uclibc [27/32]: OK
bootlin-x86-i686-musl [28/32]: OK
bootlin-xtensa-uclibc [29/32]: OK
br-arm-basic [30/32]: SKIPPED
br-arm-full-nothread [31/32]: SKIPPED
br-arm-full-static [32/32]: SKIPPED
32 builds, 6 skipped, 0 build failed, 0 legal-info failed, 0 show-info failed
Signed-off-by: Angelo Compagnucci <angelo.compagnucci@gmail.com>
[Bernd:
- bumped to 12.3.2
- raised gcc version to 10
- removed configure option -DSKIP_OS_SECURE_RANDOM=ON as suggested
by Angelo: https://lists.buildroot.org/pipermail/buildroot/2025-August/784962.html
- added build test results]
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
---
DEVELOPERS | 1 +
package/cups-filters/Config.in | 6 +++---
package/qpdf/Config.in | 6 +++---
package/qpdf/qpdf.hash | 4 ++--
package/qpdf/qpdf.mk | 27 +++++++++++----------------
5 files changed, 20 insertions(+), 24 deletions(-)
diff --git a/DEVELOPERS b/DEVELOPERS
index 1270365ef0..41d93080ac 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -243,6 +243,7 @@ F: package/python-pillow/
F: package/python-pydal/
F: package/python-spidev/
F: package/python-web2py/
+F: package/qpdf/
F: package/qt5/qt5coap/
F: package/qt5/qt5knx/
F: package/qt5/qt5mqtt/
diff --git a/package/cups-filters/Config.in b/package/cups-filters/Config.in
index ded99a4774..b5b9e04a28 100644
--- a/package/cups-filters/Config.in
+++ b/package/cups-filters/Config.in
@@ -7,7 +7,7 @@ config BR2_PACKAGE_CUPS_FILTERS
depends on BR2_USE_WCHAR # libglib2
depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2
depends on BR2_PACKAGE_CUPS
- depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5 # qpdf
+ depends on BR2_TOOLCHAIN_GCC_AT_LEAST_10 # qpdf
depends on BR2_TOOLCHAIN_HAS_ATOMIC # qpdf
select BR2_PACKAGE_JPEG
select BR2_PACKAGE_FONTCONFIG
@@ -32,9 +32,9 @@ config BR2_PACKAGE_CUPS_FILTERS
http://www.linuxfoundation.org/collaborate/workgroups/openprinting/cups-filters
-comment "cups-filters needs a toolchain w/ wchar, C++, threads and dynamic library, gcc >= 5"
+comment "cups-filters needs a toolchain w/ wchar, C++, threads and dynamic library, gcc >= 10"
depends on BR2_USE_MMU
depends on BR2_TOOLCHAIN_HAS_ATOMIC
depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS || \
!BR2_USE_WCHAR || BR2_STATIC_LIBS || \
- !BR2_TOOLCHAIN_GCC_AT_LEAST_5
+ !BR2_TOOLCHAIN_GCC_AT_LEAST_10
diff --git a/package/qpdf/Config.in b/package/qpdf/Config.in
index accf2b5f34..ccb6715110 100644
--- a/package/qpdf/Config.in
+++ b/package/qpdf/Config.in
@@ -1,7 +1,7 @@
config BR2_PACKAGE_QPDF
bool "qpdf"
depends on BR2_INSTALL_LIBSTDCPP
- depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5 # C++14
+ depends on BR2_TOOLCHAIN_GCC_AT_LEAST_10 # C++20
depends on BR2_TOOLCHAIN_HAS_ATOMIC
select BR2_PACKAGE_ZLIB
select BR2_PACKAGE_JPEG
@@ -16,7 +16,7 @@ config BR2_PACKAGE_QPDF
http://qpdf.sourceforge.net/
-comment "qpdf needs a toolchain w/ C++, gcc >= 5"
+comment "qpdf needs a toolchain w/ C++, gcc >= 10"
depends on BR2_TOOLCHAIN_HAS_ATOMIC
depends on !BR2_INSTALL_LIBSTDCPP || \
- !BR2_TOOLCHAIN_GCC_AT_LEAST_5
+ !BR2_TOOLCHAIN_GCC_AT_LEAST_10
diff --git a/package/qpdf/qpdf.hash b/package/qpdf/qpdf.hash
index 08a048f2ed..81bee9e58c 100644
--- a/package/qpdf/qpdf.hash
+++ b/package/qpdf/qpdf.hash
@@ -1,5 +1,5 @@
-# From https://sourceforge.net/projects/qpdf/files/qpdf/10.5.0/qpdf-10.5.0.sha256/download
-sha256 88257d36a44fd5c50b2879488324dd9cafc11686ae49d8c4922a4872203ce006 qpdf-10.5.0.tar.gz
+# From https://github.com/qpdf/qpdf/releases/download/v12.3.2/qpdf-12.3.2.sha256
+sha256 6cba2f9f2cd887d905faeb99e0e51a307b217920d1bbf3e9cfbb2e8178a2deda qpdf-12.3.2.tar.gz
# Locally computed:
sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 LICENSE.txt
sha256 fb929ac30decb4dc3a2eea2bec6c43296a797c5d2d602deb3784ee39430583d5 Artistic-2.0
diff --git a/package/qpdf/qpdf.mk b/package/qpdf/qpdf.mk
index d479515789..c11b42f60c 100644
--- a/package/qpdf/qpdf.mk
+++ b/package/qpdf/qpdf.mk
@@ -4,36 +4,31 @@
#
################################################################################
-QPDF_VERSION = 10.5.0
-QPDF_SITE = http://downloads.sourceforge.net/project/qpdf/qpdf/$(QPDF_VERSION)
+QPDF_VERSION = 12.3.2
+QPDF_SITE = https://github.com/qpdf/qpdf/releases/download/v$(QPDF_VERSION)
QPDF_INSTALL_STAGING = YES
QPDF_LICENSE = Apache-2.0 or Artistic-2.0
QPDF_LICENSE_FILES = LICENSE.txt Artistic-2.0
QPDF_CPE_ID_VALID = YES
QPDF_DEPENDENCIES = host-pkgconf zlib jpeg
+QPDF_SUPPORTS_IN_SOURCE_BUILD = NO
-QPDF_CONF_OPTS = --with-random=/dev/urandom
-
-ifeq ($(BR2_USE_WCHAR),)
-QPDF_CONF_ENV += CXXFLAGS="$(TARGET_CXXFLAGS) -DQPDF_NO_WCHAR_T"
-endif
+QPDF_CONF_OPTS = \
+ -DUSE_IMPLICIT_CRYPTO=OFF \
+ -DREQUIRE_CRYPTO_NATIVE=ON
ifeq ($(BR2_PACKAGE_GNUTLS),y)
-QPDF_CONF_OPTS += --enable-crypto-gnutls
+QPDF_CONF_OPTS += -DREQUIRE_CRYPTO_GNUTLS=ON
QPDF_DEPENDENCIES += gnutls
else
-QPDF_CONF_OPTS += --disable-crypto-gnutls
+QPDF_CONF_OPTS += -DREQUIRE_CRYPTO_GNUTLS=OFF
endif
ifeq ($(BR2_PACKAGE_OPENSSL),y)
-QPDF_CONF_OPTS += --enable-crypto-openssl
+QPDF_CONF_OPTS += -DREQUIRE_CRYPTO_OPENSSL=ON
QPDF_DEPENDENCIES += openssl
else
-QPDF_CONF_OPTS += --disable-crypto-openssl
-endif
-
-ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y)
-QPDF_CONF_ENV += LIBS=-latomic
+QPDF_CONF_OPTS += -DREQUIRE_CRYPTO_OPENSSL=OFF
endif
-$(eval $(autotools-package))
+$(eval $(cmake-package))
--
2.47.3
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 23+ messages in thread
* [Buildroot] [PATCH v4 09/21] package/cups-filters: fix build against qpdf 12
2026-05-01 15:27 [Buildroot] [PATCH v4 00/21] package/gcc: add version 16.1.0 Bernd Kuhls
` (7 preceding siblings ...)
2026-05-01 15:27 ` [Buildroot] [PATCH v4 08/21] package/qpdf: bump to version 12.3.2 Bernd Kuhls
@ 2026-05-01 15:27 ` Bernd Kuhls
2026-05-01 15:27 ` [Buildroot] [PATCH v4 10/21] package/cups-filters: needs autoreconf to fix build with gcc 16.x Bernd Kuhls
` (11 subsequent siblings)
20 siblings, 0 replies; 23+ messages in thread
From: Bernd Kuhls @ 2026-05-01 15:27 UTC (permalink / raw)
To: buildroot
Cc: Zoltan Gyarmati, Tudor Holton, Fabrice Fontaine,
Angelo Compagnucci, Olivier Schonken, Thomas Petazzoni,
Romain Naour, Giulio Benetti
This patch adds fixes for cups-filters so it can be build with newer
versions of qpdf that made changes to PointerHolder:
https://github.com/qpdf/qpdf/blob/v12.3.2/manual/design.rst#smart-pointers
Build-tested using this defconfig:
BR2_PACKAGE_CUPS=y
BR2_PACKAGE_CUPS_FILTERS=y
arm-aarch64 [ 1/32]: OK
bootlin-aarch64-glibc [ 2/32]: OK
bootlin-aarch64-glibc-old [ 3/32]: SKIPPED
bootlin-arcle-hs38-uclibc [ 4/32]: OK
bootlin-armv5-uclibc [ 5/32]: OK
bootlin-armv7-glibc [ 6/32]: OK
bootlin-armv7m-uclibc [ 7/32]: SKIPPED
bootlin-armv7-musl [ 8/32]: OK
bootlin-m68k-5208-uclibc [ 9/32]: SKIPPED
bootlin-m68k-68040-uclibc [10/32]: OK
bootlin-microblazeel-uclibc [11/32]: OK
bootlin-mips64el-glibc [12/32]: OK
bootlin-mipsel32r6-glibc [13/32]: OK
bootlin-mipsel-uclibc [14/32]: OK
bootlin-openrisc-uclibc [15/32]: OK
bootlin-powerpc64le-power8-glibc [16/32]: OK
bootlin-powerpc-e500mc-uclibc [17/32]: OK
bootlin-riscv32-glibc [18/32]: OK
bootlin-riscv64-glibc [19/32]: OK
bootlin-riscv64-musl [20/32]: OK
bootlin-s390x-z13-glibc [21/32]: OK
bootlin-sh4-uclibc [22/32]: OK
bootlin-sparc64-glibc [23/32]: OK
bootlin-sparc-uclibc [24/32]: OK
bootlin-x86-64-glibc [25/32]: OK
bootlin-x86-64-musl [26/32]: OK
bootlin-x86-64-uclibc [27/32]: OK
bootlin-x86-i686-musl [28/32]: OK
bootlin-xtensa-uclibc [29/32]: OK
br-arm-basic [30/32]: SKIPPED
br-arm-full-nothread [31/32]: SKIPPED
br-arm-full-static [32/32]: SKIPPED
32 builds, 6 skipped, 0 build failed, 0 legal-info failed, 0 show-info failed
This solution avoids[1] a version bump of this package while keeping
compatibility with the newest version of qpdf. The bump of qpdf is
needed to fix build errors with gcc 16.x.
[1] https://lists.buildroot.org/pipermail/buildroot/2025-August/784931.html
Thomas: "which means duplicating all the crazy dependencies of
libcupsfilters yes :/"
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
---
...ilters-Fixed-building-with-QPDF-11.x.patch | 57 ++++++
...ated-code-to-be-built-with-QPDF-12.x.patch | 165 ++++++++++++++++++
package/cups-filters/cups-filters.mk | 4 +
3 files changed, 226 insertions(+)
create mode 100644 package/cups-filters/0003-libcupsfilters-Fixed-building-with-QPDF-11.x.patch
create mode 100644 package/cups-filters/0004-Updated-code-to-be-built-with-QPDF-12.x.patch
diff --git a/package/cups-filters/0003-libcupsfilters-Fixed-building-with-QPDF-11.x.patch b/package/cups-filters/0003-libcupsfilters-Fixed-building-with-QPDF-11.x.patch
new file mode 100644
index 0000000000..f4dc04d3cf
--- /dev/null
+++ b/package/cups-filters/0003-libcupsfilters-Fixed-building-with-QPDF-11.x.patch
@@ -0,0 +1,57 @@
+From 0cce0968980e8fdd9053cba436a66246b2303a84 Mon Sep 17 00:00:00 2001
+From: Till Kamppeter <till.kamppeter@gmail.com>
+Date: Wed, 6 Dec 2023 22:56:41 +0100
+Subject: [PATCH] libcupsfilters: Fixed building with QPDF 11.x
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Set CXXFLAGS="-DPOINTERHOLDER_TRANSITION=0" to silence QPDF warnings
+
+QPDF 11 issues warnings about deprecated "PointerHolder", even if the
+code does not use "PointerHolder" any more. This compiler macro
+suppresses the warnings.
+
+See /usr/include/qpdf/PointerHolder.hh of QPDF 11.
+
+Backported from libcupsfilters (2.x), commit 076a994fce
+
+Added "-std=c++17" C++ compiler flag (PR#18)
+
+Needed as otherwise the QPDF.hh file of QPDF 11 causes the error
+
+ ‘std::string_view’ has not been declared
+
+Adding the "-std=c++17" to CXXFLAGS fixes this. See also
+
+ https://stackoverflow.com/questions/58295334/error-stdstring-view-has-no
+t-been-declared
+
+Backported from libcupsfilters (2.x), commit e1daf27c59
+
+Upstream: https://github.com/OpenPrinting/cups-filters/commit/0cce0968980e8fdd9053cba436a66246b2303a84
+
+Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
+---
+ configure.ac | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index 083aecb83..f293e803b 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -837,7 +837,10 @@ AS_IF([test x"$GCC" = "xyes"], [
+ CXXFLAGS="$CXXFLAGS -Wall " # -Weffc++" # TODO: enable when it does not print 1MB of warnings
+ ])
+ CFLAGS="$CFLAGS -D_GNU_SOURCE"
+-CXXFLAGS="$CXXFLAGS -D_GNU_SOURCE"
++CXXFLAGS="$CXXFLAGS -D_GNU_SOURCE -DPOINTERHOLDER_TRANSITION=0"
++# ^^ Silence deprecation warnings of QPDF 11
++# See /usr/include/qpdf/PointerHolder.hh
++CXXFLAGS="$CXXFLAGS -std=c++17" # Needed to build with current QPDF (11.x)
+
+ # ==========================
+ # Braille embossing/liblouis
+--
+2.47.3
+
diff --git a/package/cups-filters/0004-Updated-code-to-be-built-with-QPDF-12.x.patch b/package/cups-filters/0004-Updated-code-to-be-built-with-QPDF-12.x.patch
new file mode 100644
index 0000000000..8996a6afce
--- /dev/null
+++ b/package/cups-filters/0004-Updated-code-to-be-built-with-QPDF-12.x.patch
@@ -0,0 +1,165 @@
+From 7b6e46ea6237763104bf2a22eca66ba92a6b71a4 Mon Sep 17 00:00:00 2001
+From: Till Kamppeter <till.kamppeter@gmail.com>
+Date: Wed, 12 Nov 2025 16:10:51 +0100
+Subject: [PATCH] Updated code to be built with QPDF 12.x
+
+- Set `#define POINTERHOLDER_TRANSITION 3`
+- Explicitly `#include <qpdf/PointerHolder.hh>`
+- `ph = (PointerHolder<Buffer>) new Buffer(buff, profile_size);` in `rastertopdf.cpp`
+- Removed `-DPOINTERHOLDER_TRANSITION=0` from `CXXFLAGS` in `configure.ac`
+- Replaced all `replaceOrRemoveKey()` by `replaceKey()`
+
+Upstream: https://github.com/OpenPrinting/cups-filters/commit/7b6e46ea6237763104bf2a22eca66ba92a6b71a4
+
+Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
+---
+ configure.ac | 3 ---
+ filter/pdf.cxx | 2 ++
+ filter/pdftopdf/qpdf_pdftopdf_processor.cc | 18 +++++++++---------
+ filter/pdftopdf/qpdf_xobject.cc | 2 ++
+ filter/rastertopdf.cpp | 4 +++-
+ filter/urftopdf.cpp | 2 ++
+ 6 files changed, 18 insertions(+), 13 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 32180d0da..702b58a0a 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -793,9 +793,6 @@ AS_IF([test x"$GCC" = "xyes"], [
+ CXXFLAGS="$CXXFLAGS -Wall " # -Weffc++" # TODO: enable when it does not print 1MB of warnings
+ ])
+ CFLAGS="$CFLAGS -D_GNU_SOURCE"
+-CXXFLAGS="$CXXFLAGS -D_GNU_SOURCE -DPOINTERHOLDER_TRANSITION=0"
+-# ^^ Silence deprecation warnings of QPDF 11
+-# See /usr/include/qpdf/PointerHolder.hh
+ CXXFLAGS="$CXXFLAGS -std=c++17" # Needed to build with current QPDF (11.x)
+
+ # ==========================
+diff --git a/filter/pdf.cxx b/filter/pdf.cxx
+index 68b1af912..7d592dc95 100644
+--- a/filter/pdf.cxx
++++ b/filter/pdf.cxx
+@@ -21,6 +21,8 @@
+ #include <vector>
+ #include <string>
+ #include <cstring>
++#define POINTERHOLDER_TRANSITION 3
++#include <qpdf/PointerHolder.hh>
+ #include <qpdf/QPDF.hh>
+ #include <qpdf/QPDFObjectHandle.hh>
+ #include <qpdf/QPDFWriter.hh>
+diff --git a/filter/pdftopdf/qpdf_pdftopdf_processor.cc b/filter/pdftopdf/qpdf_pdftopdf_processor.cc
+index beffc2423..3c21a6512 100644
+--- a/filter/pdftopdf/qpdf_pdftopdf_processor.cc
++++ b/filter/pdftopdf/qpdf_pdftopdf_processor.cc
+@@ -83,10 +83,10 @@ QPDFObjectHandle QPDF_PDFTOPDF_PageHandle::get() // {{{
+ page.getKey("/Resources").replaceKey("/XObject",QPDFObjectHandle::newDictionary(xobjs));
+ content.append("Q\n");
+ page.getKey("/Contents").replaceStreamData(content,QPDFObjectHandle::newNull(),QPDFObjectHandle::newNull());
+- page.replaceOrRemoveKey("/Rotate",makeRotate(rotation));
++ page.replaceKey("/Rotate",makeRotate(rotation));
+ } else {
+ Rotation rot=getRotate(page)+rotation;
+- page.replaceOrRemoveKey("/Rotate",makeRotate(rot));
++ page.replaceKey("/Rotate",makeRotate(rot));
+ }
+ page=QPDFObjectHandle(); // i.e. uninitialized
+ return ret;
+@@ -181,9 +181,9 @@ Rotation QPDF_PDFTOPDF_PageHandle::crop(const PageRect &cropRect,Rotation orient
+ page.assertInitialized();
+ Rotation save_rotate = getRotate(page);
+ if(orientation==ROT_0||orientation==ROT_180)
+- page.replaceOrRemoveKey("/Rotate",makeRotate(ROT_90));
++ page.replaceKey("/Rotate",makeRotate(ROT_90));
+ else
+- page.replaceOrRemoveKey("/Rotate",makeRotate(ROT_0));
++ page.replaceKey("/Rotate",makeRotate(ROT_0));
+
+ PageRect currpage= getBoxAsRect(getTrimBox(page));
+ double width = currpage.right-currpage.left;
+@@ -242,7 +242,7 @@ Rotation QPDF_PDFTOPDF_PageHandle::crop(const PageRect &cropRect,Rotation orient
+ //Cropping.
+ // TODO: Borders are covered by the image. buffer space?
+ page.replaceKey("/TrimBox",makeBox(currpage.left,currpage.bottom,currpage.right,currpage.top));
+- page.replaceOrRemoveKey("/Rotate",makeRotate(save_rotate));
++ page.replaceKey("/Rotate",makeRotate(save_rotate));
+ return getRotate(page);
+ }
+
+@@ -251,14 +251,14 @@ bool QPDF_PDFTOPDF_PageHandle::is_landscape(Rotation orientation)
+ page.assertInitialized();
+ Rotation save_rotate = getRotate(page);
+ if(orientation==ROT_0||orientation==ROT_180)
+- page.replaceOrRemoveKey("/Rotate",makeRotate(ROT_90));
++ page.replaceKey("/Rotate",makeRotate(ROT_90));
+ else
+- page.replaceOrRemoveKey("/Rotate",makeRotate(ROT_0));
++ page.replaceKey("/Rotate",makeRotate(ROT_0));
+
+ PageRect currpage= getBoxAsRect(getTrimBox(page));
+ double width = currpage.right-currpage.left;
+ double height = currpage.top-currpage.bottom;
+- page.replaceOrRemoveKey("/Rotate",makeRotate(save_rotate));
++ page.replaceKey("/Rotate",makeRotate(save_rotate));
+ if(width>height)
+ return true;
+ return false;
+@@ -665,7 +665,7 @@ void QPDF_PDFTOPDF_Processor::autoRotateAll(bool dst_lscape,Rotation normal_land
+ // TODO? other rotation direction, e.g. if (src_rot==ROT_0)&&(param.orientation==ROT_270) ... etc.
+ // rotation=ROT_270;
+
+- page.replaceOrRemoveKey("/Rotate",makeRotate(src_rot+rotation));
++ page.replaceKey("/Rotate",makeRotate(src_rot+rotation));
+ }
+ }
+ }
+diff --git a/filter/pdftopdf/qpdf_xobject.cc b/filter/pdftopdf/qpdf_xobject.cc
+index 12732f1e9..2550bdd4f 100644
+--- a/filter/pdftopdf/qpdf_xobject.cc
++++ b/filter/pdftopdf/qpdf_xobject.cc
+@@ -1,5 +1,7 @@
+ #include "qpdf_xobject.h"
+ //#include <qpdf/Types.h>
++#define POINTERHOLDER_TRANSITION 3
++#include <qpdf/PointerHolder.hh>
+ #include <qpdf/QPDF.hh>
+ #include <qpdf/Pl_Discard.hh>
+ #include <qpdf/Pl_Count.hh>
+diff --git a/filter/rastertopdf.cpp b/filter/rastertopdf.cpp
+index ad5dd34c5..6a1aa218f 100644
+--- a/filter/rastertopdf.cpp
++++ b/filter/rastertopdf.cpp
+@@ -39,6 +39,8 @@
+ #include <arpa/inet.h> // ntohl
+
+ #include <vector>
++#define POINTERHOLDER_TRANSITION 3
++#include <qpdf/PointerHolder.hh>
+ #include <qpdf/QPDF.hh>
+ #include <qpdf/QPDFWriter.hh>
+ #include <qpdf/QUtil.hh>
+@@ -481,7 +483,7 @@ QPDFObjectHandle embedIccProfile(QPDF &pdf)
+ cmsSaveProfileToMem(colorProfile, buff, &profile_size);
+
+ // Write ICC profile buffer into PDF
+- ph = new Buffer(buff, profile_size);
++ ph = (PointerHolder<Buffer>) new Buffer(buff, profile_size);
+ iccstream = QPDFObjectHandle::newStream(&pdf, ph);
+ iccstream.replaceDict(QPDFObjectHandle::newDictionary(streamdict));
+
+diff --git a/filter/urftopdf.cpp b/filter/urftopdf.cpp
+index 4e7f6535a..e5c9f1f33 100644
+--- a/filter/urftopdf.cpp
++++ b/filter/urftopdf.cpp
+@@ -32,6 +32,8 @@
+ #include <arpa/inet.h> // ntohl
+
+ #include <vector>
++#define POINTERHOLDER_TRANSITION 3
++#include <qpdf/PointerHolder.hh>
+ #include <qpdf/QPDF.hh>
+ #include <qpdf/QPDFWriter.hh>
+ #include <qpdf/QUtil.hh>
+--
+2.47.3
+
diff --git a/package/cups-filters/cups-filters.mk b/package/cups-filters/cups-filters.mk
index 6bc4610376..eaad301c6d 100644
--- a/package/cups-filters/cups-filters.mk
+++ b/package/cups-filters/cups-filters.mk
@@ -10,6 +10,10 @@ CUPS_FILTERS_LICENSE = GPL-2.0, GPL-2.0+, GPL-3.0, GPL-3.0+, LGPL-2, LGPL-2.1+,
CUPS_FILTERS_LICENSE_FILES = COPYING
CUPS_FILTERS_CPE_ID_VENDOR = linuxfoundation
+# 0003-libcupsfilters-Fixed-building-with-QPDF-11.x.patch
+# 0004-Updated-code-to-be-built-with-QPDF-12.x.patch
+CUPS_FILTERS_AUTORECONF = YES
+
# 0001-beh-backend-Use-execv-instead-of-system-CVE-2023-24805.patch
CUPS_FILTERS_IGNORE_CVES += CVE-2023-24805
--
2.47.3
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 23+ messages in thread
* [Buildroot] [PATCH v4 10/21] package/cups-filters: needs autoreconf to fix build with gcc 16.x
2026-05-01 15:27 [Buildroot] [PATCH v4 00/21] package/gcc: add version 16.1.0 Bernd Kuhls
` (8 preceding siblings ...)
2026-05-01 15:27 ` [Buildroot] [PATCH v4 09/21] package/cups-filters: fix build against qpdf 12 Bernd Kuhls
@ 2026-05-01 15:27 ` Bernd Kuhls
2026-05-01 15:27 ` [Buildroot] [PATCH v4 11/21] package/openjdk{-bin}: bump versions to latest 17.x and 21.x series Bernd Kuhls
` (10 subsequent siblings)
20 siblings, 0 replies; 23+ messages in thread
From: Bernd Kuhls @ 2026-05-01 15:27 UTC (permalink / raw)
To: buildroot
Cc: Zoltan Gyarmati, Tudor Holton, Fabrice Fontaine,
Angelo Compagnucci, Olivier Schonken, Thomas Petazzoni,
Romain Naour, Giulio Benetti
Add comment to clarify that autoreconf is still needed even after the
patches are removed to update ax_cxx_compile_stdcxx.m4 for compatibility
with gcc >= 16.x
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
---
package/cups-filters/cups-filters.mk | 1 +
1 file changed, 1 insertion(+)
diff --git a/package/cups-filters/cups-filters.mk b/package/cups-filters/cups-filters.mk
index eaad301c6d..2c682b92f3 100644
--- a/package/cups-filters/cups-filters.mk
+++ b/package/cups-filters/cups-filters.mk
@@ -12,6 +12,7 @@ CUPS_FILTERS_CPE_ID_VENDOR = linuxfoundation
# 0003-libcupsfilters-Fixed-building-with-QPDF-11.x.patch
# 0004-Updated-code-to-be-built-with-QPDF-12.x.patch
+# ax_cxx_compile_stdcxx.m4 needs to be updated for gcc 16.x (C++20)
CUPS_FILTERS_AUTORECONF = YES
# 0001-beh-backend-Use-execv-instead-of-system-CVE-2023-24805.patch
--
2.47.3
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 23+ messages in thread
* [Buildroot] [PATCH v4 11/21] package/openjdk{-bin}: bump versions to latest 17.x and 21.x series
2026-05-01 15:27 [Buildroot] [PATCH v4 00/21] package/gcc: add version 16.1.0 Bernd Kuhls
` (9 preceding siblings ...)
2026-05-01 15:27 ` [Buildroot] [PATCH v4 10/21] package/cups-filters: needs autoreconf to fix build with gcc 16.x Bernd Kuhls
@ 2026-05-01 15:27 ` Bernd Kuhls
2026-05-01 15:27 ` [Buildroot] [PATCH v4 12/21] package/openjdk{-bin}: add OpenJDK25 and configure it as latest Bernd Kuhls
` (9 subsequent siblings)
20 siblings, 0 replies; 23+ messages in thread
From: Bernd Kuhls @ 2026-05-01 15:27 UTC (permalink / raw)
To: buildroot
Cc: Zoltan Gyarmati, Tudor Holton, Fabrice Fontaine,
Angelo Compagnucci, Olivier Schonken, Thomas Petazzoni,
Romain Naour, Giulio Benetti
utils/docker-run support/testing/run-tests -k -d dl -o output_folder \
tests.package.test_openjdk.TestOpenJdk.test_run
passed without issue.
This bump fixes build errors with current gcc 16-snapshot.
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
---
.../openjdk-bin/{17.0.12_7 => 17.0.18_8}/openjdk-bin.hash | 4 ++--
.../openjdk-bin/{21.0.4_7 => 21.0.10_7}/openjdk-bin.hash | 4 ++--
package/openjdk-bin/openjdk-bin.mk | 6 +++---
.../0001-Add-ARCv2-ISA-processors-support-to-Zero.patch | 0
.../0002-awt-fix-HEADLESS-compilation-without-X11.patch | 0
.../0001-Add-ARCv2-ISA-processors-support-to-Zero.patch | 0
.../0002-awt-fix-HEADLESS-compilation-without-X11.patch | 0
...toconf-libraries-drop-the-need-for-X11-in-headless.patch | 0
package/openjdk/openjdk.hash | 4 ++--
package/openjdk/openjdk.mk | 6 +++---
10 files changed, 12 insertions(+), 12 deletions(-)
rename package/openjdk-bin/{17.0.12_7 => 17.0.18_8}/openjdk-bin.hash (53%)
rename package/openjdk-bin/{21.0.4_7 => 21.0.10_7}/openjdk-bin.hash (53%)
rename package/openjdk/{17.0.12+7 => 17.0.18+8}/0001-Add-ARCv2-ISA-processors-support-to-Zero.patch (100%)
rename package/openjdk/{17.0.12+7 => 17.0.18+8}/0002-awt-fix-HEADLESS-compilation-without-X11.patch (100%)
rename package/openjdk/{21.0.4+7 => 21.0.10+7}/0001-Add-ARCv2-ISA-processors-support-to-Zero.patch (100%)
rename package/openjdk/{21.0.4+7 => 21.0.10+7}/0002-awt-fix-HEADLESS-compilation-without-X11.patch (100%)
rename package/openjdk/{21.0.4+7 => 21.0.10+7}/0003-autoconf-libraries-drop-the-need-for-X11-in-headless.patch (100%)
diff --git a/package/openjdk-bin/17.0.12_7/openjdk-bin.hash b/package/openjdk-bin/17.0.18_8/openjdk-bin.hash
similarity index 53%
rename from package/openjdk-bin/17.0.12_7/openjdk-bin.hash
rename to package/openjdk-bin/17.0.18_8/openjdk-bin.hash
index 4a7c84eb87..c2169350c1 100644
--- a/package/openjdk-bin/17.0.12_7/openjdk-bin.hash
+++ b/package/openjdk-bin/17.0.18_8/openjdk-bin.hash
@@ -1,6 +1,6 @@
# https://github.com/adoptium/temurin17-binaries/releases
-sha256 9d4dd339bf7e6a9dcba8347661603b74c61ab2a5083ae67bf76da6285da8a778 OpenJDK17U-jdk_x64_linux_hotspot_17.0.12_7.tar.gz
-sha256 8257de06bf37f0c8f19f8d542e2ab5a4e17db3ca5f29d041bd0b02ab265db021 OpenJDK17U-jdk_aarch64_linux_hotspot_17.0.12_7.tar.gz
+sha256 0c94cbb54325c40dcf026143eb621562017db5525727f2d9131a11250f72c450 OpenJDK17U-jdk_x64_linux_hotspot_17.0.18_8.tar.gz
+sha256 592a6702b3a07a0e0b82cb38aaab149bfce1b0c24d6b57ddb410bd9009333095 OpenJDK17U-jdk_aarch64_linux_hotspot_17.0.18_8.tar.gz
# Locally calculated
sha256 4b9abebc4338048a7c2dc184e9f800deb349366bdf28eb23c2677a77b4c87726 legal/java.prefs/LICENSE
diff --git a/package/openjdk-bin/21.0.4_7/openjdk-bin.hash b/package/openjdk-bin/21.0.10_7/openjdk-bin.hash
similarity index 53%
rename from package/openjdk-bin/21.0.4_7/openjdk-bin.hash
rename to package/openjdk-bin/21.0.10_7/openjdk-bin.hash
index a73bea1a77..8d9efacba1 100644
--- a/package/openjdk-bin/21.0.4_7/openjdk-bin.hash
+++ b/package/openjdk-bin/21.0.10_7/openjdk-bin.hash
@@ -1,6 +1,6 @@
# From https://github.com/adoptium/temurin21-binaries/releases
-sha256 51fb4d03a4429c39d397d3a03a779077159317616550e4e71624c9843083e7b9 OpenJDK21U-jdk_x64_linux_hotspot_21.0.4_7.tar.gz
-sha256 d768eecddd7a515711659e02caef8516b7b7177fa34880a56398fd9822593a79 OpenJDK21U-jdk_aarch64_linux_hotspot_21.0.4_7.tar.gz
+sha256 ea3b9bd464d6dd253e9a7accf59f7ccd2a36e4aa69640b7251e3370caef896a4 OpenJDK21U-jdk_x64_linux_hotspot_21.0.10_7.tar.gz
+sha256 357fee29fb0d5c079f6730db98b28942df13a6eed426f6c61cd4ad703ab27b9a OpenJDK21U-jdk_aarch64_linux_hotspot_21.0.10_7.tar.gz
# Locally calculated
sha256 4b9abebc4338048a7c2dc184e9f800deb349366bdf28eb23c2677a77b4c87726 legal/java.prefs/LICENSE
diff --git a/package/openjdk-bin/openjdk-bin.mk b/package/openjdk-bin/openjdk-bin.mk
index e6c74cf6d8..819bf9052b 100644
--- a/package/openjdk-bin/openjdk-bin.mk
+++ b/package/openjdk-bin/openjdk-bin.mk
@@ -6,12 +6,12 @@
ifeq ($(BR2_PACKAGE_OPENJDK_VERSION_21),y)
HOST_OPENJDK_BIN_VERSION_MAJOR = 21
-HOST_OPENJDK_BIN_VERSION_MINOR = 0.4
+HOST_OPENJDK_BIN_VERSION_MINOR = 0.10
HOST_OPENJDK_BIN_VERSION_BUILD = 7
else
HOST_OPENJDK_BIN_VERSION_MAJOR = 17
-HOST_OPENJDK_BIN_VERSION_MINOR = 0.12
-HOST_OPENJDK_BIN_VERSION_BUILD = 7
+HOST_OPENJDK_BIN_VERSION_MINOR = 0.18
+HOST_OPENJDK_BIN_VERSION_BUILD = 8
endif
ifeq ($(HOSTARCH),x86_64)
diff --git a/package/openjdk/17.0.12+7/0001-Add-ARCv2-ISA-processors-support-to-Zero.patch b/package/openjdk/17.0.18+8/0001-Add-ARCv2-ISA-processors-support-to-Zero.patch
similarity index 100%
rename from package/openjdk/17.0.12+7/0001-Add-ARCv2-ISA-processors-support-to-Zero.patch
rename to package/openjdk/17.0.18+8/0001-Add-ARCv2-ISA-processors-support-to-Zero.patch
diff --git a/package/openjdk/17.0.12+7/0002-awt-fix-HEADLESS-compilation-without-X11.patch b/package/openjdk/17.0.18+8/0002-awt-fix-HEADLESS-compilation-without-X11.patch
similarity index 100%
rename from package/openjdk/17.0.12+7/0002-awt-fix-HEADLESS-compilation-without-X11.patch
rename to package/openjdk/17.0.18+8/0002-awt-fix-HEADLESS-compilation-without-X11.patch
diff --git a/package/openjdk/21.0.4+7/0001-Add-ARCv2-ISA-processors-support-to-Zero.patch b/package/openjdk/21.0.10+7/0001-Add-ARCv2-ISA-processors-support-to-Zero.patch
similarity index 100%
rename from package/openjdk/21.0.4+7/0001-Add-ARCv2-ISA-processors-support-to-Zero.patch
rename to package/openjdk/21.0.10+7/0001-Add-ARCv2-ISA-processors-support-to-Zero.patch
diff --git a/package/openjdk/21.0.4+7/0002-awt-fix-HEADLESS-compilation-without-X11.patch b/package/openjdk/21.0.10+7/0002-awt-fix-HEADLESS-compilation-without-X11.patch
similarity index 100%
rename from package/openjdk/21.0.4+7/0002-awt-fix-HEADLESS-compilation-without-X11.patch
rename to package/openjdk/21.0.10+7/0002-awt-fix-HEADLESS-compilation-without-X11.patch
diff --git a/package/openjdk/21.0.4+7/0003-autoconf-libraries-drop-the-need-for-X11-in-headless.patch b/package/openjdk/21.0.10+7/0003-autoconf-libraries-drop-the-need-for-X11-in-headless.patch
similarity index 100%
rename from package/openjdk/21.0.4+7/0003-autoconf-libraries-drop-the-need-for-X11-in-headless.patch
rename to package/openjdk/21.0.10+7/0003-autoconf-libraries-drop-the-need-for-X11-in-headless.patch
diff --git a/package/openjdk/openjdk.hash b/package/openjdk/openjdk.hash
index 209004a292..72a6ff2e27 100644
--- a/package/openjdk/openjdk.hash
+++ b/package/openjdk/openjdk.hash
@@ -1,4 +1,4 @@
# Locally computed
-sha256 b8b37fa6fcc284d91e7458c703ca4c893a1dd5a6e0f6b9e198e7d13cd8efd24d openjdk-21.0.4+7.tar.gz
-sha256 ccb7d37c24f9f5808f9d25419d93680570dc600f292e68944032338cb4b2c51e openjdk-17.0.12+7.tar.gz
+sha256 6500906cb7cc49268ce4ca368db3ddf3541b40afd25eecb378e13d5a72f43214 openjdk-21.0.10+7.tar.gz
+sha256 7ebfcc2aafd514c23df3fe5280e1a34630b9b1d429c65a80dd5a4b6e7f177bc3 openjdk-17.0.18+8.tar.gz
sha256 4b9abebc4338048a7c2dc184e9f800deb349366bdf28eb23c2677a77b4c87726 LICENSE
diff --git a/package/openjdk/openjdk.mk b/package/openjdk/openjdk.mk
index 58b266c4e9..e5d9d5e630 100644
--- a/package/openjdk/openjdk.mk
+++ b/package/openjdk/openjdk.mk
@@ -6,13 +6,13 @@
ifeq ($(BR2_PACKAGE_OPENJDK_VERSION_21),y)
OPENJDK_VERSION_MAJOR = 21
-OPENJDK_VERSION_MINOR = 0.4
+OPENJDK_VERSION_MINOR = 0.10
OPENJDK_VERSION_BUILD = 7
else
OPENJDK_VERSION_MAJOR = 17
-OPENJDK_VERSION_MINOR = 0.12
-OPENJDK_VERSION_BUILD = 7
+OPENJDK_VERSION_MINOR = 0.18
+OPENJDK_VERSION_BUILD = 8
endif
OPENJDK_VERSION = $(OPENJDK_VERSION_MAJOR).$(OPENJDK_VERSION_MINOR)+$(OPENJDK_VERSION_BUILD)
OPENJDK_SITE = $(call github,openjdk,jdk$(OPENJDK_VERSION_MAJOR)u,jdk-$(OPENJDK_VERSION))
--
2.47.3
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 23+ messages in thread
* [Buildroot] [PATCH v4 12/21] package/openjdk{-bin}: add OpenJDK25 and configure it as latest
2026-05-01 15:27 [Buildroot] [PATCH v4 00/21] package/gcc: add version 16.1.0 Bernd Kuhls
` (10 preceding siblings ...)
2026-05-01 15:27 ` [Buildroot] [PATCH v4 11/21] package/openjdk{-bin}: bump versions to latest 17.x and 21.x series Bernd Kuhls
@ 2026-05-01 15:27 ` Bernd Kuhls
2026-05-01 15:27 ` [Buildroot] [PATCH v4 13/21] package/snappy: enable rtti Bernd Kuhls
` (8 subsequent siblings)
20 siblings, 0 replies; 23+ messages in thread
From: Bernd Kuhls @ 2026-05-01 15:27 UTC (permalink / raw)
To: buildroot
Cc: Zoltan Gyarmati, Thomas Devoogdt, Tudor Holton, Fabrice Fontaine,
Angelo Compagnucci, Olivier Schonken, Thomas Petazzoni,
Romain Naour, Giulio Benetti
From: Thomas Devoogdt <thomas@devoogdt.com>
OpenJDK 25 is the latest release.
See: https://endoflife.date/oracle-jdk
- BR2_OPENJDK_VERSION_LATEST is now set to 25.
- Add version-specific patches for 25.0.2+10:
- 0001: Add ARCv2 ISA processors support to Zero
- 0002: Compile OpenJDK in headless mode without requirements
- 0003: Fix ambiguous cmp() overload in aarch64 macro assembler
(older GCC 6.x compatibility)
- 0004: Fix constexpr on non-literal type in Shenandoah GC
(older GCC 6.x compatibility)
- Add -fpermissive to fix template definition error with older GCC.
- Update HOST_OPENJDK_BIN_VERSION for OpenJDK 25.
- Update the expectedVersion variable in JniTest.java from 0x00150000
(JNI 21) to 0x00180000 (JNI 24/25).
Tested with:
$ ./support/testing/run-tests -o ~/br-test-py/ -d ~/br-test-dl/ \
tests.package.test_openjdk.TestOpenJdk
Signed-off-by: Thomas Devoogdt <thomas@devoogdt.com>
[Bernd:
- rebased on bump of versions 17 & 21
- build-tested with gcc 16-snapshot]
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
---
.../openjdk-bin/25.0.2_10/openjdk-bin.hash | 7 +
package/openjdk-bin/openjdk-bin.mk | 6 +-
...ARCv2-ISA-processors-support-to-Zero.patch | 109 +++++++++++++
...OpenJDK-in-headless-mode-without-req.patch | 144 ++++++++++++++++++
...spot-aarch64-macro-assembler-fix-cmp.patch | 43 ++++++
...ot-share-gc-shenandoah-fix-constexpr.patch | 42 +++++
package/openjdk/Config.in | 7 +-
package/openjdk/openjdk.hash | 1 +
package/openjdk/openjdk.mk | 10 +-
.../package/openjdk-jni-test/JniTest.java | 2 +-
10 files changed, 363 insertions(+), 8 deletions(-)
create mode 100644 package/openjdk-bin/25.0.2_10/openjdk-bin.hash
create mode 100644 package/openjdk/25.0.2+10/0001-Add-ARCv2-ISA-processors-support-to-Zero.patch
create mode 100644 package/openjdk/25.0.2+10/0002-8376684-Compile-OpenJDK-in-headless-mode-without-req.patch
create mode 100644 package/openjdk/25.0.2+10/0003-src-hotspot-aarch64-macro-assembler-fix-cmp.patch
create mode 100644 package/openjdk/25.0.2+10/0004-src-hotspot-share-gc-shenandoah-fix-constexpr.patch
diff --git a/package/openjdk-bin/25.0.2_10/openjdk-bin.hash b/package/openjdk-bin/25.0.2_10/openjdk-bin.hash
new file mode 100644
index 0000000000..42892b1e6c
--- /dev/null
+++ b/package/openjdk-bin/25.0.2_10/openjdk-bin.hash
@@ -0,0 +1,7 @@
+# From https://github.com/adoptium/temurin25-binaries/releases
+sha256 987387933b64b9833846dee373b640440d3e1fd48a04804ec01a6dbf718e8ab8 OpenJDK25U-jdk_x64_linux_hotspot_25.0.2_10.tar.gz
+sha256 a9d73e711d967dc44896d4f430f73a68fd33590dabc29a7f2fb9f593425b854c OpenJDK25U-jdk_aarch64_linux_hotspot_25.0.2_10.tar.gz
+
+# Locally calculated
+sha256 4b9abebc4338048a7c2dc184e9f800deb349366bdf28eb23c2677a77b4c87726 legal/java.prefs/LICENSE
+sha256 75292f03bf23d3db7c985aecc191029b93883200721ed23ed34a2e601463df33 legal/java.prefs/ASSEMBLY_EXCEPTION
diff --git a/package/openjdk-bin/openjdk-bin.mk b/package/openjdk-bin/openjdk-bin.mk
index 819bf9052b..5f1922dea5 100644
--- a/package/openjdk-bin/openjdk-bin.mk
+++ b/package/openjdk-bin/openjdk-bin.mk
@@ -4,7 +4,11 @@
#
################################################################################
-ifeq ($(BR2_PACKAGE_OPENJDK_VERSION_21),y)
+ifeq ($(BR2_PACKAGE_OPENJDK_VERSION_25),y)
+HOST_OPENJDK_BIN_VERSION_MAJOR = 25
+HOST_OPENJDK_BIN_VERSION_MINOR = 0.2
+HOST_OPENJDK_BIN_VERSION_BUILD = 10
+else ifeq ($(BR2_PACKAGE_OPENJDK_VERSION_21),y)
HOST_OPENJDK_BIN_VERSION_MAJOR = 21
HOST_OPENJDK_BIN_VERSION_MINOR = 0.10
HOST_OPENJDK_BIN_VERSION_BUILD = 7
diff --git a/package/openjdk/25.0.2+10/0001-Add-ARCv2-ISA-processors-support-to-Zero.patch b/package/openjdk/25.0.2+10/0001-Add-ARCv2-ISA-processors-support-to-Zero.patch
new file mode 100644
index 0000000000..5cbc30ddd6
--- /dev/null
+++ b/package/openjdk/25.0.2+10/0001-Add-ARCv2-ISA-processors-support-to-Zero.patch
@@ -0,0 +1,109 @@
+From 86aee60f0457bd9716c4221da53bcd9d893359b3 Mon Sep 17 00:00:00 2001
+From: Alexey Brodkin <abrodkin@synopsys.com>
+Date: Mon, 18 Oct 2021 05:20:05 -0700
+Subject: [PATCH] Add ARCv2 ISA processors support to Zero
+
+This adds ARCv2 processors support in OpenJDK via
+"Zero Assembly Project" (see https://openjdk.java.net/projects/zero).
+
+That' a purely interpretive mode, so likely not that fast
+as JIT'ed version, but for starters it's much better than nothing.
+
+Once all the logistical problems are solved hopefully this
+change will be accepted upstream.
+
+Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
+---
+ make/autoconf/libraries.m4 | 8 ++++++++
+ make/autoconf/platform.m4 | 8 ++++++++
+ src/hotspot/os/linux/os_linux.cpp | 8 +++++++-
+ 3 files changed, 23 insertions(+), 1 deletion(-)
+
+diff --git a/make/autoconf/libraries.m4 b/make/autoconf/libraries.m4
+index 8dc3d55ed0c..96f377c2f99 100644
+--- a/make/autoconf/libraries.m4
++++ b/make/autoconf/libraries.m4
+@@ -141,6 +141,14 @@ AC_DEFUN_ONCE([LIB_SETUP_LIBRARIES],
+ BASIC_JVM_LIBS="$BASIC_JVM_LIBS -lrt"
+ fi
+
++ # Libatomic library
++ # 32-bit ARC needs fallback library for 8-byte atomic ops
++ # Inspired by a fix for MIPS, see https://github.com/openjdk/jdk/commit/1b3aa3af
++ if test "x$OPENJDK_TARGET_OS" = xlinux &&
++ (test "x$OPENJDK_TARGET_CPU" = xarc); then
++ BASIC_JVM_LIBS="$BASIC_JVM_LIBS -latomic"
++ fi
++
+ # perfstat lib
+ if test "x$OPENJDK_TARGET_OS" = xaix; then
+ BASIC_JVM_LIBS="$BASIC_JVM_LIBS -lperfstat"
+diff --git a/make/autoconf/platform.m4 b/make/autoconf/platform.m4
+index 31451d0c37f..8d2b95d4399 100644
+--- a/make/autoconf/platform.m4
++++ b/make/autoconf/platform.m4
+@@ -54,6 +54,12 @@ AC_DEFUN([PLATFORM_EXTRACT_VARS_FROM_CPU],
+ VAR_CPU_BITS=64
+ VAR_CPU_ENDIAN=little
+ ;;
++ arc)
++ VAR_CPU=arc
++ VAR_CPU_ARCH=arc
++ VAR_CPU_BITS=32
++ VAR_CPU_ENDIAN=little
++ ;;
+ arm*)
+ VAR_CPU=arm
+ VAR_CPU_ARCH=arm
+@@ -571,6 +577,8 @@ AC_DEFUN([PLATFORM_SETUP_LEGACY_VARS_HELPER],
+ HOTSPOT_$1_CPU_DEFINE=RISCV64
+
+ # The cpu defines below are for zero, we don't support them directly.
++ elif test "x$OPENJDK_$1_CPU" = xarc; then
++ HOTSPOT_$1_CPU_DEFINE=ARC
+ elif test "x$OPENJDK_$1_CPU" = xsparc; then
+ HOTSPOT_$1_CPU_DEFINE=SPARC
+ elif test "x$OPENJDK_$1_CPU" = xppc; then
+diff --git a/src/hotspot/os/linux/os_linux.cpp b/src/hotspot/os/linux/os_linux.cpp
+index 49125ae8954..317e779782d 100644
+--- a/src/hotspot/os/linux/os_linux.cpp
++++ b/src/hotspot/os/linux/os_linux.cpp
+@@ -1757,6 +1757,9 @@ void * os::dll_load(const char *filename, char *ebuf, int ebuflen) {
+ #ifndef EM_AARCH64
+ #define EM_AARCH64 183 /* ARM AARCH64 */
+ #endif
++#ifndef EM_ARC_COMPACT2
++ #define EM_ARC_COMPACT2 195 /* ARC ARCv2 ISA */
++#endif
+ #ifndef EM_RISCV
+ #define EM_RISCV 243 /* RISC-V */
+ #endif
+@@ -1781,6 +1784,7 @@ void * os::dll_load(const char *filename, char *ebuf, int ebuflen) {
+ {EM_SH, EM_SH, ELFCLASS32, ELFDATA2MSB, (char*)"SuperH BE"},
+ #endif
+ {EM_ARM, EM_ARM, ELFCLASS32, ELFDATA2LSB, (char*)"ARM"},
++ {EM_ARC_COMPACT2, EM_ARC_COMPACT2, ELFCLASS32, ELFDATA2LSB, (char*)"ARC"},
+ // we only support 64 bit z architecture
+ {EM_S390, EM_S390, ELFCLASS64, ELFDATA2MSB, (char*)"IBM System/390"},
+ {EM_ALPHA, EM_ALPHA, ELFCLASS64, ELFDATA2LSB, (char*)"Alpha"},
+@@ -1811,6 +1815,8 @@ void * os::dll_load(const char *filename, char *ebuf, int ebuflen) {
+ static Elf32_Half running_arch_code=EM_PPC;
+ #elif (defined AARCH64)
+ static Elf32_Half running_arch_code=EM_AARCH64;
++#elif (defined ARC)
++ static Elf32_Half running_arch_code=EM_ARC_COMPACT2;
+ #elif (defined ARM)
+ static Elf32_Half running_arch_code=EM_ARM;
+ #elif (defined S390)
+@@ -1833,7 +1839,7 @@ void * os::dll_load(const char *filename, char *ebuf, int ebuflen) {
+ static Elf32_Half running_arch_code=EM_LOONGARCH;
+ #else
+ #error Method os::dll_load requires that one of following is defined:\
+- AARCH64, ALPHA, ARM, AMD64, IA32, LOONGARCH64, M68K, MIPS, MIPSEL, PARISC, __powerpc__, __powerpc64__, RISCV, S390, SH, __sparc
++ AARCH64, ALPHA, ARC, ARM, AMD64, IA32, LOONGARCH64, M68K, MIPS, MIPSEL, PARISC, __powerpc__, __powerpc64__, RISCV, S390, SH, __sparc
+ #endif
+
+ // Identify compatibility class for VM's architecture and library's architecture
+--
+2.43.0
+
diff --git a/package/openjdk/25.0.2+10/0002-8376684-Compile-OpenJDK-in-headless-mode-without-req.patch b/package/openjdk/25.0.2+10/0002-8376684-Compile-OpenJDK-in-headless-mode-without-req.patch
new file mode 100644
index 0000000000..78ab31ff62
--- /dev/null
+++ b/package/openjdk/25.0.2+10/0002-8376684-Compile-OpenJDK-in-headless-mode-without-req.patch
@@ -0,0 +1,144 @@
+From 434d082d9082c1ce2d9ea46ec3c90420442567b9 Mon Sep 17 00:00:00 2001
+From: Thomas Devoogdt <thomas@devoogdt.com>
+Date: Wed, 4 Feb 2026 06:48:59 +0000
+Subject: [PATCH] 8376684: Compile OpenJDK in headless mode without required
+ X11 libraries
+
+Reviewed-by: erikj, aivanov
+
+Upstream: https://github.com/openjdk/jdk/pull/28310
+Signed-off-by: Thomas Devoogdt <thomas@devoogdt.com>
+---
+ doc/building.html | 7 +++----
+ doc/building.md | 6 ++----
+ make/autoconf/libraries.m4 | 8 ++++----
+ make/modules/java.desktop/lib/AwtLibraries.gmk | 16 ++++++++++++++--
+ .../unix/native/common/awt/utility/rect.h | 4 ++--
+ 5 files changed, 25 insertions(+), 16 deletions(-)
+
+diff --git a/doc/building.html b/doc/building.html
+index da8465bc532..f8d815a5474 100644
+--- a/doc/building.html
++++ b/doc/building.html
+@@ -1380,10 +1380,9 @@ <h4 id="alsa-1">ALSA</h4>
+ can specify it by <code>--with-alsa</code>.</p></li>
+ </ul>
+ <h4 id="x11-1">X11</h4>
+-<p>You will need X11 libraries suitable for your <em>target</em> system.
+-In most cases, using Debian's pre-built libraries work fine.</p>
+-<p>Note that X11 is needed even if you only want to build a headless
+-JDK.</p>
++<p>When not building a headless JDK, you will need X11 libraries
++suitable for your <em>target</em> system. In most cases, using Debian's
++pre-built libraries work fine.</p>
+ <ul>
+ <li><p>Go to <a href="https://www.debian.org/distrib/packages">Debian
+ Package Search</a>, search for the following packages for your
+diff --git a/doc/building.md b/doc/building.md
+index 1a9fe6b2e78..92ebd3d32c7 100644
+--- a/doc/building.md
++++ b/doc/building.md
+@@ -1173,10 +1173,8 @@ #### ALSA
+
+ #### X11
+
+-You will need X11 libraries suitable for your *target* system. In most cases,
+-using Debian's pre-built libraries work fine.
+-
+-Note that X11 is needed even if you only want to build a headless JDK.
++When not building a headless JDK, you will need X11 libraries suitable for your
++*target* system. In most cases, using Debian's pre-built libraries work fine.
+
+ * Go to [Debian Package Search](https://www.debian.org/distrib/packages),
+ search for the following packages for your *target* system, and download them
+diff --git a/make/autoconf/libraries.m4 b/make/autoconf/libraries.m4
+index 96f377c2f99..8f02b7ec8a7 100644
+--- a/make/autoconf/libraries.m4
++++ b/make/autoconf/libraries.m4
+@@ -42,12 +42,12 @@ m4_include([lib-tests.m4])
+ AC_DEFUN_ONCE([LIB_DETERMINE_DEPENDENCIES],
+ [
+ # Check if X11 is needed
+- if test "x$OPENJDK_TARGET_OS" = xwindows || test "x$OPENJDK_TARGET_OS" = xmacosx; then
+- # No X11 support on windows or macosx
++ if test "x$OPENJDK_TARGET_OS" = xwindows ||
++ test "x$OPENJDK_TARGET_OS" = xmacosx ||
++ test "x$ENABLE_HEADLESS_ONLY" = xtrue; then
+ NEEDS_LIB_X11=false
+ else
+- # All other instances need X11, even if building headless only, libawt still
+- # needs X11 headers.
++ # All other instances need X11 for libawt.
+ NEEDS_LIB_X11=true
+ fi
+
+diff --git a/make/modules/java.desktop/lib/AwtLibraries.gmk b/make/modules/java.desktop/lib/AwtLibraries.gmk
+index 463e09e12dc..8b6b50b9e62 100644
+--- a/make/modules/java.desktop/lib/AwtLibraries.gmk
++++ b/make/modules/java.desktop/lib/AwtLibraries.gmk
+@@ -88,6 +88,10 @@ LIBAWT_EXTRA_HEADER_DIRS := \
+
+ LIBAWT_CFLAGS := -D__MEDIALIB_OLD_NAMES -D__USE_J2D_NAMES -DMLIB_NO_LIBSUNMATH
+
++ifeq ($(ENABLE_HEADLESS_ONLY), true)
++ LIBAWT_CFLAGS += -DHEADLESS
++endif
++
+ ifeq ($(call isTargetOs, windows), true)
+ LIBAWT_CFLAGS += -EHsc -DUNICODE -D_UNICODE -DMLIB_OS64BIT
+ LIBAWT_RCFLAGS ?= -I$(TOPDIR)/src/java.base/windows/native/launcher/icons
+@@ -167,11 +171,18 @@ ifeq ($(call isTargetOs, windows macosx), false)
+ $(TOPDIR)/src/$(MODULE)/$(OPENJDK_TARGET_OS_TYPE)/native/common/awt \
+ #
+
++ LIBAWT_HEADLESS_EXCLUDE_FILES := \
++ GLXGraphicsConfig.c \
++ GLXSurfaceData.c \
++ X11PMBlitLoops.c \
++ X11Renderer.c \
++ X11SurfaceData.c \
++ #
++
+ LIBAWT_HEADLESS_EXTRA_HEADER_DIRS := \
+ $(LIBAWT_DEFAULT_HEADER_DIRS) \
+ common/awt/debug \
+ common/font \
+- common/java2d/opengl \
+ java.base:libjvm \
+ #
+
+@@ -191,7 +202,8 @@ ifeq ($(call isTargetOs, windows macosx), false)
+ $(eval $(call SetupJdkLibrary, BUILD_LIBAWT_HEADLESS, \
+ NAME := awt_headless, \
+ EXTRA_SRC := $(LIBAWT_HEADLESS_EXTRA_SRC), \
+- EXCLUDES := medialib, \
++ EXCLUDES := medialib opengl, \
++ EXCLUDE_FILES := $(LIBAWT_HEADLESS_EXCLUDE_FILES), \
+ ONLY_EXPORTED := $(LIBAWT_HEADLESS_ONLY_EXPORTED), \
+ OPTIMIZATION := LOW, \
+ CFLAGS := -DHEADLESS=true $(CUPS_CFLAGS) $(FONTCONFIG_CFLAGS) \
+diff --git a/src/java.desktop/unix/native/common/awt/utility/rect.h b/src/java.desktop/unix/native/common/awt/utility/rect.h
+index ceea38f4349..91b5a17ec58 100644
+--- a/src/java.desktop/unix/native/common/awt/utility/rect.h
++++ b/src/java.desktop/unix/native/common/awt/utility/rect.h
+@@ -28,7 +28,7 @@
+ #ifndef _AWT_RECT_H
+ #define _AWT_RECT_H
+
+-#ifndef MACOSX
++#if !defined(HEADLESS) && !defined(MACOSX)
+ #include <X11/Xlib.h>
+ typedef XRectangle RECT_T;
+ #else
+@@ -39,7 +39,7 @@ typedef struct {
+ int width;
+ int height;
+ } RECT_T;
+-#endif /* !MACOSX */
++#endif /* !HEADLESS && !MACOSX */
+
+ #define RECT_EQ_X(r1,r2) ((r1).x==(r2).x && (r1).width==(r2).width)
+
+--
+2.43.0
+
diff --git a/package/openjdk/25.0.2+10/0003-src-hotspot-aarch64-macro-assembler-fix-cmp.patch b/package/openjdk/25.0.2+10/0003-src-hotspot-aarch64-macro-assembler-fix-cmp.patch
new file mode 100644
index 0000000000..f1d4de85d7
--- /dev/null
+++ b/package/openjdk/25.0.2+10/0003-src-hotspot-aarch64-macro-assembler-fix-cmp.patch
@@ -0,0 +1,43 @@
+From ac1110be8a65b230a3413890c77565cead5fa44f Mon Sep 17 00:00:00 2001
+From: Thomas Devoogdt <thomas@devoogdt.com>
+Date: Sat, 21 Feb 2026 15:45:42 +0100
+Subject: [PATCH 3/4] src: hotspot: aarch64: macro assembler: fix cmp
+
+Older GCC versions (e.g., GCC 6.x from bootlin toolchains) cannot
+resolve the overload ambiguity when passing an InstanceKlass::ClassState
+enum value to cmp(). The compiler sees both cmp(Register, unsigned char)
+and the deleted cmp(Register, unsigned int) as candidates.
+
+Explicitly cast the enum value to unsigned char to fix the build with
+older toolchains.
+
+Fixes:
+
+ * For target hotspot_variant-server_libjvm_objs_macroAssembler_aarch64.o:
+ /home/thomas/br-test-pkg/bootlin-aarch64-glibc-old/build/openjdk-25.0.2+10/src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp: In member function 'void MacroAssembler::clinit_barrier(Register, Register, Label*, Label*)':
+ /home/thomas/br-test-pkg/bootlin-aarch64-glibc-old/build/openjdk-25.0.2+10/src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp:2048:48: error: call of overloaded 'cmp(Register&, InstanceKlass::ClassState)' is ambiguous
+ cmp(scratch, InstanceKlass::fully_initialized);
+ ^
+
+Upstream: https://github.com/openjdk/jdk/pull/29856
+Signed-off-by: Thomas Devoogdt <thomas@devoogdt.com>
+---
+ src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp b/src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp
+index a424bd7f275..5cf4b1d981f 100644
+--- a/src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp
++++ b/src/hotspot/cpu/aarch64/macroAssembler_aarch64.cpp
+@@ -2045,7 +2045,7 @@ void MacroAssembler::clinit_barrier(Register klass, Register scratch, Label* L_f
+ // Fast path check: class is fully initialized
+ lea(scratch, Address(klass, InstanceKlass::init_state_offset()));
+ ldarb(scratch, scratch);
+- cmp(scratch, InstanceKlass::fully_initialized);
++ cmp(scratch, (unsigned char)InstanceKlass::fully_initialized);
+ br(Assembler::EQ, *L_fast_path);
+
+ // Fast path check: current thread is initializer thread
+--
+2.43.0
+
diff --git a/package/openjdk/25.0.2+10/0004-src-hotspot-share-gc-shenandoah-fix-constexpr.patch b/package/openjdk/25.0.2+10/0004-src-hotspot-share-gc-shenandoah-fix-constexpr.patch
new file mode 100644
index 0000000000..72e5f657ab
--- /dev/null
+++ b/package/openjdk/25.0.2+10/0004-src-hotspot-share-gc-shenandoah-fix-constexpr.patch
@@ -0,0 +1,42 @@
+From 87cb37e3341a33c5a8fac361972c53b1edc56799 Mon Sep 17 00:00:00 2001
+From: Thomas Devoogdt <thomas@devoogdt.com>
+Date: Sat, 21 Feb 2026 15:50:42 +0100
+Subject: [PATCH 4/4] src: hotspot: share: gc: shenandoah: fix constexpr
+
+Older GCC versions (e.g., GCC 6.x from bootlin toolchains) enforce
+C++14 rules more strictly and do not allow constexpr member functions
+on non-literal types. ShenandoahSimpleBitMap is not a literal type
+because it has a non-trivial destructor or other disqualifying members.
+
+Remove constexpr from ShenandoahSimpleBitMap::alignment() to fix the
+build with older toolchains. The function can still be inlined and
+optimized.
+
+Fixes:
+
+ /home/thomas/br-test-pkg/bootlin-aarch64-glibc-old/build/openjdk-25.0.2+10/src/hotspot/share/gc/shenandoah/shenandoahSimpleBitMap.hpp:93:26: error: enclosing class of constexpr non-static member function 'idx_t ShenandoahSimpleBitMap::alignment() const' is not a literal type
+ inline constexpr idx_t alignment() const {
+ ^~~~~~~~~
+
+Upstream: https://github.com/openjdk/jdk/pull/29856
+Signed-off-by: Thomas Devoogdt <thomas@devoogdt.com>
+---
+ src/hotspot/share/gc/shenandoah/shenandoahSimpleBitMap.hpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/hotspot/share/gc/shenandoah/shenandoahSimpleBitMap.hpp b/src/hotspot/share/gc/shenandoah/shenandoahSimpleBitMap.hpp
+index 3a4cb8cf742..451c11e2e58 100644
+--- a/src/hotspot/share/gc/shenandoah/shenandoahSimpleBitMap.hpp
++++ b/src/hotspot/share/gc/shenandoah/shenandoahSimpleBitMap.hpp
+@@ -90,7 +90,7 @@ class ShenandoahSimpleBitMap {
+ return array_idx;
+ }
+
+- inline constexpr idx_t alignment() const {
++ inline idx_t alignment() const {
+ return BitsPerWord;
+ }
+
+--
+2.43.0
+
diff --git a/package/openjdk/Config.in b/package/openjdk/Config.in
index 7f29e7a489..022ded8dbb 100644
--- a/package/openjdk/Config.in
+++ b/package/openjdk/Config.in
@@ -53,8 +53,8 @@ if BR2_PACKAGE_OPENJDK
choice
prompt "openjdk version"
default BR2_PACKAGE_OPENJDK_VERSION_17 if BR2_OPENJDK_VERSION_LTS # legacy
- default BR2_PACKAGE_OPENJDK_VERSION_21 if BR2_OPENJDK_VERSION_LATEST # legacy
- default BR2_PACKAGE_OPENJDK_VERSION_21
+ default BR2_PACKAGE_OPENJDK_VERSION_25 if BR2_OPENJDK_VERSION_LATEST # legacy
+ default BR2_PACKAGE_OPENJDK_VERSION_25
help
Select the version of OpenJDK you wish to use.
@@ -64,6 +64,9 @@ config BR2_PACKAGE_OPENJDK_VERSION_17
config BR2_PACKAGE_OPENJDK_VERSION_21
bool "OpenJDK 21"
+config BR2_PACKAGE_OPENJDK_VERSION_25
+ bool "OpenJDK 25"
+
endchoice
config BR2_PACKAGE_OPENJDK_X11
diff --git a/package/openjdk/openjdk.hash b/package/openjdk/openjdk.hash
index 72a6ff2e27..3f83ab48f8 100644
--- a/package/openjdk/openjdk.hash
+++ b/package/openjdk/openjdk.hash
@@ -1,4 +1,5 @@
# Locally computed
+sha256 9b3164cedf78d7a76a59499d7a6833145c7e0269ec7b664bfe5ee03ced2f449e openjdk-25.0.2+10.tar.gz
sha256 6500906cb7cc49268ce4ca368db3ddf3541b40afd25eecb378e13d5a72f43214 openjdk-21.0.10+7.tar.gz
sha256 7ebfcc2aafd514c23df3fe5280e1a34630b9b1d429c65a80dd5a4b6e7f177bc3 openjdk-17.0.18+8.tar.gz
sha256 4b9abebc4338048a7c2dc184e9f800deb349366bdf28eb23c2677a77b4c87726 LICENSE
diff --git a/package/openjdk/openjdk.mk b/package/openjdk/openjdk.mk
index e5d9d5e630..fbc860019c 100644
--- a/package/openjdk/openjdk.mk
+++ b/package/openjdk/openjdk.mk
@@ -4,11 +4,14 @@
#
################################################################################
-ifeq ($(BR2_PACKAGE_OPENJDK_VERSION_21),y)
+ifeq ($(BR2_PACKAGE_OPENJDK_VERSION_25),y)
+OPENJDK_VERSION_MAJOR = 25
+OPENJDK_VERSION_MINOR = 0.2
+OPENJDK_VERSION_BUILD = 10
+else ifeq ($(BR2_PACKAGE_OPENJDK_VERSION_21),y)
OPENJDK_VERSION_MAJOR = 21
OPENJDK_VERSION_MINOR = 0.10
OPENJDK_VERSION_BUILD = 7
-
else
OPENJDK_VERSION_MAJOR = 17
OPENJDK_VERSION_MINOR = 0.18
@@ -80,7 +83,6 @@ OPENJDK_CONF_ENV = \
OPENJDK_CONF_OPTS = \
--disable-full-docs \
- --disable-manpages \
--disable-warnings-as-errors \
--enable-openjdk-only \
--enable-unlimited-crypto \
@@ -90,7 +92,7 @@ OPENJDK_CONF_OPTS = \
--with-debug-level=release \
--with-devkit=$(HOST_DIR) \
--with-extra-cflags="$(TARGET_CFLAGS)" \
- --with-extra-cxxflags="$(TARGET_CXXFLAGS)" \
+ --with-extra-cxxflags="$(TARGET_CXXFLAGS) -fpermissive" \
--with-extra-ldflags="-Wl,-rpath,$(OPENJDK_INSTALL_BASE)/lib,-rpath,$(OPENJDK_INSTALL_BASE)/lib/$(OPENJDK_JVM_VARIANT)" \
--with-giflib=system \
--with-jobs=$(PARALLEL_JOBS) \
diff --git a/support/testing/tests/package/br2-external/openjdk/package/openjdk-jni-test/JniTest.java b/support/testing/tests/package/br2-external/openjdk/package/openjdk-jni-test/JniTest.java
index 21d9679788..97dec8b804 100644
--- a/support/testing/tests/package/br2-external/openjdk/package/openjdk-jni-test/JniTest.java
+++ b/support/testing/tests/package/br2-external/openjdk/package/openjdk-jni-test/JniTest.java
@@ -33,7 +33,7 @@ public class JniTest
public static void main(String[] args)
{
var actualVersion = JniWrapper.get_jni_version();
- var expectedVersion = 0x00150000;
+ var expectedVersion = 0x00180000;
JniTest.Test(
"Get JNI Version",
actualVersion,
--
2.47.3
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 23+ messages in thread
* [Buildroot] [PATCH v4 13/21] package/snappy: enable rtti
2026-05-01 15:27 [Buildroot] [PATCH v4 00/21] package/gcc: add version 16.1.0 Bernd Kuhls
` (11 preceding siblings ...)
2026-05-01 15:27 ` [Buildroot] [PATCH v4 12/21] package/openjdk{-bin}: add OpenJDK25 and configure it as latest Bernd Kuhls
@ 2026-05-01 15:27 ` Bernd Kuhls
2026-05-01 15:27 ` [Buildroot] [PATCH v4 14/21] package/rocksdb: bump version to 11.0.4 Bernd Kuhls
` (7 subsequent siblings)
20 siblings, 0 replies; 23+ messages in thread
From: Bernd Kuhls @ 2026-05-01 15:27 UTC (permalink / raw)
To: buildroot
Cc: Zoltan Gyarmati, Tudor Holton, Fabrice Fontaine,
Angelo Compagnucci, Olivier Schonken, Thomas Petazzoni,
Romain Naour, Giulio Benetti
Added patch to enable rtti, needed for upcoming bump of rocksdb to fix
link error:
output/per-package/rocksdb/host/bin/../lib/gcc/x86_64-buildroot-linux-
gnu/15.2.0/../../../../x86_64-buildroot-linux-gnu/bin/ld:
librocksdb.so.10.7.5: undefined reference to `typeinfo for snappy::Sink'
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
---
.../0002-add-option-to-enable-rtti.patch | 52 +++++++++++++++++++
package/snappy/snappy.mk | 5 +-
2 files changed, 56 insertions(+), 1 deletion(-)
create mode 100644 package/snappy/0002-add-option-to-enable-rtti.patch
diff --git a/package/snappy/0002-add-option-to-enable-rtti.patch b/package/snappy/0002-add-option-to-enable-rtti.patch
new file mode 100644
index 0000000000..e82328b0ff
--- /dev/null
+++ b/package/snappy/0002-add-option-to-enable-rtti.patch
@@ -0,0 +1,52 @@
+From 376f14b5933e91d08ade6a503fdd657a6e01a149 Mon Sep 17 00:00:00 2001
+From: Max <tchristy001@outlook.com>
+Date: Wed, 24 Nov 2021 12:16:23 -0600
+Subject: [PATCH] add option to enable rtti, set default to current behavior
+
+Upstream: https://github.com/google/snappy/pull/147 (rejected)
+
+Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
+[rebased for 1.2.2]
+---
+ CMakeLists.txt | 14 ++++++++++----
+ 1 file changed, 10 insertions(+), 4 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 6eef485..aefd35b 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -53,8 +53,10 @@ if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
+ add_definitions(-D_HAS_EXCEPTIONS=0)
+
+ # Disable RTTI.
+- string(REGEX REPLACE "/GR" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
+- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /GR-")
++ if(NOT SNAPPY_ENABLE_RTTI)
++ string(REGEX REPLACE "/GR" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
++ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /GR-")
++ endif(SNAPPY_ENABLE_RTTI)
+ else(MSVC)
+ # Use -Wall for clang and gcc.
+ if(NOT CMAKE_CXX_FLAGS MATCHES "-Wall")
+@@ -78,8 +80,10 @@ else(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-exceptions")
+
+ # Disable RTTI.
+- string(REGEX REPLACE "-frtti" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
+- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-rtti")
++ if(NOT SNAPPY_ENABLE_RTTI)
++ string(REGEX REPLACE "-frtti" "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
++ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-rtti")
++ endif(SNAPPY_ENABLE_RTTI)
+ endif(MSVC)
+
+ # BUILD_SHARED_LIBS is a standard CMake variable, but we declare it here to make
+@@ -98,6 +102,8 @@ option(SNAPPY_REQUIRE_AVX2 "Target processors with AVX2 support." OFF)
+
+ option(SNAPPY_INSTALL "Install Snappy's header and library" ON)
+
++option(SNAPPY_ENABLE_RTTI "Enable RTTI for Snappy's library" OFF)
++
+ include(TestBigEndian)
+ test_big_endian(SNAPPY_IS_BIG_ENDIAN)
+
diff --git a/package/snappy/snappy.mk b/package/snappy/snappy.mk
index 57c688b673..cd61bbb078 100644
--- a/package/snappy/snappy.mk
+++ b/package/snappy/snappy.mk
@@ -10,6 +10,9 @@ SNAPPY_LICENSE = BSD-3-Clause
SNAPPY_LICENSE_FILES = COPYING
SNAPPY_CPE_ID_VENDOR = google
SNAPPY_INSTALL_STAGING = YES
-SNAPPY_CONF_OPTS = -DSNAPPY_BUILD_BENCHMARKS=OFF -DSNAPPY_BUILD_TESTS=OFF
+SNAPPY_CONF_OPTS = \
+ -DSNAPPY_BUILD_BENCHMARKS=OFF \
+ -DSNAPPY_BUILD_TESTS=OFF \
+ -DSNAPPY_ENABLE_RTTI=ON
$(eval $(cmake-package))
--
2.47.3
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 23+ messages in thread
* [Buildroot] [PATCH v4 14/21] package/rocksdb: bump version to 11.0.4
2026-05-01 15:27 [Buildroot] [PATCH v4 00/21] package/gcc: add version 16.1.0 Bernd Kuhls
` (12 preceding siblings ...)
2026-05-01 15:27 ` [Buildroot] [PATCH v4 13/21] package/snappy: enable rtti Bernd Kuhls
@ 2026-05-01 15:27 ` Bernd Kuhls
2026-05-01 15:27 ` [Buildroot] [PATCH v4 15/21] toolchain/Config.in: add BR2_TOOLCHAIN_GCC_AT_LEAST_16 blind option Bernd Kuhls
` (6 subsequent siblings)
20 siblings, 0 replies; 23+ messages in thread
From: Bernd Kuhls @ 2026-05-01 15:27 UTC (permalink / raw)
To: buildroot
Cc: Zoltan Gyarmati, Tudor Holton, Fabrice Fontaine,
Angelo Compagnucci, Olivier Schonken, Thomas Petazzoni,
Romain Naour, Giulio Benetti
https://github.com/facebook/rocksdb/blob/v11.0.4/HISTORY.md
Removed patch 0001 which is included in this release:
https://github.com/facebook/rocksdb/commit/53c8f739fd266bb9e755eccceea7adb4d5126083
Added upstream PR to fix build error.
Updated hash of README.md due to various upstream commits:
https://github.com/facebook/rocksdb/commits/v10.7.5/README.md
Switched build system to cmake.
Added configure parameter -DFAIL_ON_WARNINGS=OFF which converts many
"may be used uninitialized" errors into warnings which fixes build
errors introduced by the upcoming gcc version 16.x.
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
---
...ed-parameter-when-Snappy-is-disabled.patch | 24 ++
...ls-build_detect_platform-fix-C-tests.patch | 325 ------------------
package/rocksdb/rocksdb.hash | 4 +-
package/rocksdb/rocksdb.mk | 81 ++---
4 files changed, 46 insertions(+), 388 deletions(-)
create mode 100644 package/rocksdb/0001-Fix-unused-parameter-when-Snappy-is-disabled.patch
delete mode 100644 package/rocksdb/0001-build_tools-build_detect_platform-fix-C-tests.patch
diff --git a/package/rocksdb/0001-Fix-unused-parameter-when-Snappy-is-disabled.patch b/package/rocksdb/0001-Fix-unused-parameter-when-Snappy-is-disabled.patch
new file mode 100644
index 0000000000..413473d35e
--- /dev/null
+++ b/package/rocksdb/0001-Fix-unused-parameter-when-Snappy-is-disabled.patch
@@ -0,0 +1,24 @@
+From cfd448002d601159feab4908a616ae09c444b39e Mon Sep 17 00:00:00 2001
+From: Youngjae Lee <ls4154.lee@gmail.com>
+Date: Thu, 26 Jun 2025 21:51:03 +0900
+Subject: [PATCH] Fix unused parameter warning when Snappy is disabled
+
+Upstream: https://github.com/facebook/rocksdb/pull/13732
+
+Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
+---
+ util/compression.cc | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/util/compression.cc b/util/compression.cc
+index 0aa473b179d..ca1649571ca 100644
+--- a/util/compression.cc
++++ b/util/compression.cc
+@@ -693,6 +693,7 @@ class BuiltinDecompressorV2SnappyOnly : public BuiltinDecompressorV2 {
+ args.uncompressed_size = uncompressed_length;
+ return Status::OK();
+ #else
++ (void)args;
+ return Status::NotSupported("Snappy not supported in this build");
+ #endif
+ }
diff --git a/package/rocksdb/0001-build_tools-build_detect_platform-fix-C-tests.patch b/package/rocksdb/0001-build_tools-build_detect_platform-fix-C-tests.patch
deleted file mode 100644
index ced4a3a3d9..0000000000
--- a/package/rocksdb/0001-build_tools-build_detect_platform-fix-C-tests.patch
+++ /dev/null
@@ -1,325 +0,0 @@
-From 23739c6f9694d7fc436967439f170173dbb4c6b4 Mon Sep 17 00:00:00 2001
-From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
-Date: Mon, 24 Feb 2020 10:22:13 +0100
-Subject: [PATCH] build_tools/build_detect_platform: fix C++ tests
-
-Replace -o /dev/null by -o test.o when testing for C++ features such as
--faligned-new otherwise tests will fail with some bugged binutils
-(https://sourceware.org/bugzilla/show_bug.cgi?id=19526):
-
-output/host/bin/xtensa-buildroot-linux-uclibc-g++ -faligned-new -x c++ - -o /dev/null <<EOF
- struct alignas(1024) t {int a;};
- int main() {}
-EOF
-/home/fabrice/buildroot/output/host/lib/gcc/xtensa-buildroot-linux-uclibc/8.3.0/../../../../xtensa-buildroot-linux-uclibc/bin/ld: final link failed: file truncated
-
-Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
-[Upstream status: https://github.com/facebook/rocksdb/pull/6479]
----
- build_tools/build_detect_platform | 66 +++++++++++++++----------------
- 1 file changed, 33 insertions(+), 33 deletions(-)
-
-diff --git a/build_tools/build_detect_platform b/build_tools/build_detect_platform
-index 2535d8124..64a0ae76c 100755
---- a/build_tools/build_detect_platform
-+++ b/build_tools/build_detect_platform
-@@ -172,7 +172,7 @@ case "$TARGET_OS" in
- PLATFORM_LDFLAGS="$PLATFORM_LDFLAGS -lpthread -lrt -ldl"
- if test $ROCKSDB_USE_IO_URING; then
- # check for liburing
-- $CXX $PLATFORM_CXXFLAGS -x c++ - -luring -o /dev/null 2>/dev/null <<EOF
-+ $CXX $PLATFORM_CXXFLAGS -x c++ - -luring -o test.o 2>/dev/null <<EOF
- #include <liburing.h>
- int main() {
- struct io_uring ring;
-@@ -245,7 +245,7 @@ if [ "$CROSS_COMPILE" = "true" -o "$FBCODE_BUILD" = "true" ]; then
- else
- if ! test $ROCKSDB_DISABLE_FALLOCATE; then
- # Test whether fallocate is available
-- $CXX $PLATFORM_CXXFLAGS -x c++ - -o /dev/null 2>/dev/null <<EOF
-+ $CXX $PLATFORM_CXXFLAGS -x c++ - -o test.o 2>/dev/null <<EOF
- #include <fcntl.h>
- #include <linux/falloc.h>
- int main() {
-@@ -261,7 +261,7 @@ EOF
- if ! test $ROCKSDB_DISABLE_SNAPPY; then
- # Test whether Snappy library is installed
- # http://code.google.com/p/snappy/
-- $CXX $PLATFORM_CXXFLAGS -x c++ - -o /dev/null 2>/dev/null <<EOF
-+ $CXX $PLATFORM_CXXFLAGS -x c++ - -o test.o 2>/dev/null <<EOF
- #include <snappy.h>
- int main() {}
- EOF
-@@ -276,7 +276,7 @@ EOF
- # Test whether gflags library is installed
- # http://gflags.github.io/gflags/
- # check if the namespace is gflags
-- if $CXX $PLATFORM_CXXFLAGS -x c++ - -o /dev/null 2>/dev/null << EOF
-+ if $CXX $PLATFORM_CXXFLAGS -x c++ - -o test.o 2>/dev/null << EOF
- #include <gflags/gflags.h>
- using namespace GFLAGS_NAMESPACE;
- int main() {}
-@@ -323,7 +323,7 @@ EOF
- COMMON_FLAGS="$COMMON_FLAGS -DGFLAGS=1"
- PLATFORM_LDFLAGS="$PLATFORM_LDFLAGS -lgflags"
- # check if namespace is gflags
-- elif $CXX $PLATFORM_CXXFLAGS -x c++ - -o /dev/null 2>/dev/null << EOF
-+ elif $CXX $PLATFORM_CXXFLAGS -x c++ - -o test.o 2>/dev/null << EOF
- #include <gflags/gflags.h>
- using namespace gflags;
- int main() {}
-@@ -285,7 +285,7 @@ EOF
- COMMON_FLAGS="$COMMON_FLAGS -DGFLAGS=1 -DGFLAGS_NAMESPACE=gflags"
- PLATFORM_LDFLAGS="$PLATFORM_LDFLAGS -lgflags"
- # check if namespace is google
-- elif $CXX $PLATFORM_CXXFLAGS -x c++ - -o /dev/null 2>/dev/null << EOF
-+ elif $CXX $PLATFORM_CXXFLAGS -x c++ - -o test.o 2>/dev/null << EOF
- #include <gflags/gflags.h>
- using namespace google;
- int main() {}
-@@ -299,7 +299,7 @@ EOF
-
- if ! test $ROCKSDB_DISABLE_ZLIB; then
- # Test whether zlib library is installed
-- $CXX $PLATFORM_CXXFLAGS $COMMON_FLAGS -x c++ - -o /dev/null 2>/dev/null <<EOF
-+ $CXX $PLATFORM_CXXFLAGS $COMMON_FLAGS -x c++ - -o test.o 2>/dev/null <<EOF
- #include <zlib.h>
- int main() {}
- EOF
-@@ -312,7 +312,7 @@ EOF
-
- if ! test $ROCKSDB_DISABLE_BZIP; then
- # Test whether bzip library is installed
-- $CXX $PLATFORM_CXXFLAGS $COMMON_FLAGS -x c++ - -o /dev/null 2>/dev/null <<EOF
-+ $CXX $PLATFORM_CXXFLAGS $COMMON_FLAGS -x c++ - -o test.o 2>/dev/null <<EOF
- #include <bzlib.h>
- int main() {}
- EOF
-@@ -325,7 +325,7 @@ EOF
-
- if ! test $ROCKSDB_DISABLE_LZ4; then
- # Test whether lz4 library is installed
-- $CXX $PLATFORM_CXXFLAGS $COMMON_FLAGS -x c++ - -o /dev/null 2>/dev/null <<EOF
-+ $CXX $PLATFORM_CXXFLAGS $COMMON_FLAGS -x c++ - -o test.o 2>/dev/null <<EOF
- #include <lz4.h>
- #include <lz4hc.h>
- int main() {}
-@@ -339,7 +339,7 @@ EOF
-
- if ! test $ROCKSDB_DISABLE_ZSTD; then
- # Test whether zstd library is installed
-- $CXX $PLATFORM_CXXFLAGS $COMMON_FLAGS -x c++ - -o /dev/null 2>/dev/null <<EOF
-+ $CXX $PLATFORM_CXXFLAGS $COMMON_FLAGS -x c++ - -o test.o 2>/dev/null <<EOF
- #include <zstd.h>
- int main() {}
- EOF
-@@ -352,7 +352,7 @@ EOF
-
- if ! test $ROCKSDB_DISABLE_NUMA; then
- # Test whether numa is available
-- $CXX $PLATFORM_CXXFLAGS -x c++ - -o /dev/null -lnuma 2>/dev/null <<EOF
-+ $CXX $PLATFORM_CXXFLAGS -x c++ - -o test.o -lnuma 2>/dev/null <<EOF
- #include <numa.h>
- #include <numaif.h>
- int main() {}
-@@ -366,7 +366,7 @@ EOF
-
- if ! test $ROCKSDB_DISABLE_TBB; then
- # Test whether tbb is available
-- $CXX $PLATFORM_CXXFLAGS $LDFLAGS -x c++ - -o /dev/null -ltbb 2>/dev/null <<EOF
-+ $CXX $PLATFORM_CXXFLAGS $LDFLAGS -x c++ - -o test.o -ltbb 2>/dev/null <<EOF
- #include <tbb/tbb.h>
- int main() {}
- EOF
-@@ -379,7 +379,7 @@ EOF
-
- if ! test $ROCKSDB_DISABLE_JEMALLOC; then
- # Test whether jemalloc is available
-- if echo 'int main() {}' | $CXX $PLATFORM_CXXFLAGS -x c++ - -o /dev/null -ljemalloc \
-+ if echo 'int main() {}' | $CXX $PLATFORM_CXXFLAGS -x c++ - -o test.o -ljemalloc \
- 2>/dev/null; then
- # This will enable some preprocessor identifiers in the Makefile
- JEMALLOC=1
-@@ -400,7 +400,7 @@ EOF
- fi
- if ! test $JEMALLOC && ! test $ROCKSDB_DISABLE_TCMALLOC; then
- # jemalloc is not available. Let's try tcmalloc
-- if echo 'int main() {}' | $CXX $PLATFORM_CXXFLAGS -x c++ - -o /dev/null \
-+ if echo 'int main() {}' | $CXX $PLATFORM_CXXFLAGS -x c++ - -o test.o \
- -ltcmalloc 2>/dev/null; then
- PLATFORM_LDFLAGS="$PLATFORM_LDFLAGS -ltcmalloc"
- JAVA_LDFLAGS="$JAVA_LDFLAGS -ltcmalloc"
-@@ -409,7 +409,7 @@ EOF
-
- if ! test $ROCKSDB_DISABLE_MALLOC_USABLE_SIZE; then
- # Test whether malloc_usable_size is available
-- $CXX $PLATFORM_CXXFLAGS -x c++ - -o /dev/null 2>/dev/null <<EOF
-+ $CXX $PLATFORM_CXXFLAGS -x c++ - -o test.o 2>/dev/null <<EOF
- #include <malloc.h>
- int main() {
- size_t res = malloc_usable_size(0);
-@@ -424,7 +424,7 @@ EOF
-
- if ! test $ROCKSDB_DISABLE_MEMKIND; then
- # Test whether memkind library is installed
-- $CXX $PLATFORM_CXXFLAGS $COMMON_FLAGS -lmemkind -x c++ - -o /dev/null 2>/dev/null <<EOF
-+ $CXX $PLATFORM_CXXFLAGS $COMMON_FLAGS -lmemkind -x c++ - -o test.o 2>/dev/null <<EOF
- #include <memkind.h>
- int main() {
- memkind_malloc(MEMKIND_DAX_KMEM, 1024);
-@@ -486,7 +486,7 @@ EOF
-
- if ! test $ROCKSDB_DISABLE_PTHREAD_MUTEX_ADAPTIVE_NP; then
- # Test whether PTHREAD_MUTEX_ADAPTIVE_NP mutex type is available
-- $CXX $PLATFORM_CXXFLAGS -x c++ - -o /dev/null 2>/dev/null <<EOF
-+ $CXX $PLATFORM_CXXFLAGS -x c++ - -o test.o 2>/dev/null <<EOF
- #include <pthread.h>
- int main() {
- int x = PTHREAD_MUTEX_ADAPTIVE_NP;
-@@ -439,7 +439,7 @@ EOF
-
- if ! test $ROCKSDB_DISABLE_BACKTRACE; then
- # Test whether backtrace is available
-- $CXX $PLATFORM_CXXFLAGS -x c++ - -o /dev/null 2>/dev/null <<EOF
-+ $CXX $PLATFORM_CXXFLAGS -x c++ - -o test.o 2>/dev/null <<EOF
- #include <execinfo.h>
- int main() {
- void* frames[1];
-@@ -451,7 +451,7 @@ EOF
- COMMON_FLAGS="$COMMON_FLAGS -DROCKSDB_BACKTRACE"
- else
- # Test whether execinfo library is installed
-- $CXX $PLATFORM_CXXFLAGS -lexecinfo -x c++ - -o /dev/null 2>/dev/null <<EOF
-+ $CXX $PLATFORM_CXXFLAGS -lexecinfo -x c++ - -o test.o 2>/dev/null <<EOF
- #include <execinfo.h>
- int main() {
- void* frames[1];
-@@ -468,7 +468,7 @@ EOF
-
- if ! test $ROCKSDB_DISABLE_PG; then
- # Test if -pg is supported
-- $CXX $PLATFORM_CXXFLAGS -pg -x c++ - -o /dev/null 2>/dev/null <<EOF
-+ $CXX $PLATFORM_CXXFLAGS -pg -x c++ - -o test.o 2>/dev/null <<EOF
- int main() {
- return 0;
- }
-@@ -480,7 +480,7 @@ EOF
-
- if ! test $ROCKSDB_DISABLE_SYNC_FILE_RANGE; then
- # Test whether sync_file_range is supported for compatibility with an old glibc
-- $CXX $PLATFORM_CXXFLAGS -x c++ - -o /dev/null 2>/dev/null <<EOF
-+ $CXX $PLATFORM_CXXFLAGS -x c++ - -o test.o 2>/dev/null <<EOF
- #include <fcntl.h>
- int main() {
- int fd = open("/dev/null", 0);
-@@ -494,7 +494,7 @@ EOF
-
- if ! test $ROCKSDB_DISABLE_SCHED_GETCPU; then
- # Test whether sched_getcpu is supported
-- $CXX $PLATFORM_CXXFLAGS -x c++ - -o /dev/null 2>/dev/null <<EOF
-+ $CXX $PLATFORM_CXXFLAGS -x c++ - -o test.o 2>/dev/null <<EOF
- #include <sched.h>
- int main() {
- int cpuid = sched_getcpu();
-@@ -508,7 +508,7 @@ EOF
-
- if ! test $ROCKSDB_DISABLE_AUXV_GETAUXVAL; then
- # Test whether getauxval is supported
-- $CXX $PLATFORM_CXXFLAGS -x c++ - -o /dev/null 2>/dev/null <<EOF
-+ $CXX $PLATFORM_CXXFLAGS -x c++ - -o test.o 2>/dev/null <<EOF
- #include <sys/auxv.h>
- int main() {
- uint64_t auxv = getauxval(AT_HWCAP);
-@@ -522,7 +522,7 @@ EOF
-
- if ! test $ROCKSDB_DISABLE_ALIGNED_NEW; then
- # Test whether c++17 aligned-new is supported
-- $CXX $PLATFORM_CXXFLAGS -faligned-new -x c++ - -o /dev/null 2>/dev/null <<EOF
-+ $CXX $PLATFORM_CXXFLAGS -faligned-new -x c++ - -o test.o 2>/dev/null <<EOF
- struct alignas(1024) t {int a;};
- int main() {}
- EOF
-@@ -536,7 +536,7 @@ fi
- # -Wshorten-64-to-32 breaks compilation on FreeBSD i386
- if ! [ "$TARGET_OS" = FreeBSD -a "$TARGET_ARCHITECTURE" = i386 ]; then
- # Test whether -Wshorten-64-to-32 is available
-- $CXX $PLATFORM_CXXFLAGS -x c++ - -o /dev/null -Wshorten-64-to-32 2>/dev/null <<EOF
-+ $CXX $PLATFORM_CXXFLAGS -x c++ - -o test.o -Wshorten-64-to-32 2>/dev/null <<EOF
- int main() {}
- EOF
- if [ "$?" = 0 ]; then
-@@ -603,7 +603,7 @@ if test "$TRY_SSE_ETC"; then
- TRY_LZCNT="-mlzcnt"
- fi
-
--$CXX $PLATFORM_CXXFLAGS $COMMON_FLAGS $TRY_SSE42 -x c++ - -o /dev/null 2>/dev/null <<EOF
-+$CXX $PLATFORM_CXXFLAGS $COMMON_FLAGS $TRY_SSE42 -x c++ - -o test.o 2>/dev/null <<EOF
- #include <cstdint>
- #include <nmmintrin.h>
- int main() {
-@@ -617,7 +617,7 @@ elif test "$USE_SSE"; then
- echo "warning: USE_SSE specified but compiler could not use SSE intrinsics, disabling" >&2
- fi
-
--$CXX $PLATFORM_CXXFLAGS $COMMON_FLAGS $TRY_PCLMUL -x c++ - -o /dev/null 2>/dev/null <<EOF
-+$CXX $PLATFORM_CXXFLAGS $COMMON_FLAGS $TRY_PCLMUL -x c++ - -o test.o 2>/dev/null <<EOF
- #include <cstdint>
- #include <wmmintrin.h>
- int main() {
-@@ -634,7 +634,7 @@ elif test "$USE_SSE"; then
- echo "warning: USE_SSE specified but compiler could not use PCLMUL intrinsics, disabling" >&2
- fi
-
--$CXX $PLATFORM_CXXFLAGS $COMMON_FLAGS $TRY_AVX2 -x c++ - -o /dev/null 2>/dev/null <<EOF
-+$CXX $PLATFORM_CXXFLAGS $COMMON_FLAGS $TRY_AVX2 -x c++ - -o test.o 2>/dev/null <<EOF
- #include <cstdint>
- #include <immintrin.h>
- int main() {
-@@ -649,7 +649,7 @@ elif test "$USE_SSE"; then
- echo "warning: USE_SSE specified but compiler could not use AVX2 intrinsics, disabling" >&2
- fi
-
--$CXX $PLATFORM_CXXFLAGS $COMMON_FLAGS $TRY_BMI -x c++ - -o /dev/null 2>/dev/null <<EOF
-+$CXX $PLATFORM_CXXFLAGS $COMMON_FLAGS $TRY_BMI -x c++ - -o test.o 2>/dev/null <<EOF
- #include <cstdint>
- #include <immintrin.h>
- int main(int argc, char *argv[]) {
-@@ -739,7 +739,7 @@ elif test "$USE_SSE"; then
- echo "warning: USE_SSE specified but compiler could not use BMI intrinsics, disabling" >&2
- fi
-
--$CXX $PLATFORM_CXXFLAGS $COMMON_FLAGS $TRY_LZCNT -x c++ - -o /dev/null 2>/dev/null <<EOF
-+$CXX $PLATFORM_CXXFLAGS $COMMON_FLAGS $TRY_LZCNT -x c++ - -o test.o 2>/dev/null <<EOF
- #include <cstdint>
- #include <immintrin.h>
- int main(int argc, char *argv[]) {
-@@ -753,7 +753,7 @@ elif test "$USE_SSE"; then
- echo "warning: USE_SSE specified but compiler could not use LZCNT intrinsics, disabling" >&2
- fi
-
--$CXX $PLATFORM_CXXFLAGS $COMMON_FLAGS -x c++ - -o /dev/null 2>/dev/null <<EOF
-+$CXX $PLATFORM_CXXFLAGS $COMMON_FLAGS -x c++ - -o test.o 2>/dev/null <<EOF
- #include <cstdint>
- int main() {
- uint64_t a = 0xffffFFFFffffFFFF;
-@@ -666,7 +666,7 @@ fi
- # succeed because the cross-compiler flags are added by the Makefile, not this
- # script.
- if [ "$PLATFORM" != IOS ]; then
-- $CXX $COMMON_FLAGS -x c++ - -o /dev/null 2>/dev/null <<EOF
-+ $CXX $COMMON_FLAGS -x c++ - -o test.o 2>/dev/null <<EOF
- #if defined(_MSC_VER) && !defined(__thread)
- #define __thread __declspec(thread)
- #endif
-@@ -685,7 +685,7 @@ if [ "$FBCODE_BUILD" != "true" -a "$PLATFORM" = OS_LINUX ]; then
- void dummy_func() {}
- EOF
- if [ "$?" = 0 ]; then
-- $CXX $COMMON_FLAGS $PLATFORM_SHARED_LDFLAGS test_dl.o -o /dev/null 2>/dev/null
-+ $CXX $COMMON_FLAGS $PLATFORM_SHARED_LDFLAGS test_dl.o -o test.o 2>/dev/null
- if [ "$?" = 0 ]; then
- EXEC_LDFLAGS+="-ldl"
- rm -f test_dl.o
---
-2.25.0
-
diff --git a/package/rocksdb/rocksdb.hash b/package/rocksdb/rocksdb.hash
index 935b498c55..fc2668a635 100644
--- a/package/rocksdb/rocksdb.hash
+++ b/package/rocksdb/rocksdb.hash
@@ -1,8 +1,8 @@
# Locally computed:
-sha256 c6502c7aae641b7e20fafa6c2b92273d935d2b7b2707135ebd9a67b092169dca rocksdb-6.20.3.tar.gz
+sha256 b4dfd75199f385ec76056f81d33cde8f4cb446ea2ed1821feec7b996b3409f67 rocksdb-11.0.4.tar.gz
# Hash for license files:
sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING
sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 LICENSE.Apache
sha256 b568f1f37a5a1d37a3e981e7c8b7fc4856ca33b2ca0a45bc8e847aaaf7afe485 LICENSE.leveldb
-sha256 e62e4f73402cf6a16969673f0b7eb46bc91782e50a2afe400dd0157547bc09f0 README.md
+sha256 99d85d5d88c6d853c2e6fda21de51fa33288a51d3aa4959dd2b68535f768894b README.md
diff --git a/package/rocksdb/rocksdb.mk b/package/rocksdb/rocksdb.mk
index bed0634134..d4265b52cf 100644
--- a/package/rocksdb/rocksdb.mk
+++ b/package/rocksdb/rocksdb.mk
@@ -4,104 +4,63 @@
#
################################################################################
-ROCKSDB_VERSION = 6.20.3
+ROCKSDB_VERSION = 11.0.4
ROCKSDB_SITE = $(call github,facebook,rocksdb,v$(ROCKSDB_VERSION))
ROCKSDB_LICENSE = GPL-2.0 or Apache-2.0
ROCKSDB_LICENSE_FILES = COPYING LICENSE.Apache LICENSE.leveldb README.md
ROCKSDB_INSTALL_STAGING = YES
-
-ROCKSDB_MAKE_OPTS = \
- PORTABLE=1 \
- PREFIX=/usr
-
-# Internal error, aborting at dwarf2cfi.c:2802 in connect_traces
-# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58864
-ifeq ($(BR2_m68k_cf),y)
-ROCKSDB_EXTRA_CXXFLAGS += -fno-defer-pop
-endif
+ROCKSDB_CONF_OPTS = \
+ -DFAIL_ON_WARNINGS=OFF \
+ -DPORTABLE=1 \
+ -DWITH_TESTS=OFF
ifeq ($(BR2_PACKAGE_BZIP2),y)
ROCKSDB_DEPENDENCIES += bzip2
-ROCKSDB_MAKE_OPTS += ROCKSDB_DISABLE_BZ2=0
+ROCKSDB_CONF_OPTS += -DWITH_BZ2=ON
else
-ROCKSDB_MAKE_OPTS += ROCKSDB_DISABLE_BZ2=1
+ROCKSDB_CONF_OPTS += -DWITH_BZ2=OFF
endif
ifeq ($(BR2_PACKAGE_GFLAGS),y)
ROCKSDB_DEPENDENCIES += gflags
-ROCKSDB_MAKE_OPTS += ROCKSDB_DISABLE_GFLAGS=0
+ROCKSDB_CONF_OPTS += -DWITH_GFLAGS=ON
else
-ROCKSDB_MAKE_OPTS += ROCKSDB_DISABLE_GFLAGS=1
+ROCKSDB_CONF_OPTS += -DWITH_GFLAGS=OFF
endif
ifeq ($(BR2_PACKAGE_JEMALLOC),y)
ROCKSDB_DEPENDENCIES += jemalloc
-ROCKSDB_MAKE_OPTS += ROCKSDB_DISABLE_JEMALLOC=0
+ROCKSDB_CONF_OPTS += -DWITH_JEMALLOC=ON
else
-ROCKSDB_MAKE_OPTS += ROCKSDB_DISABLE_JEMALLOC=1
+ROCKSDB_CONF_OPTS += -DWITH_JEMALLOC=OFF
endif
ifeq ($(BR2_PACKAGE_LZ4),y)
ROCKSDB_DEPENDENCIES += lz4
-ROCKSDB_MAKE_OPTS += ROCKSDB_DISABLE_LZ4=0
+ROCKSDB_CONF_OPTS += -DWITH_LZ4=ON
else
-ROCKSDB_MAKE_OPTS += ROCKSDB_DISABLE_LZ4=1
+ROCKSDB_CONF_OPTS += -DWITH_LZ4=OFF
endif
ifeq ($(BR2_PACKAGE_SNAPPY),y)
ROCKSDB_DEPENDENCIES += snappy
-ROCKSDB_MAKE_OPTS += ROCKSDB_DISABLE_SNAPPY=0
+ROCKSDB_CONF_OPTS += -DWITH_SNAPPY=ON
else
-ROCKSDB_MAKE_OPTS += ROCKSDB_DISABLE_SNAPPY=1
+ROCKSDB_CONF_OPTS += -DWITH_SNAPPY=OFF
endif
ifeq ($(BR2_PACKAGE_ZLIB),y)
ROCKSDB_DEPENDENCIES += zlib
-ROCKSDB_MAKE_OPTS += ROCKSDB_DISABLE_ZLIB=0
+ROCKSDB_CONF_OPTS += -DWITH_ZLIB=ON
else
-ROCKSDB_MAKE_OPTS += ROCKSDB_DISABLE_ZLIB=1
+ROCKSDB_CONF_OPTS += -DWITH_ZLIB=OFF
endif
ifeq ($(BR2_PACKAGE_ZSTD),y)
ROCKSDB_DEPENDENCIES += zstd
-ROCKSDB_MAKE_OPTS += ROCKSDB_DISABLE_ZSTD=0
-else
-ROCKSDB_MAKE_OPTS += ROCKSDB_DISABLE_ZSTD=1
-endif
-
-ifeq ($(BR2_ENABLE_LTO),y)
-ROCKSDB_MAKE_OPTS += USE_LTO=1
+ROCKSDB_CONF_OPTS += -DWITH_ZSTD=ON
else
-ROCKSDB_MAKE_OPTS += USE_LTO=0
+ROCKSDB_CONF_OPTS += -DWITH_ZSTD=OFF
endif
-ifeq ($(BR2_STATIC_LIBS),y)
-ROCKSDB_BUILD_TARGETS += static_lib
-ROCKSDB_INSTALL_TARGETS += install-static
-ROCKSDB_EXTRA_CXXFLAGS += -DROCKSDB_NO_DYNAMIC_EXTENSION
-else ifeq ($(BR2_SHARED_LIBS),y)
-ROCKSDB_BUILD_TARGETS += shared_lib
-ROCKSDB_INSTALL_TARGETS += install-shared
-else ifeq ($(BR2_SHARED_STATIC_LIBS),y)
-ROCKSDB_BUILD_TARGETS += shared_lib static_lib
-ROCKSDB_INSTALL_TARGETS += install-shared install-static
-endif
-
-ROCKSDB_MAKE_OPTS += EXTRA_CXXFLAGS="$(ROCKSDB_EXTRA_CXXFLAGS)"
-
-define ROCKSDB_BUILD_CMDS
- $(TARGET_CONFIGURE_OPTS) $(MAKE) $(ROCKSDB_MAKE_OPTS) -C $(@D) \
- $(ROCKSDB_BUILD_TARGETS)
-endef
-
-define ROCKSDB_INSTALL_STAGING_CMDS
- $(TARGET_CONFIGURE_OPTS) $(MAKE) $(ROCKSDB_MAKE_OPTS) -C $(@D) \
- DESTDIR=$(STAGING_DIR) $(ROCKSDB_INSTALL_TARGETS)
-endef
-
-define ROCKSDB_INSTALL_TARGET_CMDS
- $(TARGET_CONFIGURE_OPTS) $(MAKE) $(ROCKSDB_MAKE_OPTS) -C $(@D) \
- DESTDIR=$(TARGET_DIR) $(ROCKSDB_INSTALL_TARGETS)
-endef
-
-$(eval $(generic-package))
+$(eval $(cmake-package))
--
2.47.3
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 23+ messages in thread
* [Buildroot] [PATCH v4 15/21] toolchain/Config.in: add BR2_TOOLCHAIN_GCC_AT_LEAST_16 blind option
2026-05-01 15:27 [Buildroot] [PATCH v4 00/21] package/gcc: add version 16.1.0 Bernd Kuhls
` (13 preceding siblings ...)
2026-05-01 15:27 ` [Buildroot] [PATCH v4 14/21] package/rocksdb: bump version to 11.0.4 Bernd Kuhls
@ 2026-05-01 15:27 ` Bernd Kuhls
2026-05-01 15:27 ` [Buildroot] [PATCH v4 16/21] arch/Config.in: introduce BR2_ARCH_NEEDS_GCC_AT_LEAST_17 Bernd Kuhls
` (5 subsequent siblings)
20 siblings, 0 replies; 23+ messages in thread
From: Bernd Kuhls @ 2026-05-01 15:27 UTC (permalink / raw)
To: buildroot
Cc: Zoltan Gyarmati, Tudor Holton, Fabrice Fontaine,
Angelo Compagnucci, Olivier Schonken, Thomas Petazzoni,
Romain Naour, Giulio Benetti
In order to add gcc 16 support in follow-up commits, introduce
BR2_TOOLCHAIN_GCC_AT_LEAST_16 symbol.
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
---
toolchain/Config.in | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/toolchain/Config.in b/toolchain/Config.in
index 910cd103dc..5aa6cf8f6d 100644
--- a/toolchain/Config.in
+++ b/toolchain/Config.in
@@ -848,10 +848,15 @@ config BR2_TOOLCHAIN_GCC_AT_LEAST_15
bool
select BR2_TOOLCHAIN_GCC_AT_LEAST_14
+config BR2_TOOLCHAIN_GCC_AT_LEAST_16
+ bool
+ select BR2_TOOLCHAIN_GCC_AT_LEAST_15
+
# This order guarantees that the highest version is set, as kconfig
# stops affecting a value on the first matching default.
config BR2_TOOLCHAIN_GCC_AT_LEAST
string
+ default "16" if BR2_TOOLCHAIN_GCC_AT_LEAST_16
default "15" if BR2_TOOLCHAIN_GCC_AT_LEAST_15
default "14" if BR2_TOOLCHAIN_GCC_AT_LEAST_14
default "13" if BR2_TOOLCHAIN_GCC_AT_LEAST_13
--
2.47.3
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 23+ messages in thread
* [Buildroot] [PATCH v4 16/21] arch/Config.in: introduce BR2_ARCH_NEEDS_GCC_AT_LEAST_17
2026-05-01 15:27 [Buildroot] [PATCH v4 00/21] package/gcc: add version 16.1.0 Bernd Kuhls
` (14 preceding siblings ...)
2026-05-01 15:27 ` [Buildroot] [PATCH v4 15/21] toolchain/Config.in: add BR2_TOOLCHAIN_GCC_AT_LEAST_16 blind option Bernd Kuhls
@ 2026-05-01 15:27 ` Bernd Kuhls
2026-05-01 15:27 ` [Buildroot] [PATCH v4 17/21] toolchain/toolchain-external/toolchain-external-custom: add gcc 16 version selection Bernd Kuhls
` (4 subsequent siblings)
20 siblings, 0 replies; 23+ messages in thread
From: Bernd Kuhls @ 2026-05-01 15:27 UTC (permalink / raw)
To: buildroot
Cc: Zoltan Gyarmati, Tudor Holton, Fabrice Fontaine,
Angelo Compagnucci, Olivier Schonken, Thomas Petazzoni,
Romain Naour, Giulio Benetti
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
---
arch/Config.in | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/arch/Config.in b/arch/Config.in
index 624b5e9d21..863a1eed34 100644
--- a/arch/Config.in
+++ b/arch/Config.in
@@ -344,6 +344,10 @@ config BR2_ARCH_NEEDS_GCC_AT_LEAST_16
bool
select BR2_ARCH_NEEDS_GCC_AT_LEAST_15
+config BR2_ARCH_NEEDS_GCC_AT_LEAST_17
+ bool
+ select BR2_ARCH_NEEDS_GCC_AT_LEAST_16
+
# The following string values are defined by the individual
# Config.in.$ARCH files
config BR2_ARCH
--
2.47.3
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 23+ messages in thread
* [Buildroot] [PATCH v4 17/21] toolchain/toolchain-external/toolchain-external-custom: add gcc 16 version selection
2026-05-01 15:27 [Buildroot] [PATCH v4 00/21] package/gcc: add version 16.1.0 Bernd Kuhls
` (15 preceding siblings ...)
2026-05-01 15:27 ` [Buildroot] [PATCH v4 16/21] arch/Config.in: introduce BR2_ARCH_NEEDS_GCC_AT_LEAST_17 Bernd Kuhls
@ 2026-05-01 15:27 ` Bernd Kuhls
2026-05-01 15:27 ` [Buildroot] [PATCH v4 18/21] package/gcc: add version 16.1.0 Bernd Kuhls
` (3 subsequent siblings)
20 siblings, 0 replies; 23+ messages in thread
From: Bernd Kuhls @ 2026-05-01 15:27 UTC (permalink / raw)
To: buildroot
Cc: Zoltan Gyarmati, Tudor Holton, Fabrice Fontaine,
Angelo Compagnucci, Olivier Schonken, Thomas Petazzoni,
Romain Naour, Giulio Benetti
This patch allows to use an external toolchain based on gcc 16.
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
---
.../toolchain-external-custom/Config.in.options | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/toolchain/toolchain-external/toolchain-external-custom/Config.in.options b/toolchain/toolchain-external/toolchain-external-custom/Config.in.options
index 9ca024f5b8..f69e09ecf0 100644
--- a/toolchain/toolchain-external/toolchain-external-custom/Config.in.options
+++ b/toolchain/toolchain-external/toolchain-external-custom/Config.in.options
@@ -46,6 +46,11 @@ choice
Set to the gcc version that is used by your external
toolchain.
+config BR2_TOOLCHAIN_EXTERNAL_GCC_16
+ bool "16.x"
+ depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_17
+ select BR2_TOOLCHAIN_GCC_AT_LEAST_16
+
config BR2_TOOLCHAIN_EXTERNAL_GCC_15
bool "15.x"
depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_16
--
2.47.3
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 23+ messages in thread
* [Buildroot] [PATCH v4 18/21] package/gcc: add version 16.1.0
2026-05-01 15:27 [Buildroot] [PATCH v4 00/21] package/gcc: add version 16.1.0 Bernd Kuhls
` (16 preceding siblings ...)
2026-05-01 15:27 ` [Buildroot] [PATCH v4 17/21] toolchain/toolchain-external/toolchain-external-custom: add gcc 16 version selection Bernd Kuhls
@ 2026-05-01 15:27 ` Bernd Kuhls
2026-05-01 15:27 ` [Buildroot] [PATCH v4 19/21] package/gcc: switch to GCC 15.x as the default Bernd Kuhls
` (2 subsequent siblings)
20 siblings, 0 replies; 23+ messages in thread
From: Bernd Kuhls @ 2026-05-01 15:27 UTC (permalink / raw)
To: buildroot
Cc: Zoltan Gyarmati, Tudor Holton, Fabrice Fontaine,
Angelo Compagnucci, Olivier Schonken, Thomas Petazzoni,
Romain Naour, Giulio Benetti
Added libatomic to HOST_GCC_INITIAL_EXCLUDES to fix linking error with
libc:
output/host/lib/gcc/x86_64-buildroot-linux-gnu/16.0.1/../../../../x86_64-buildroot-linux-gnu/bin/ld:
cannot find -latomic_asneeded: No such file or directory
caused by upstream commit
https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=e63cf4b130b86dd7dde1bf499d3d40faca10ea2e
which added libatomic/ to $bootstrap_target_libs.
For details see https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81358
Copied patches 0001 & 0003 from package/gcc/15.2.0/
Patch 0002 was applied upstream:
https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=7894c00982c570d684fe5b82d8fb3aafc34d6986
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
---
.checkpackageignore | 1 +
...le-split-stack-for-non-thread-builds.patch | 26 +++++++++
...-config-microblaze-fix-ira-for-GCC15.patch | 56 +++++++++++++++++++
package/gcc/Config.in.host | 9 +++
package/gcc/gcc-initial/gcc-initial.mk | 2 +-
package/gcc/gcc.hash | 2 +
6 files changed, 95 insertions(+), 1 deletion(-)
create mode 100644 package/gcc/16.1.0/0001-disable-split-stack-for-non-thread-builds.patch
create mode 100644 package/gcc/16.1.0/0002-gcc-config-microblaze-fix-ira-for-GCC15.patch
diff --git a/.checkpackageignore b/.checkpackageignore
index 6147aae299..f53d4c931d 100644
--- a/.checkpackageignore
+++ b/.checkpackageignore
@@ -358,6 +358,7 @@ package/fxload/0001-fix-static-build.patch lib_patch.Upstream
package/gcc/13.4.0/0001-disable-split-stack-for-non-thread-builds.patch lib_patch.Upstream
package/gcc/14.3.0/0001-disable-split-stack-for-non-thread-builds.patch lib_patch.Upstream
package/gcc/15.2.0/0001-disable-split-stack-for-non-thread-builds.patch lib_patch.Upstream
+package/gcc/16.1.0/0001-disable-split-stack-for-non-thread-builds.patch lib_patch.Upstream
package/gcc/8.4.0/0001-xtensa-fix-PR-target-91880.patch lib_patch.Upstream
package/gcc/8.4.0/0002-Revert-re-PR-target-92095-internal-error-with-O1-mcp.patch lib_patch.Upstream
package/gcc/8.4.0/0003-libsanitizer-Remove-cyclades-from-libsanitizer.patch lib_patch.Upstream
diff --git a/package/gcc/16.1.0/0001-disable-split-stack-for-non-thread-builds.patch b/package/gcc/16.1.0/0001-disable-split-stack-for-non-thread-builds.patch
new file mode 100644
index 0000000000..c3b600cfb8
--- /dev/null
+++ b/package/gcc/16.1.0/0001-disable-split-stack-for-non-thread-builds.patch
@@ -0,0 +1,26 @@
+From 7d5f59e035341430e20f47420535d0e987516e55 Mon Sep 17 00:00:00 2001
+From: Waldemar Brodkorb <wbx@openadk.org>
+Date: Mon, 25 Jul 2022 00:29:55 +0200
+Subject: [PATCH] disable split-stack for non-thread builds
+
+Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
+[Romain: convert to git format]
+Signed-off-by: Romain Naour <romain.naour@smile.fr>
+---
+ libgcc/config/t-stack | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/libgcc/config/t-stack b/libgcc/config/t-stack
+index cc0366b4cd8..f3f97e86d60 100644
+--- a/libgcc/config/t-stack
++++ b/libgcc/config/t-stack
+@@ -1,4 +1,6 @@
+ # Makefile fragment to provide generic support for -fsplit-stack.
+ # This should be used in config.host for any host which supports
+ # -fsplit-stack.
++ifeq ($(enable_threads),yes)
+ LIB2ADD_ST += $(srcdir)/generic-morestack.c $(srcdir)/generic-morestack-thread.c
++endif
+--
+2.50.1
+
diff --git a/package/gcc/16.1.0/0002-gcc-config-microblaze-fix-ira-for-GCC15.patch b/package/gcc/16.1.0/0002-gcc-config-microblaze-fix-ira-for-GCC15.patch
new file mode 100644
index 0000000000..663aab7218
--- /dev/null
+++ b/package/gcc/16.1.0/0002-gcc-config-microblaze-fix-ira-for-GCC15.patch
@@ -0,0 +1,56 @@
+From d2fdbd8c4abe67eea86877dfb3b3b9d8508c165f Mon Sep 17 00:00:00 2001
+From: Romain Naour <romain.naour@gmail.com>
+Date: Wed, 6 Aug 2025 22:32:30 +0200
+Subject: [PATCH] gcc/config/microblaze: fix ira for GCC15
+
+Add new hooks for callee-save on microblaze defined by [1] and
+return 1 to restore the old behavior prior to the commit [3].
+
+Tested with qemu_microblazeel_mmu_defconfig and used to generate
+Microblaze toolchains for the Bootlin toolchains 2025.08-1 [4][5].
+
+Upstream: suggested in the bug report: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=121432#c10
+
+[1] https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=b191e8bdecf881d11c1544c441e38f4c18392a15
+[2] https://gcc.gnu.org/git/?p=gcc.git;a=blob;f=gcc/config/i386/i386.cc;h=3128973ba79cccfc6761f451dcb716b9558cc4da;hb=d3ff498c478acefce35de04402f99171b4f64a1a#l20606
+[3] https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=3b9b8d6cfdf59337f4b7ce10ce92a98044b2657b
+[4] https://lore.kernel.org/buildroot/87sehzndtp.fsf@dell.be.48ers.dk/T/#mce7decd0b3f6a41008d5de577538a8525c91b374
+[5] https://toolchains.bootlin.com/
+
+Signed-off-by: Romain Naour <romain.naour@gmail.com>
+---
+ gcc/config/microblaze/microblaze.cc | 11 +++++++++++
+ 1 file changed, 11 insertions(+)
+
+diff --git a/gcc/config/microblaze/microblaze.cc b/gcc/config/microblaze/microblaze.cc
+index 78b9428ef3b..84ea7e8d55a 100644
+--- a/gcc/config/microblaze/microblaze.cc
++++ b/gcc/config/microblaze/microblaze.cc
+@@ -3228,6 +3228,14 @@ microblaze_secondary_reload (bool in_p ATTRIBUTE_UNUSED, rtx x ATTRIBUTE_UNUSED,
+ return NO_REGS;
+ }
+
++/* Implement TARGET_CALLEE_SAVE_COST. */
++static int
++microblaze_callee_save_cost (spill_cost_type, unsigned int hard_regno, machine_mode,
++ unsigned int, int mem_cost, const HARD_REG_SET &, bool)
++{
++ return 1;
++}
++
+ static void
+ microblaze_globalize_label (FILE * stream, const char *name)
+ {
+@@ -4066,6 +4074,9 @@ microblaze_starting_frame_offset (void)
+ #undef TARGET_SECONDARY_RELOAD
+ #define TARGET_SECONDARY_RELOAD microblaze_secondary_reload
+
++#undef TARGET_CALLEE_SAVE_COST
++#define TARGET_CALLEE_SAVE_COST microblaze_callee_save_cost
++
+ #undef TARGET_ASM_OUTPUT_MI_THUNK
+ #define TARGET_ASM_OUTPUT_MI_THUNK microblaze_asm_output_mi_thunk
+
+--
+2.50.1
+
diff --git a/package/gcc/Config.in.host b/package/gcc/Config.in.host
index 21581487df..b9dd37471f 100644
--- a/package/gcc/Config.in.host
+++ b/package/gcc/Config.in.host
@@ -46,6 +46,14 @@ config BR2_GCC_VERSION_15_X
depends on !BR2_POWERPC_CPU_HAS_SPE
select BR2_TOOLCHAIN_GCC_AT_LEAST_15
+config BR2_GCC_VERSION_16_X
+ bool "gcc 16.x"
+ depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_17
+ # powerpc spe support has been deprecated since gcc 8.x.
+ # https://gcc.gnu.org/ml/gcc/2018-04/msg00102.html
+ depends on !BR2_POWERPC_CPU_HAS_SPE
+ select BR2_TOOLCHAIN_GCC_AT_LEAST_16
+
endchoice
config BR2_GCC_SUPPORTS_DLANG
@@ -71,6 +79,7 @@ config BR2_GCC_VERSION
default "13.4.0" if BR2_GCC_VERSION_13_X
default "14.3.0" if BR2_GCC_VERSION_14_X
default "15.2.0" if BR2_GCC_VERSION_15_X
+ default "16.1.0" if BR2_GCC_VERSION_16_X
default "arc-2024.12-release" if BR2_GCC_VERSION_ARC
config BR2_EXTRA_GCC_CONFIG_OPTIONS
diff --git a/package/gcc/gcc-initial/gcc-initial.mk b/package/gcc/gcc-initial/gcc-initial.mk
index 1f8b76a942..18d5cef0f8 100644
--- a/package/gcc/gcc-initial/gcc-initial.mk
+++ b/package/gcc/gcc-initial/gcc-initial.mk
@@ -17,7 +17,7 @@ HOST_GCC_INITIAL_DL_SUBDIR = gcc
HOST_GCC_INITIAL_DEPENDENCIES = $(HOST_GCC_COMMON_DEPENDENCIES)
-HOST_GCC_INITIAL_EXCLUDES = $(HOST_GCC_EXCLUDES)
+HOST_GCC_INITIAL_EXCLUDES = $(HOST_GCC_EXCLUDES) libatomic
ifneq ($(ARCH_XTENSA_OVERLAY_FILE),)
HOST_GCC_INITIAL_POST_EXTRACT_HOOKS += HOST_GCC_XTENSA_OVERLAY_EXTRACT
diff --git a/package/gcc/gcc.hash b/package/gcc/gcc.hash
index deb7c40fa3..da6aa6e879 100644
--- a/package/gcc/gcc.hash
+++ b/package/gcc/gcc.hash
@@ -6,6 +6,8 @@ sha512 9b4b83ecf51ef355b868608b8d257b2fa435c06d2719cb86657a7c2c2a0828ff4ce04e9b
sha512 cb4e3259640721bbd275c723fe4df53d12f9b1673afb3db274c22c6aa457865dccf2d6ea20b4fd4c591f6152e6d4b87516c402015900f06ce9d43af66d3b7a93 gcc-14.3.0.tar.xz
# From https://gcc.gnu.org/pub/gcc/releases/gcc-15.2.0/sha512.sum
sha512 89047a2e07bd9da265b507b516ed3635adb17491c7f4f67cf090f0bd5b3fc7f2ee6e4cc4008beef7ca884b6b71dffe2bb652b21f01a702e17b468cca2d10b2de gcc-15.2.0.tar.xz
+# From https://gcc.gnu.org/pub/gcc/releases/gcc-16.1.0/sha512.sum
+sha512 b3454958891ab47e1e5b6cb9396c0ad3b04f32fe2a7bf1153a143f21013fdb6b295ca94c98964698a688e4c1d7555ffd8ffbc20187507cce6b1c32cbcc09897a gcc-16.1.0.tar.xz
# Locally calculated (fetched from Github)
sha512 7f08ae335d9112be65e92c3744c095d8fa265994b8282274948f99fe37409531e627e6dadfb77b138a82fa09d012c56d8c075b482a5a5186814a57f9db63c29e gcc-arc-2024.12-release.tar.gz
--
2.47.3
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 23+ messages in thread
* [Buildroot] [PATCH v4 19/21] package/gcc: switch to GCC 15.x as the default
2026-05-01 15:27 [Buildroot] [PATCH v4 00/21] package/gcc: add version 16.1.0 Bernd Kuhls
` (17 preceding siblings ...)
2026-05-01 15:27 ` [Buildroot] [PATCH v4 18/21] package/gcc: add version 16.1.0 Bernd Kuhls
@ 2026-05-01 15:27 ` Bernd Kuhls
2026-05-01 15:27 ` [Buildroot] [PATCH v4 20/21] support/config-fragments/autobuild/br-arm-internal-glibc: update to bleeding edge components Bernd Kuhls
2026-05-01 15:27 ` [Buildroot] [PATCH v4 21/21] package/gcc: drop support for GCC 13.x Bernd Kuhls
20 siblings, 0 replies; 23+ messages in thread
From: Bernd Kuhls @ 2026-05-01 15:27 UTC (permalink / raw)
To: buildroot
Cc: Zoltan Gyarmati, Tudor Holton, Fabrice Fontaine,
Angelo Compagnucci, Olivier Schonken, Thomas Petazzoni,
Romain Naour, Giulio Benetti
Now that GCC 16.x support has been added, follow our usual strategy of
making GCC 15.x the default GCC version.
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
---
package/gcc/Config.in.host | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/package/gcc/Config.in.host b/package/gcc/Config.in.host
index b9dd37471f..e218b13bd2 100644
--- a/package/gcc/Config.in.host
+++ b/package/gcc/Config.in.host
@@ -5,7 +5,7 @@ choice
default BR2_GCC_VERSION_ARC if BR2_GCC_VERSION_4_8_ARC # legacy
default BR2_GCC_VERSION_ARC if BR2_arc
default BR2_GCC_VERSION_POWERPC_SPE if BR2_POWERPC_CPU_HAS_SPE
- default BR2_GCC_VERSION_14_X
+ default BR2_GCC_VERSION_15_X
help
Select the version of gcc you wish to use.
--
2.47.3
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 23+ messages in thread
* [Buildroot] [PATCH v4 20/21] support/config-fragments/autobuild/br-arm-internal-glibc: update to bleeding edge components
2026-05-01 15:27 [Buildroot] [PATCH v4 00/21] package/gcc: add version 16.1.0 Bernd Kuhls
` (18 preceding siblings ...)
2026-05-01 15:27 ` [Buildroot] [PATCH v4 19/21] package/gcc: switch to GCC 15.x as the default Bernd Kuhls
@ 2026-05-01 15:27 ` Bernd Kuhls
2026-05-01 15:27 ` [Buildroot] [PATCH v4 21/21] package/gcc: drop support for GCC 13.x Bernd Kuhls
20 siblings, 0 replies; 23+ messages in thread
From: Bernd Kuhls @ 2026-05-01 15:27 UTC (permalink / raw)
To: buildroot
Cc: Zoltan Gyarmati, Tudor Holton, Fabrice Fontaine,
Angelo Compagnucci, Olivier Schonken, Thomas Petazzoni,
Romain Naour, Giulio Benetti
As Thomas stated in 3bb260cf3860:
The br-arm-internal-glibc.config is generally used as a configuration
to test the bleeding edge versions of components. However, it has been
lagging behind somewhat, so let's bring it up-to-date:
- Binutils 2.46.x
- GCC 16.x
Let the fun begin in the autobuilders!
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
---
.../config-fragments/autobuild/br-arm-internal-glibc.config | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/support/config-fragments/autobuild/br-arm-internal-glibc.config b/support/config-fragments/autobuild/br-arm-internal-glibc.config
index 4986d40912..ceb311f3f0 100644
--- a/support/config-fragments/autobuild/br-arm-internal-glibc.config
+++ b/support/config-fragments/autobuild/br-arm-internal-glibc.config
@@ -1,6 +1,6 @@
BR2_arm=y
BR2_cortex_a8=y
BR2_TOOLCHAIN_BUILDROOT_GLIBC=y
-BR2_BINUTILS_VERSION_2_42_X=y
-BR2_GCC_VERSION_13_X=y
+BR2_BINUTILS_VERSION_2_46_X=y
+BR2_GCC_VERSION_16_X=y
BR2_TOOLCHAIN_BUILDROOT_CXX=y
--
2.47.3
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 23+ messages in thread
* [Buildroot] [PATCH v4 21/21] package/gcc: drop support for GCC 13.x
2026-05-01 15:27 [Buildroot] [PATCH v4 00/21] package/gcc: add version 16.1.0 Bernd Kuhls
` (19 preceding siblings ...)
2026-05-01 15:27 ` [Buildroot] [PATCH v4 20/21] support/config-fragments/autobuild/br-arm-internal-glibc: update to bleeding edge components Bernd Kuhls
@ 2026-05-01 15:27 ` Bernd Kuhls
20 siblings, 0 replies; 23+ messages in thread
From: Bernd Kuhls @ 2026-05-01 15:27 UTC (permalink / raw)
To: buildroot
Cc: Zoltan Gyarmati, Tudor Holton, Fabrice Fontaine,
Angelo Compagnucci, Olivier Schonken, Thomas Petazzoni,
Romain Naour, Giulio Benetti
Now that we have added support for GCC 16.x, made GCC 15.x the
default, let's drop support for GCC 13.x.
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
---
.checkpackageignore | 1 -
Config.in.legacy | 7 +
...le-split-stack-for-non-thread-builds.patch | 26 ----
...ISC-V-fix-build-issue-with-gcc-4.9.x.patch | 48 ------
...emove-crypt-and-crypt_r-interceptors.patch | 146 ------------------
...bsanitizer-Fix-build-with-glibc-2.42.patch | 81 ----------
package/gcc/Config.in.host | 12 --
package/gcc/gcc.hash | 2 -
8 files changed, 7 insertions(+), 316 deletions(-)
delete mode 100644 package/gcc/13.4.0/0001-disable-split-stack-for-non-thread-builds.patch
delete mode 100644 package/gcc/13.4.0/0002-RISC-V-fix-build-issue-with-gcc-4.9.x.patch
delete mode 100644 package/gcc/13.4.0/0003-Remove-crypt-and-crypt_r-interceptors.patch
delete mode 100644 package/gcc/13.4.0/0004-libsanitizer-Fix-build-with-glibc-2.42.patch
diff --git a/.checkpackageignore b/.checkpackageignore
index f53d4c931d..d7125c74fc 100644
--- a/.checkpackageignore
+++ b/.checkpackageignore
@@ -355,7 +355,6 @@ package/ftop/0001-overflow.patch lib_patch.Upstream
package/fwts/0001-build-do-not-use-Werror.patch lib_patch.Upstream
package/fxdiv/0001-CMake-don-t-enable-CXX-unless-building-tests-benchma.patch lib_patch.Upstream
package/fxload/0001-fix-static-build.patch lib_patch.Upstream
-package/gcc/13.4.0/0001-disable-split-stack-for-non-thread-builds.patch lib_patch.Upstream
package/gcc/14.3.0/0001-disable-split-stack-for-non-thread-builds.patch lib_patch.Upstream
package/gcc/15.2.0/0001-disable-split-stack-for-non-thread-builds.patch lib_patch.Upstream
package/gcc/16.1.0/0001-disable-split-stack-for-non-thread-builds.patch lib_patch.Upstream
diff --git a/Config.in.legacy b/Config.in.legacy
index ead9ceaa08..2704ca288c 100644
--- a/Config.in.legacy
+++ b/Config.in.legacy
@@ -146,6 +146,13 @@ endif
comment "Legacy options removed in 2026.05"
+config BR2_GCC_VERSION_13_X
+ bool "gcc 13.x support removed"
+ select BR2_LEGACY
+ help
+ Support for building a toolchain based on GCC 13.x has been
+ removed, chose a newer GCC version instead.
+
config BR2_KERNEL_HEADERS_6_19
bool "kernel headers version 6.19.x are no longer supported"
select BR2_LEGACY
diff --git a/package/gcc/13.4.0/0001-disable-split-stack-for-non-thread-builds.patch b/package/gcc/13.4.0/0001-disable-split-stack-for-non-thread-builds.patch
deleted file mode 100644
index e801085dad..0000000000
--- a/package/gcc/13.4.0/0001-disable-split-stack-for-non-thread-builds.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From 4f67134e0b1404fef4ea72342be8fab4c37ca8c8 Mon Sep 17 00:00:00 2001
-From: Waldemar Brodkorb <wbx@openadk.org>
-Date: Mon, 25 Jul 2022 00:29:55 +0200
-Subject: [PATCH] disable split-stack for non-thread builds
-
-Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
-[Romain: convert to git format]
-Signed-off-by: Romain Naour <romain.naour@smile.fr>
----
- libgcc/config/t-stack | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/libgcc/config/t-stack b/libgcc/config/t-stack
-index cc0366b4cd8..f3f97e86d60 100644
---- a/libgcc/config/t-stack
-+++ b/libgcc/config/t-stack
-@@ -1,4 +1,6 @@
- # Makefile fragment to provide generic support for -fsplit-stack.
- # This should be used in config.host for any host which supports
- # -fsplit-stack.
-+ifeq ($(enable_threads),yes)
- LIB2ADD_ST += $(srcdir)/generic-morestack.c $(srcdir)/generic-morestack-thread.c
-+endif
---
-2.34.3
-
diff --git a/package/gcc/13.4.0/0002-RISC-V-fix-build-issue-with-gcc-4.9.x.patch b/package/gcc/13.4.0/0002-RISC-V-fix-build-issue-with-gcc-4.9.x.patch
deleted file mode 100644
index 4368f08404..0000000000
--- a/package/gcc/13.4.0/0002-RISC-V-fix-build-issue-with-gcc-4.9.x.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-From e5253b777eefef7d66d3bd1c641de6d133d3573d Mon Sep 17 00:00:00 2001
-From: Romain Naour <romain.naour@gmail.com>
-Date: Tue, 2 May 2023 14:21:55 +0200
-Subject: [PATCH] RISC-V: fix build issue with gcc 4.9.x
-
-GCC should still build with GCC 4.8.3 or newer [1]
-using C++03 by default. But a recent change in
-RISC-V port introduced a C++11 feature "std::log2" [2].
-
-Use log2 from the C header, without the namespace [3].
-
-[1] https://gcc.gnu.org/install/prerequisites.html
-[2] https://gcc.gnu.org/git/?p=gcc.git;a=patch;h=7caa1ae5e451e780fbc4746a54e3f19d4f4304dc
-[3] https://stackoverflow.com/questions/26733413/error-log2-is-not-a-member-of-std
-
-Fixes:
-https://gitlab.com/buildroot.org/toolchains-builder/-/jobs/4202276589
-
-gcc/ChangeLog:
- * config/riscv/genrvv-type-indexer.cc: Use log2 from the C header, without
- the namespace.
-
-Signed-off-by: Romain Naour <romain.naour@gmail.com>
-Upstream: https://gcc.gnu.org/git/gitweb.cgi?p=gcc.git;h=87c347c2897537a6aa391efbfc5ed00c625434fe
-Signed-off-by: Romain Naour <romain.naour@gmail.com>
----
- gcc/config/riscv/genrvv-type-indexer.cc | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/gcc/config/riscv/genrvv-type-indexer.cc b/gcc/config/riscv/genrvv-type-indexer.cc
-index e677b55290c..eebe382d1c3 100644
---- a/gcc/config/riscv/genrvv-type-indexer.cc
-+++ b/gcc/config/riscv/genrvv-type-indexer.cc
-@@ -115,9 +115,9 @@ same_ratio_eew_type (unsigned sew, int lmul_log2, unsigned eew, bool unsigned_p,
- if (sew == eew)
- elmul_log2 = lmul_log2;
- else if (sew > eew)
-- elmul_log2 = lmul_log2 - std::log2 (sew / eew);
-+ elmul_log2 = lmul_log2 - log2 (sew / eew);
- else /* sew < eew */
-- elmul_log2 = lmul_log2 + std::log2 (eew / sew);
-+ elmul_log2 = lmul_log2 + log2 (eew / sew);
-
- if (float_p)
- return floattype (eew, elmul_log2);
---
-2.34.3
-
diff --git a/package/gcc/13.4.0/0003-Remove-crypt-and-crypt_r-interceptors.patch b/package/gcc/13.4.0/0003-Remove-crypt-and-crypt_r-interceptors.patch
deleted file mode 100644
index 98bfed5949..0000000000
--- a/package/gcc/13.4.0/0003-Remove-crypt-and-crypt_r-interceptors.patch
+++ /dev/null
@@ -1,146 +0,0 @@
-From 3521d93c552a11640a959ee61d551c225981c448 Mon Sep 17 00:00:00 2001
-From: Fangrui Song <i@maskray.me>
-Date: Fri, 28 Apr 2023 09:59:17 -0700
-Subject: [PATCH] Remove crypt and crypt_r interceptors
-
-From Florian Weimer's D144073
-
-> On GNU/Linux (glibc), the crypt and crypt_r functions are not part of the main shared object (libc.so.6), but libcrypt (with multiple possible sonames). The sanitizer libraries do not depend on libcrypt, so it can happen that during sanitizer library initialization, no real implementation will be found because the crypt, crypt_r functions are not present in the process image (yet). If its interceptors are called nevertheless, this results in a call through a null pointer when the sanitizer library attempts to forward the call to the real implementation.
->
-> Many distributions have already switched to libxcrypt, a library that is separate from glibc and that can be build with sanitizers directly (avoiding the need for interceptors). This patch disables building the interceptor for glibc targets.
-
-Let's remove crypt and crypt_r interceptors (D68431) to fix issues with
-newer glibc.
-
-For older glibc, msan will not know that an uninstrumented crypt_r call
-initializes `data`, so there is a risk for false positives. However, with some
-codebase survey, I think crypt_r uses are very few and the call sites typically
-have a `memset(&data, 0, sizeof(data));` anyway.
-
-Fix https://github.com/google/sanitizers/issues/1365
-Related: https://bugzilla.redhat.com/show_bug.cgi?id=2169432
-
-Reviewed By: #sanitizers, fweimer, thesamesam, vitalybuka
-
-Differential Revision: https://reviews.llvm.org/D149403
-
-[Thomas: taken from Crosstool-NG]
-Upstream: (llvm) https://github.com/llvm/llvm-project/commit/d7bead833631486e337e541e692d9b4a1ca14edd
-Upstream: (gcc) https://github.com/gcc-mirror/gcc/commit/d96e14ceb9475f9bccbbc0325d5b11419fad9246
-Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
----
- .../sanitizer_common_interceptors.inc | 37 -------------------
- .../sanitizer_platform_interceptors.h | 2 -
- .../sanitizer_platform_limits_posix.cpp | 8 ----
- .../sanitizer_platform_limits_posix.h | 1 -
- 4 files changed, 48 deletions(-)
-
-diff --git a/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc b/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc
-index ba4b80081f0..662c4199742 100644
---- a/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc
-+++ b/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc
-@@ -10187,41 +10187,6 @@ INTERCEPTOR(SSIZE_T, getrandom, void *buf, SIZE_T buflen, unsigned int flags) {
- #define INIT_GETRANDOM
- #endif
-
--#if SANITIZER_INTERCEPT_CRYPT
--INTERCEPTOR(char *, crypt, char *key, char *salt) {
-- void *ctx;
-- COMMON_INTERCEPTOR_ENTER(ctx, crypt, key, salt);
-- COMMON_INTERCEPTOR_READ_RANGE(ctx, key, internal_strlen(key) + 1);
-- COMMON_INTERCEPTOR_READ_RANGE(ctx, salt, internal_strlen(salt) + 1);
-- char *res = REAL(crypt)(key, salt);
-- if (res != nullptr)
-- COMMON_INTERCEPTOR_INITIALIZE_RANGE(res, internal_strlen(res) + 1);
-- return res;
--}
--#define INIT_CRYPT COMMON_INTERCEPT_FUNCTION(crypt);
--#else
--#define INIT_CRYPT
--#endif
--
--#if SANITIZER_INTERCEPT_CRYPT_R
--INTERCEPTOR(char *, crypt_r, char *key, char *salt, void *data) {
-- void *ctx;
-- COMMON_INTERCEPTOR_ENTER(ctx, crypt_r, key, salt, data);
-- COMMON_INTERCEPTOR_READ_RANGE(ctx, key, internal_strlen(key) + 1);
-- COMMON_INTERCEPTOR_READ_RANGE(ctx, salt, internal_strlen(salt) + 1);
-- char *res = REAL(crypt_r)(key, salt, data);
-- if (res != nullptr) {
-- COMMON_INTERCEPTOR_WRITE_RANGE(ctx, data,
-- __sanitizer::struct_crypt_data_sz);
-- COMMON_INTERCEPTOR_INITIALIZE_RANGE(res, internal_strlen(res) + 1);
-- }
-- return res;
--}
--#define INIT_CRYPT_R COMMON_INTERCEPT_FUNCTION(crypt_r);
--#else
--#define INIT_CRYPT_R
--#endif
--
- #if SANITIZER_INTERCEPT_GETENTROPY
- INTERCEPTOR(int, getentropy, void *buf, SIZE_T buflen) {
- void *ctx;
-@@ -10772,8 +10737,6 @@ static void InitializeCommonInterceptors() {
- INIT_GETUSERSHELL;
- INIT_SL_INIT;
- INIT_GETRANDOM;
-- INIT_CRYPT;
-- INIT_CRYPT_R;
- INIT_GETENTROPY;
- INIT_QSORT;
- INIT_QSORT_R;
-diff --git a/libsanitizer/sanitizer_common/sanitizer_platform_interceptors.h b/libsanitizer/sanitizer_common/sanitizer_platform_interceptors.h
-index 8307b1ec28b..d50166ee6ce 100644
---- a/libsanitizer/sanitizer_common/sanitizer_platform_interceptors.h
-+++ b/libsanitizer/sanitizer_common/sanitizer_platform_interceptors.h
-@@ -571,8 +571,6 @@
- #define SANITIZER_INTERCEPT_FDEVNAME SI_FREEBSD
- #define SANITIZER_INTERCEPT_GETUSERSHELL (SI_POSIX && !SI_ANDROID)
- #define SANITIZER_INTERCEPT_SL_INIT (SI_FREEBSD || SI_NETBSD)
--#define SANITIZER_INTERCEPT_CRYPT (SI_POSIX && !SI_ANDROID)
--#define SANITIZER_INTERCEPT_CRYPT_R (SI_LINUX && !SI_ANDROID)
-
- #define SANITIZER_INTERCEPT_GETRANDOM \
- ((SI_LINUX && __GLIBC_PREREQ(2, 25)) || SI_FREEBSD)
-diff --git a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp
-index c85cf1626a7..bcbd143d19d 100644
---- a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp
-+++ b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp
-@@ -176,10 +176,6 @@ typedef struct user_fpregs elf_fpregset_t;
- # include "sanitizer_platform_interceptors.h"
- # include "sanitizer_platform_limits_posix.h"
-
--#if SANITIZER_INTERCEPT_CRYPT_R
--#include <crypt.h>
--#endif
--
- namespace __sanitizer {
- unsigned struct_utsname_sz = sizeof(struct utsname);
- unsigned struct_stat_sz = sizeof(struct stat);
-@@ -283,10 +279,6 @@ namespace __sanitizer {
- unsigned struct_statvfs64_sz = sizeof(struct statvfs64);
- #endif // SANITIZER_LINUX && !SANITIZER_ANDROID
-
--#if SANITIZER_INTERCEPT_CRYPT_R
-- unsigned struct_crypt_data_sz = sizeof(struct crypt_data);
--#endif
--
- #if SANITIZER_LINUX && !SANITIZER_ANDROID
- unsigned struct_timex_sz = sizeof(struct timex);
- unsigned struct_msqid_ds_sz = sizeof(struct msqid_ds);
-diff --git a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h
-index 44dd3d9e22d..29ebb304a9b 100644
---- a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h
-+++ b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h
-@@ -319,7 +319,6 @@ extern unsigned struct_msqid_ds_sz;
- extern unsigned struct_mq_attr_sz;
- extern unsigned struct_timex_sz;
- extern unsigned struct_statvfs_sz;
--extern unsigned struct_crypt_data_sz;
- #endif // SANITIZER_LINUX && !SANITIZER_ANDROID
-
- struct __sanitizer_iovec {
---
-2.43.0
-
diff --git a/package/gcc/13.4.0/0004-libsanitizer-Fix-build-with-glibc-2.42.patch b/package/gcc/13.4.0/0004-libsanitizer-Fix-build-with-glibc-2.42.patch
deleted file mode 100644
index 13f7f469c4..0000000000
--- a/package/gcc/13.4.0/0004-libsanitizer-Fix-build-with-glibc-2.42.patch
+++ /dev/null
@@ -1,81 +0,0 @@
-From d32ece49d32b00448d967e7dbc6900fb25cbc775 Mon Sep 17 00:00:00 2001
-From: Florian Weimer <fweimer@redhat.com>
-Date: Fri, 2 May 2025 17:41:43 +0200
-Subject: [PATCH] libsanitizer: Fix build with glibc 2.42
-
-The termio structure will be removed from glibc 2.42. It has
-been deprecated since the late 80s/early 90s.
-
-Cherry-picked from LLVM commit 59978b21ad9c65276ee8e14f26759691b8a65763
-("[sanitizer_common] Remove interceptors for deprecated struct termio
-(#137403)").
-
-Co-Authored-By: Tom Stellard <tstellar@redhat.com>
-
-libsanitizer/
-
- * sanitizer_common/sanitizer_common_interceptors_ioctl.inc: Cherry
- picked from LLVM commit 59978b21ad9c65276ee8e14f26759691b8a65763.
- * sanitizer_common/sanitizer_platform_limits_posix.cpp: Likewise.
- * sanitizer_common/sanitizer_platform_limits_posix.h: Likewise.
-
-Upstream: 1789c57dc97ea2f9819ef89e28bf17208b6208e7 (gcc master branch)
-Upstream: d32ece49d32b00448d967e7dbc6900fb25cbc775 (gcc 15.x branch)
-Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
----
- .../sanitizer_common_interceptors_ioctl.inc | 8 --------
- .../sanitizer_common/sanitizer_platform_limits_posix.cpp | 3 ---
- .../sanitizer_common/sanitizer_platform_limits_posix.h | 1 -
- 3 files changed, 12 deletions(-)
-
-diff --git a/libsanitizer/sanitizer_common/sanitizer_common_interceptors_ioctl.inc b/libsanitizer/sanitizer_common/sanitizer_common_interceptors_ioctl.inc
-index 49ec4097c90..dda11daa77f 100644
---- a/libsanitizer/sanitizer_common/sanitizer_common_interceptors_ioctl.inc
-+++ b/libsanitizer/sanitizer_common/sanitizer_common_interceptors_ioctl.inc
-@@ -338,17 +338,9 @@ static void ioctl_table_fill() {
- _(SOUND_PCM_WRITE_CHANNELS, WRITE, sizeof(int));
- _(SOUND_PCM_WRITE_FILTER, WRITE, sizeof(int));
- _(TCFLSH, NONE, 0);
--#if SANITIZER_GLIBC
-- _(TCGETA, WRITE, struct_termio_sz);
--#endif
- _(TCGETS, WRITE, struct_termios_sz);
- _(TCSBRK, NONE, 0);
- _(TCSBRKP, NONE, 0);
--#if SANITIZER_GLIBC
-- _(TCSETA, READ, struct_termio_sz);
-- _(TCSETAF, READ, struct_termio_sz);
-- _(TCSETAW, READ, struct_termio_sz);
--#endif
- _(TCSETS, READ, struct_termios_sz);
- _(TCSETSF, READ, struct_termios_sz);
- _(TCSETSW, READ, struct_termios_sz);
-diff --git a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp
-index c87d5ef42c9..7bbc6f2edac 100644
---- a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp
-+++ b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp
-@@ -485,9 +485,6 @@ unsigned struct_ElfW_Phdr_sz = sizeof(Elf_Phdr);
- unsigned struct_input_id_sz = sizeof(struct input_id);
- unsigned struct_mtpos_sz = sizeof(struct mtpos);
- unsigned struct_rtentry_sz = sizeof(struct rtentry);
--#if SANITIZER_GLIBC || SANITIZER_ANDROID
-- unsigned struct_termio_sz = sizeof(struct termio);
--#endif
- unsigned struct_vt_consize_sz = sizeof(struct vt_consize);
- unsigned struct_vt_sizes_sz = sizeof(struct vt_sizes);
- unsigned struct_vt_stat_sz = sizeof(struct vt_stat);
-diff --git a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h
-index c07f7cd0b0d..a80df656826 100644
---- a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h
-+++ b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h
-@@ -1029,7 +1029,6 @@ extern unsigned struct_hd_geometry_sz;
- extern unsigned struct_input_absinfo_sz;
- extern unsigned struct_input_id_sz;
- extern unsigned struct_mtpos_sz;
--extern unsigned struct_termio_sz;
- extern unsigned struct_vt_consize_sz;
- extern unsigned struct_vt_sizes_sz;
- extern unsigned struct_vt_stat_sz;
---
-2.50.1
-
diff --git a/package/gcc/Config.in.host b/package/gcc/Config.in.host
index e218b13bd2..1c4358f448 100644
--- a/package/gcc/Config.in.host
+++ b/package/gcc/Config.in.host
@@ -22,14 +22,6 @@ config BR2_GCC_VERSION_POWERPC_SPE
depends on BR2_POWERPC_CPU_HAS_SPE
select BR2_TOOLCHAIN_GCC_AT_LEAST_8
-config BR2_GCC_VERSION_13_X
- bool "gcc 13.x"
- depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_14
- # powerpc spe support has been deprecated since gcc 8.x.
- # https://gcc.gnu.org/ml/gcc/2018-04/msg00102.html
- depends on !BR2_POWERPC_CPU_HAS_SPE
- select BR2_TOOLCHAIN_GCC_AT_LEAST_13
-
config BR2_GCC_VERSION_14_X
bool "gcc 14.x"
depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_15
@@ -76,7 +68,6 @@ config BR2_GCC_SUPPORTS_DLANG
config BR2_GCC_VERSION
string
default "8.4.0" if BR2_GCC_VERSION_POWERPC_SPE
- default "13.4.0" if BR2_GCC_VERSION_13_X
default "14.3.0" if BR2_GCC_VERSION_14_X
default "15.2.0" if BR2_GCC_VERSION_15_X
default "16.1.0" if BR2_GCC_VERSION_16_X
@@ -107,9 +98,6 @@ config BR2_TOOLCHAIN_BUILDROOT_FORTRAN
# on architecture building libquadmath, wchar is required
depends on !BR2_TOOLCHAIN_HAS_LIBQUADMATH || \
(BR2_TOOLCHAIN_HAS_LIBQUADMATH && BR2_USE_WCHAR)
- # internal compiler error: in gen_reg_rtx, at emit-rtl.cc:1167
- # fixed in gcc 14.x, so disable gcc 13.x
- depends on !(BR2_microblaze && BR2_GCC_VERSION_13_X)
select BR2_TOOLCHAIN_HAS_FORTRAN
help
Enable this option if you want your toolchain to support the
diff --git a/package/gcc/gcc.hash b/package/gcc/gcc.hash
index da6aa6e879..0b17a809c8 100644
--- a/package/gcc/gcc.hash
+++ b/package/gcc/gcc.hash
@@ -1,7 +1,5 @@
# From https://gcc.gnu.org/pub/gcc/releases/gcc-8.4.0/sha512.sum
sha512 6de904f552a02de33b11ef52312bb664396efd7e1ce3bbe37bfad5ef617f133095b3767b4804bc7fe78df335cb53bc83f1ac055baed40979ce4c2c3e46b70280 gcc-8.4.0.tar.xz
-# From https://gcc.gnu.org/pub/gcc/releases/gcc-13.4.0/sha512.sum
-sha512 9b4b83ecf51ef355b868608b8d257b2fa435c06d2719cb86657a7c2c2a0828ff4ce04e9bac1055bbcad8ed5b4da524cafaef654785e23a50233d95d89201e35f gcc-13.4.0.tar.xz
# From https://gcc.gnu.org/pub/gcc/releases/gcc-14.3.0/sha512.sum
sha512 cb4e3259640721bbd275c723fe4df53d12f9b1673afb3db274c22c6aa457865dccf2d6ea20b4fd4c591f6152e6d4b87516c402015900f06ce9d43af66d3b7a93 gcc-14.3.0.tar.xz
# From https://gcc.gnu.org/pub/gcc/releases/gcc-15.2.0/sha512.sum
--
2.47.3
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 23+ messages in thread
* Re: [Buildroot] [PATCH v4 07/21] package/cups-filters: add upstream patch to fix CVE-2025-64524
2026-05-01 15:27 ` [Buildroot] [PATCH v4 07/21] package/cups-filters: add upstream patch to fix CVE-2025-64524 Bernd Kuhls
@ 2026-05-04 14:55 ` Thomas Perale via buildroot
0 siblings, 0 replies; 23+ messages in thread
From: Thomas Perale via buildroot @ 2026-05-04 14:55 UTC (permalink / raw)
To: Bernd Kuhls
Cc: Thomas Perale, buildroot, Zoltan Gyarmati, Tudor Holton,
Fabrice Fontaine, Angelo Compagnucci, Olivier Schonken,
Thomas Petazzoni, Romain Naour, Giulio Benetti
Hi,
In reply of:
> Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
> ---
> ...ix-infinite-loop-caused-by-crafted-f.patch | 83 +++++++++++++++++++
> package/cups-filters/cups-filters.mk | 3 +
> 2 files changed, 86 insertions(+)
> create mode 100644 package/cups-filters/0002-rastertopclx.c-Fix-infinite-loop-caused-by-crafted-f.patch
>
> diff --git a/package/cups-filters/0002-rastertopclx.c-Fix-infinite-loop-caused-by-crafted-f.patch b/package/cups-filters/0002-rastertopclx.c-Fix-infinite-loop-caused-by-crafted-f.patch
> new file mode 100644
> index 0000000000..e9900e5672
> --- /dev/null
> +++ b/package/cups-filters/0002-rastertopclx.c-Fix-infinite-loop-caused-by-crafted-f.patch
> @@ -0,0 +1,83 @@
> +From b03866fd2e251a6d822a5e8c807c8d47b4d2dce2 Mon Sep 17 00:00:00 2001
> +From: Zdenek Dohnal <zdohnal@redhat.com>
> +Date: Wed, 12 Nov 2025 16:02:20 +0100
> +Subject: [PATCH] rastertopclx.c: Fix infinite loop caused by crafted file
> +
> +Infinite loop happened because of crafted input raster file, which led
> +into heap buffer overflow of `CompressBuf` array.
> +
> +Based on comments there should be always some `count` when compressing
> +the data, and processing of crafted file ended with offset and count
> +being 0.
> +
> +Fixes CVE-2025-64524
This line needs to be changed to the following as documented in [1]
```
CVE: CVE-2025-64524
```
To be correctly picked up as a patch. This is not checked yet by `check-package` unfortunately
[1] https://buildroot.org/downloads/manual/manual.html#additional-patch-documentation
> +
> +Upstream: https://github.com/OpenPrinting/cups-filters/commit/b03866fd2e251a6d822a5e8c807c8d47b4d2dce2
> +
> +Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
Best regards,
PERALE Thomas
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 23+ messages in thread
end of thread, other threads:[~2026-05-04 14:55 UTC | newest]
Thread overview: 23+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-05-01 15:27 [Buildroot] [PATCH v4 00/21] package/gcc: add version 16.1.0 Bernd Kuhls
2026-05-01 15:27 ` [Buildroot] [PATCH v4 01/21] package/autoconf: bump version to 2.73 Bernd Kuhls
2026-05-01 15:27 ` [Buildroot] [PATCH v4 02/21] package/autoconf-archive: bump version to 2024.10.16 Bernd Kuhls
2026-05-01 15:27 ` [Buildroot] [PATCH v4 03/21] package/redis-plus-plus: disable -Werror Bernd Kuhls
2026-05-01 15:27 ` [Buildroot] [PATCH v4 04/21] package/dump1090: " Bernd Kuhls
2026-05-01 15:27 ` [Buildroot] [PATCH v4 05/21] package/qt5/qt5webkit: Fix build with gcc 16.x Bernd Kuhls
2026-05-01 15:27 ` [Buildroot] [PATCH v4 06/21] package/grantlee: " Bernd Kuhls
2026-05-01 15:27 ` [Buildroot] [PATCH v4 07/21] package/cups-filters: add upstream patch to fix CVE-2025-64524 Bernd Kuhls
2026-05-04 14:55 ` Thomas Perale via buildroot
2026-05-01 15:27 ` [Buildroot] [PATCH v4 08/21] package/qpdf: bump to version 12.3.2 Bernd Kuhls
2026-05-01 15:27 ` [Buildroot] [PATCH v4 09/21] package/cups-filters: fix build against qpdf 12 Bernd Kuhls
2026-05-01 15:27 ` [Buildroot] [PATCH v4 10/21] package/cups-filters: needs autoreconf to fix build with gcc 16.x Bernd Kuhls
2026-05-01 15:27 ` [Buildroot] [PATCH v4 11/21] package/openjdk{-bin}: bump versions to latest 17.x and 21.x series Bernd Kuhls
2026-05-01 15:27 ` [Buildroot] [PATCH v4 12/21] package/openjdk{-bin}: add OpenJDK25 and configure it as latest Bernd Kuhls
2026-05-01 15:27 ` [Buildroot] [PATCH v4 13/21] package/snappy: enable rtti Bernd Kuhls
2026-05-01 15:27 ` [Buildroot] [PATCH v4 14/21] package/rocksdb: bump version to 11.0.4 Bernd Kuhls
2026-05-01 15:27 ` [Buildroot] [PATCH v4 15/21] toolchain/Config.in: add BR2_TOOLCHAIN_GCC_AT_LEAST_16 blind option Bernd Kuhls
2026-05-01 15:27 ` [Buildroot] [PATCH v4 16/21] arch/Config.in: introduce BR2_ARCH_NEEDS_GCC_AT_LEAST_17 Bernd Kuhls
2026-05-01 15:27 ` [Buildroot] [PATCH v4 17/21] toolchain/toolchain-external/toolchain-external-custom: add gcc 16 version selection Bernd Kuhls
2026-05-01 15:27 ` [Buildroot] [PATCH v4 18/21] package/gcc: add version 16.1.0 Bernd Kuhls
2026-05-01 15:27 ` [Buildroot] [PATCH v4 19/21] package/gcc: switch to GCC 15.x as the default Bernd Kuhls
2026-05-01 15:27 ` [Buildroot] [PATCH v4 20/21] support/config-fragments/autobuild/br-arm-internal-glibc: update to bleeding edge components Bernd Kuhls
2026-05-01 15:27 ` [Buildroot] [PATCH v4 21/21] package/gcc: drop support for GCC 13.x Bernd Kuhls
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox