diff --git a/.checkpackageignore b/.checkpackageignore index 0735b0c5dad6..6f8d37feefca 100644 --- a/.checkpackageignore +++ b/.checkpackageignore @@ -594,9 +594,7 @@ package/libedit/0001-check-bsd-functions-in-libbsd.patch Upstream package/libevent/0001-Don-t-define-BIO_get_init-for-LibreSSL-3-5.patch Upstream package/libfcgi/0001-link-against-math.patch Upstream package/libfcgi/0002-disable-examples.patch Sob Upstream -package/libffi/0001-Fix-installation-location-of-libffi.patch Upstream -package/libffi/0002-Fix-use-of-compact-eh-frames-on-MIPS.patch Upstream -package/libffi/0003-libffi-enable-hardfloat-in-the-MIPS-assembly-code.patch Upstream +package/libffi/0001-Fix-use-of-compact-eh-frames-on-MIPS.patch Upstream package/libfm/0001-modules-fix-cross-compilation.patch Upstream package/libfreeimage/0001-no-root-install.patch Upstream package/libfreeimage/0002-fix-cpuid-x86.patch Upstream @@ -1464,4 +1462,3 @@ support/scripts/setlocalversion Shellcheck support/testing/tests/core/post-build.sh Shellcheck support/testing/tests/package/test_opkg/post-build.sh Shellcheck support/testing/tests/utils/test_get_developers/0001-package-binutils-change-.mk.patch NumberedSubject Upstream -utils/checkpackagelib/lib_patch.py Flake8 diff --git a/Makefile b/Makefile index 91973cca6062..d1caec63b526 100644 --- a/Makefile +++ b/Makefile @@ -584,7 +584,10 @@ $(BUILD_DIR)/buildroot-config/auto.conf: $(BR2_CONFIG) prepare: $(BUILD_DIR)/buildroot-config/auto.conf @$(foreach s, $(call qstrip,$(BR2_ROOTFS_PRE_BUILD_SCRIPT)), \ $(call MESSAGE,"Executing pre-build script $(s)"); \ - $(EXTRA_ENV) $(s) $(TARGET_DIR) $(call qstrip,$(BR2_ROOTFS_POST_SCRIPT_ARGS))$(sep)) + $(EXTRA_ENV) $(s) \ + $(TARGET_DIR) \ + $(call qstrip,$(BR2_ROOTFS_POST_SCRIPT_ARGS)) \ + $(call qstrip,$(BR2_ROOTFS_PRE_BUILD_SCRIPT_ARGS))$(sep)) .PHONY: world world: target-post-image @@ -801,7 +804,10 @@ endif # merged /usr $(foreach s, $(call qstrip,$(BR2_ROOTFS_POST_BUILD_SCRIPT)), \ @$(call MESSAGE,"Executing post-build script $(s)")$(sep) \ - $(Q)$(EXTRA_ENV) $(s) $(TARGET_DIR) $(call qstrip,$(BR2_ROOTFS_POST_SCRIPT_ARGS))$(sep)) + $(Q)$(EXTRA_ENV) $(s) \ + $(TARGET_DIR) \ + $(call qstrip,$(BR2_ROOTFS_POST_SCRIPT_ARGS)) \ + $(call qstrip,$(BR2_ROOTFS_POST_BUILD_SCRIPT_ARGS))$(sep)) touch $(TARGET_DIR)/usr @@ -819,7 +825,10 @@ target-post-image: $(TARGETS_ROOTFS) target-finalize staging-finalize $(Q)mkdir -p $(BINARIES_DIR) @$(foreach s, $(call qstrip,$(BR2_ROOTFS_POST_IMAGE_SCRIPT)), \ $(call MESSAGE,"Executing post-image script $(s)"); \ - $(EXTRA_ENV) $(s) $(BINARIES_DIR) $(call qstrip,$(BR2_ROOTFS_POST_SCRIPT_ARGS))$(sep)) + $(EXTRA_ENV) $(s) \ + $(BINARIES_DIR) \ + $(call qstrip,$(BR2_ROOTFS_POST_SCRIPT_ARGS)) \ + $(call qstrip,$(BR2_ROOTFS_POST_IMAGE_SCRIPT_ARGS))$(sep)) .PHONY: source source: $(foreach p,$(PACKAGES),$(p)-all-source) diff --git a/docs/manual/customize-post-image.adoc b/docs/manual/customize-post-image.adoc index 5308093d06d1..1f11cf915f4e 100644 --- a/docs/manual/customize-post-image.adoc +++ b/docs/manual/customize-post-image.adoc @@ -26,6 +26,11 @@ arguments will be passed to the script too. All the scripts will be passed the exact same set of arguments, it is not possible to pass different sets of arguments to each script. +Note that the arguments from +BR2_ROOTFS_POST_SCRIPT_ARGS+ will also be +passed to post-build and post-fakeroot scripts. If you want to use +arguments that are only used for the post-image scripts you can use ++BR2_ROOTFS_POST_IMAGE_SCRIPT_ARGS+. + Again just like for the post-build scripts, the scripts have access to the environment variables +BR2_CONFIG+, +HOST_DIR+, +STAGING_DIR+, +TARGET_DIR+, +BUILD_DIR+, +BINARIES_DIR+, +CONFIG_DIR+ and diff --git a/docs/manual/customize-rootfs.adoc b/docs/manual/customize-rootfs.adoc index d5d8b9288fea..1384c1d2d33b 100644 --- a/docs/manual/customize-rootfs.adoc +++ b/docs/manual/customize-rootfs.adoc @@ -56,6 +56,12 @@ The post-build scripts are run with the main Buildroot tree as current passed to the script too. All the scripts will be passed the exact same set of arguments, it is not possible to pass different sets of arguments to each script. + + Note that the arguments from +BR2_ROOTFS_POST_SCRIPT_ARGS+ will also be + passed to post-image and post-fakeroot scripts. If you want to use + arguments that are only used for the post-build scripts you can use + +BR2_ROOTFS_POST_BUILD_SCRIPT_ARGS+. + + In addition, you may also use these environment variables: diff --git a/fs/common.mk b/fs/common.mk index 37eafac4f7a7..2f3f8bcc7e30 100644 --- a/fs/common.mk +++ b/fs/common.mk @@ -182,7 +182,7 @@ $$(BINARIES_DIR)/$$(ROOTFS_$(2)_FINAL_IMAGE_NAME): $$(ROOTFS_$(2)_DEPENDENCIES) $$(call PRINTF,$$($$(hook))) >> $$(FAKEROOT_SCRIPT)$$(sep)) $$(foreach s,$$(call qstrip,$$(BR2_ROOTFS_POST_FAKEROOT_SCRIPT)),\ echo "echo '$$(TERM_BOLD)>>> Executing fakeroot script $$(s)$$(TERM_RESET)'" >> $$(FAKEROOT_SCRIPT); \ - echo $$(EXTRA_ENV) $$(s) $$(TARGET_DIR) $$(BR2_ROOTFS_POST_SCRIPT_ARGS) >> $$(FAKEROOT_SCRIPT)$$(sep)) + echo $$(EXTRA_ENV) $$(s) $$(TARGET_DIR) $$(BR2_ROOTFS_POST_SCRIPT_ARGS) $$(BR2_ROOTFS_POST_FAKEROOT_SCRIPT_ARGS) >> $$(FAKEROOT_SCRIPT)$$(sep)) $$(foreach hook,$$(ROOTFS_$(2)_PRE_GEN_HOOKS),\ $$(call PRINTF,$$($$(hook))) >> $$(FAKEROOT_SCRIPT)$$(sep)) diff --git a/package/containerd/containerd.hash b/package/containerd/containerd.hash index 25dc7ff55d23..193003e5a34c 100644 --- a/package/containerd/containerd.hash +++ b/package/containerd/containerd.hash @@ -1,3 +1,3 @@ # Computed locally -sha256 ae2b914bff0ddbb9b29d5fc689a51e1ce89ea4edfc4df9ae10517c6f5d2d5aaf containerd-1.7.13.tar.gz +sha256 ae55b25fb04b45dfbbde8280b034783a48ae7c40350d17fd272be5cbf0284cf1 containerd-1.7.14.tar.gz sha256 4bbe3b885e8cd1907ab4cf9a41e862e74e24b5422297a4f2fe524e6a30ada2b4 LICENSE diff --git a/package/containerd/containerd.mk b/package/containerd/containerd.mk index 9bf51c93ae4e..81875f763c00 100644 --- a/package/containerd/containerd.mk +++ b/package/containerd/containerd.mk @@ -4,7 +4,7 @@ # ################################################################################ -CONTAINERD_VERSION = 1.7.13 +CONTAINERD_VERSION = 1.7.14 CONTAINERD_SITE = $(call github,containerd,containerd,v$(CONTAINERD_VERSION)) CONTAINERD_LICENSE = Apache-2.0 CONTAINERD_LICENSE_FILES = LICENSE diff --git a/package/davfs2/0002-configure.ac-add-neon-version-0.33.patch b/package/davfs2/0002-configure.ac-add-neon-version-0.33.patch new file mode 100644 index 000000000000..93eff48cd565 --- /dev/null +++ b/package/davfs2/0002-configure.ac-add-neon-version-0.33.patch @@ -0,0 +1,27 @@ +From 1c539d158ae73e867d0d30b8c3d27f48d742ed06 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sat, 30 Mar 2024 09:18:15 +0100 +Subject: [PATCH] configure.ac: add neon version 0.33 + +Signed-off-by: Fabrice Fontaine +Upstream: https://savannah.nongnu.org/bugs/?65247 +--- + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index 4f86cde..ede9b1e 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -36,7 +36,7 @@ AC_PROG_LN_S + # Checks for libraries. + AM_GNU_GETTEXT_VERSION(0.19.8) + AM_GNU_GETTEXT([external]) +-NE_REQUIRE_VERSIONS([0], [27 28 29 30 31 32]) ++NE_REQUIRE_VERSIONS([0], [27 28 29 30 31 32 33]) + DAV_CHECK_NEON + + # Checks for header files. +-- +2.43.0 + diff --git a/package/davfs2/davfs2.mk b/package/davfs2/davfs2.mk index a67c5062506f..9f9e4a707360 100644 --- a/package/davfs2/davfs2.mk +++ b/package/davfs2/davfs2.mk @@ -9,6 +9,8 @@ DAVFS2_SITE = http://download.savannah.nongnu.org/releases/davfs2 DAVFS2_LICENSE = GPL-3.0+ DAVFS2_LICENSE_FILES = COPYING DAVFS2_CPE_ID_VENDOR = werner_baumann +# 0002-configure.ac-add-neon-version-0.33.patch +DAVFS2_AUTORECONF = YES DAVFS2_DEPENDENCIES = \ neon \ diff --git a/package/delve/delve.hash b/package/delve/delve.hash index 105249f7f9e5..3b0798e77c76 100644 --- a/package/delve/delve.hash +++ b/package/delve/delve.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 58ad7a7fb42ae2ddd33e7d52dad688b249ca8a358eb73b9e48f91eda79e862a8 delve-1.20.2.tar.gz +sha256 fe6f0d97c233d4f0f1ed422c11508cc57c14e9e0915f9a258f1912c46824cbfb delve-1.22.1.tar.gz sha256 778864b990007e8cef6633f8c372dd05bac1fada6cf67b008afb1483f83b38f5 LICENSE diff --git a/package/delve/delve.mk b/package/delve/delve.mk index f261d240b229..408286e3b476 100644 --- a/package/delve/delve.mk +++ b/package/delve/delve.mk @@ -4,7 +4,7 @@ # ################################################################################ -DELVE_VERSION = 1.20.2 +DELVE_VERSION = 1.22.1 DELVE_SITE = $(call github,go-delve,delve,v$(DELVE_VERSION)) DELVE_LICENSE = MIT DELVE_LICENSE_FILES = LICENSE diff --git a/package/docker-cli/docker-cli.hash b/package/docker-cli/docker-cli.hash index 9c8d08bba512..26558814c15a 100644 --- a/package/docker-cli/docker-cli.hash +++ b/package/docker-cli/docker-cli.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 72a54d131c28938221c81bd08364459fed9c71c093d4d615d324aaf31de6db1d docker-cli-24.0.7.tar.gz +sha256 96ed5d7c33a12f505d13fa03fa48f94cb41cf871178df0df84aa0b76839ad321 docker-cli-26.0.0.tar.gz sha256 2d81ea060825006fc8f3fe28aa5dc0ffeb80faf325b612c955229157b8c10dc0 LICENSE diff --git a/package/docker-cli/docker-cli.mk b/package/docker-cli/docker-cli.mk index 95fce27ffb09..5f9242329a5a 100644 --- a/package/docker-cli/docker-cli.mk +++ b/package/docker-cli/docker-cli.mk @@ -4,7 +4,7 @@ # ################################################################################ -DOCKER_CLI_VERSION = 24.0.7 +DOCKER_CLI_VERSION = 26.0.0 DOCKER_CLI_SITE = $(call github,docker,cli,v$(DOCKER_CLI_VERSION)) DOCKER_CLI_LICENSE = Apache-2.0 diff --git a/package/docker-engine/docker-engine.hash b/package/docker-engine/docker-engine.hash index 931d6529e107..5c76b99af330 100644 --- a/package/docker-engine/docker-engine.hash +++ b/package/docker-engine/docker-engine.hash @@ -1,3 +1,3 @@ # Locally calculated -sha256 16a2cb4cf4d314a070085e0df06e3a6bd9ec678d28715b64060af694fc9051d5 docker-engine-24.0.7.tar.gz +sha256 fae1aabb63ed5cf6d302a5f4266ed092716b1cea9a974a9d61154ef31b03c302 docker-engine-26.0.0.tar.gz sha256 7c87873291f289713ac5df48b1f2010eb6963752bbd6b530416ab99fc37914a8 LICENSE diff --git a/package/docker-engine/docker-engine.mk b/package/docker-engine/docker-engine.mk index 05bf23ad3de3..86106d3ccb56 100644 --- a/package/docker-engine/docker-engine.mk +++ b/package/docker-engine/docker-engine.mk @@ -4,7 +4,7 @@ # ################################################################################ -DOCKER_ENGINE_VERSION = 24.0.7 +DOCKER_ENGINE_VERSION = 26.0.0 DOCKER_ENGINE_SITE = $(call github,moby,moby,v$(DOCKER_ENGINE_VERSION)) DOCKER_ENGINE_LICENSE = Apache-2.0 diff --git a/package/fuse-overlayfs/fuse-overlayfs.hash b/package/fuse-overlayfs/fuse-overlayfs.hash index b8df6c88a590..f1a326c82e05 100644 --- a/package/fuse-overlayfs/fuse-overlayfs.hash +++ b/package/fuse-overlayfs/fuse-overlayfs.hash @@ -1,4 +1,4 @@ # Locally computed -sha256 320a411425414679736dcb7f3b05146430ca4af20ded0096c69ac3c7540ebca2 fuse-overlayfs-1.11.tar.gz +sha256 96d10344921d5796bcba7a38580ae14a53c4e60399bb90b238ac5a10b3bb65b2 fuse-overlayfs-1.13.tar.gz # Locally computed -sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/fuse-overlayfs/fuse-overlayfs.mk b/package/fuse-overlayfs/fuse-overlayfs.mk index 4db2ccd7d549..2aa208d554d8 100644 --- a/package/fuse-overlayfs/fuse-overlayfs.mk +++ b/package/fuse-overlayfs/fuse-overlayfs.mk @@ -4,9 +4,9 @@ # ################################################################################ -FUSE_OVERLAYFS_VERSION = 1.11 +FUSE_OVERLAYFS_VERSION = 1.13 FUSE_OVERLAYFS_SITE = $(call github,containers,fuse-overlayfs,v$(FUSE_OVERLAYFS_VERSION)) -FUSE_OVERLAYFS_LICENSE = GPL-3.0 +FUSE_OVERLAYFS_LICENSE = GPL-2.0+ FUSE_OVERLAYFS_LICENSE_FILES = COPYING FUSE_OVERLAYFS_AUTORECONF = YES diff --git a/package/gcc/11.4.0/0008-Remove-crypt-and-crypt_r-interceptors.patch b/package/gcc/11.4.0/0008-Remove-crypt-and-crypt_r-interceptors.patch new file mode 100644 index 000000000000..36db9681cd89 --- /dev/null +++ b/package/gcc/11.4.0/0008-Remove-crypt-and-crypt_r-interceptors.patch @@ -0,0 +1,140 @@ +From 0ef972d11dda9051941656e5797889b8fbf2dca6 Mon Sep 17 00:00:00 2001 +From: Fangrui Song +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 +--- + .../sanitizer_common_interceptors.inc | 37 ------------------- + .../sanitizer_platform_interceptors.h | 2 - + .../sanitizer_platform_limits_posix.cpp | 2 - + .../sanitizer_platform_limits_posix.h | 1 - + 4 files changed, 42 deletions(-) + +diff --git a/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc b/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc +index ff2acfc7c010..6d802bc7159f 100644 +--- a/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc ++++ b/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc +@@ -9814,41 +9814,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; +@@ -10337,8 +10302,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 18bab346ce6e..cf329b76836e 100644 +--- a/libsanitizer/sanitizer_common/sanitizer_platform_interceptors.h ++++ b/libsanitizer/sanitizer_common/sanitizer_platform_interceptors.h +@@ -572,8 +572,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 5743516c0460..980776fc7d78 100644 +--- a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp ++++ b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp +@@ -142,7 +142,6 @@ typedef struct user_fpregs elf_fpregset_t; + #include + #include + #include +-#include + #endif // SANITIZER_LINUX && !SANITIZER_ANDROID + + #if SANITIZER_ANDROID +@@ -244,7 +243,6 @@ namespace __sanitizer { + unsigned struct_ustat_sz = SIZEOF_STRUCT_USTAT; + unsigned struct_rlimit64_sz = sizeof(struct rlimit64); + unsigned struct_statvfs64_sz = sizeof(struct statvfs64); +- unsigned struct_crypt_data_sz = sizeof(struct crypt_data); + #endif // SANITIZER_LINUX && !SANITIZER_ANDROID + + #if SANITIZER_LINUX && !SANITIZER_ANDROID +diff --git a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h +index 83861105a509..7ad11b943157 100644 +--- a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h ++++ b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h +@@ -295,7 +295,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/12.3.0/0004-Remove-crypt-and-crypt_r-interceptors.patch b/package/gcc/12.3.0/0004-Remove-crypt-and-crypt_r-interceptors.patch new file mode 100644 index 000000000000..de3c27c8c7d8 --- /dev/null +++ b/package/gcc/12.3.0/0004-Remove-crypt-and-crypt_r-interceptors.patch @@ -0,0 +1,140 @@ +From bf61483b6a5e32cb397f97a1cd4af2a41d46ade3 Mon Sep 17 00:00:00 2001 +From: Fangrui Song +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 +--- + .../sanitizer_common_interceptors.inc | 37 ------------------- + .../sanitizer_platform_interceptors.h | 2 - + .../sanitizer_platform_limits_posix.cpp | 2 - + .../sanitizer_platform_limits_posix.h | 1 - + 4 files changed, 42 deletions(-) + +diff --git a/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc b/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc +index abb38ccfa15d..61250226aa56 100644 +--- a/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc ++++ b/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc +@@ -9977,41 +9977,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; +@@ -10521,8 +10486,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 14610f2df78d..787db66ae2b7 100644 +--- a/libsanitizer/sanitizer_common/sanitizer_platform_interceptors.h ++++ b/libsanitizer/sanitizer_common/sanitizer_platform_interceptors.h +@@ -568,8 +568,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 c335f33dda58..bfdccd5df078 100644 +--- a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp ++++ b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cpp +@@ -154,7 +154,6 @@ typedef struct user_fpregs elf_fpregset_t; + #include + #include + #include +-#include + #endif // SANITIZER_ANDROID + + #include +@@ -254,7 +253,6 @@ namespace __sanitizer { + unsigned struct_ustat_sz = SIZEOF_STRUCT_USTAT; + unsigned struct_rlimit64_sz = sizeof(struct rlimit64); + unsigned struct_statvfs64_sz = sizeof(struct statvfs64); +- unsigned struct_crypt_data_sz = sizeof(struct crypt_data); + #endif // SANITIZER_LINUX && !SANITIZER_ANDROID + + #if SANITIZER_LINUX && !SANITIZER_ANDROID +diff --git a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h +index da53b5abef27..2605bb849a78 100644 +--- a/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h ++++ b/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h +@@ -298,7 +298,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.2.0/0003-Remove-crypt-and-crypt_r-interceptors.patch b/package/gcc/13.2.0/0003-Remove-crypt-and-crypt_r-interceptors.patch new file mode 100644 index 000000000000..98bfed59491f --- /dev/null +++ b/package/gcc/13.2.0/0003-Remove-crypt-and-crypt_r-interceptors.patch @@ -0,0 +1,146 @@ +From 3521d93c552a11640a959ee61d551c225981c448 Mon Sep 17 00:00:00 2001 +From: Fangrui Song +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 +--- + .../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 +-#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/giflib/giflib.mk b/package/giflib/giflib.mk index 770338507bcd..f37ec8af2140 100644 --- a/package/giflib/giflib.mk +++ b/package/giflib/giflib.mk @@ -27,7 +27,7 @@ define GIFLIB_BUILD_CMDS endef define HOST_GIFLIB_BUILD_CMDS - $(HOST_CONFIGURE_OPTS) $(MAKE) -C $(@D) + $(HOST_CONFIGURE_OPTS) $(MAKE) -C $(@D) shared-lib endef define GIFLIB_INSTALL_STAGING_CMDS @@ -42,7 +42,7 @@ endef define HOST_GIFLIB_INSTALL_CMDS $(HOST_CONFIGURE_OPTS) $(MAKE) -C $(@D) DESTDIR=$(HOST_DIR) \ - PREFIX=/usr install + PREFIX=/usr install-include install-shared-lib endef $(eval $(generic-package)) diff --git a/package/glibc/0001-m68k-Fix-build-with-mcpu-68040-or-higher-BZ-30740.patch b/package/glibc/0001-m68k-Fix-build-with-mcpu-68040-or-higher-BZ-30740.patch deleted file mode 100644 index 61f48e5893a5..000000000000 --- a/package/glibc/0001-m68k-Fix-build-with-mcpu-68040-or-higher-BZ-30740.patch +++ /dev/null @@ -1,57 +0,0 @@ -From b85880633f69b737050c22eede858f8c13bb2248 Mon Sep 17 00:00:00 2001 -From: Adhemerval Zanella -Date: Fri, 18 Aug 2023 14:59:51 -0300 -Subject: [PATCH] m68k: Fix build with -mcpu=68040 or higher (BZ 30740) - -GCC currently does not define __mc68020__ for -mcpu=68040 or higher, -which memcpy/memmove assumptions. Since this memory copy optimization -seems only intended for m68020, disable for other m680X0 variants. - -Checked on a build for m68k-linux-gnu target mc68020 and mc68040. - -Signed-off-by: Waldemar Brodkorb -Upstream: https://sourceware.org/git/?p=glibc.git;a=commitdiff;h=b85880633f69b737050c22eede858f8c13bb2248 ---- - sysdeps/m68k/m680x0/m68020/wordcopy.S | 1 - - sysdeps/m68k/wordcopy.c | 21 +++++++++++++++++++++ - 2 files changed, 21 insertions(+), 1 deletion(-) - delete mode 100644 sysdeps/m68k/m680x0/m68020/wordcopy.S - create mode 100644 sysdeps/m68k/wordcopy.c - -diff --git a/sysdeps/m68k/m680x0/m68020/wordcopy.S b/sysdeps/m68k/m680x0/m68020/wordcopy.S -deleted file mode 100644 -index 4fb1a4518f..0000000000 ---- a/sysdeps/m68k/m680x0/m68020/wordcopy.S -+++ /dev/null -@@ -1 +0,0 @@ --/* Empty, not needed. */ -diff --git a/sysdeps/m68k/wordcopy.c b/sysdeps/m68k/wordcopy.c -new file mode 100644 -index 0000000000..f12d5b7803 ---- /dev/null -+++ b/sysdeps/m68k/wordcopy.c -@@ -0,0 +1,21 @@ -+/* Definitions for memory copy functions. Motorola 680X0 version -+ Copyright (C) 2023 Free Software Foundation, Inc. -+ This file is part of the GNU C Library. -+ -+ The GNU C Library is free software; you can redistribute it and/or -+ modify it under the terms of the GNU Lesser General Public -+ License as published by the Free Software Foundation; either -+ version 2.1 of the License, or (at your option) any later version. -+ -+ The GNU C Library is distributed in the hope that it will be useful, -+ but WITHOUT ANY WARRANTY; without even the implied warranty of -+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+ Lesser General Public License for more details. -+ -+ You should have received a copy of the GNU Lesser General Public -+ License along with the GNU C Library. If not, see -+ . */ -+ -+#ifndef __mc68020__ -+# include -+#endif --- -2.39.2 - diff --git a/package/glibc/0002-m68k-fix-__mpn_lshift-and-__mpn_rshift-for-non-68020.patch b/package/glibc/0002-m68k-fix-__mpn_lshift-and-__mpn_rshift-for-non-68020.patch deleted file mode 100644 index 256da58d66ce..000000000000 --- a/package/glibc/0002-m68k-fix-__mpn_lshift-and-__mpn_rshift-for-non-68020.patch +++ /dev/null @@ -1,47 +0,0 @@ -From 464fd8249e8b791248cab7b0e0cd91757435fa9e Mon Sep 17 00:00:00 2001 -From: Andreas Schwab -Date: Thu, 17 Aug 2023 17:15:34 +0200 -Subject: [PATCH] m68k: fix __mpn_lshift and __mpn_rshift for non-68020 - -From revision 03f3d275d0d6 in the gmp repository. - -Signed-off-by: Waldemar Brodkorb -Upstream: https://sourceware.org/git/?p=glibc.git;a=commitdiff;h=464fd8249e8b791248cab7b0e0cd91757435fa9e ---- - sysdeps/m68k/m680x0/lshift.S | 4 ++-- - sysdeps/m68k/m680x0/rshift.S | 4 ++-- - 2 files changed, 4 insertions(+), 4 deletions(-) - -diff --git a/sysdeps/m68k/m680x0/lshift.S b/sysdeps/m68k/m680x0/lshift.S -index 2aee10348e..4240738959 100644 ---- a/sysdeps/m68k/m680x0/lshift.S -+++ b/sysdeps/m68k/m680x0/lshift.S -@@ -77,8 +77,8 @@ L(Lnormal:) - #else /* not mc68000 */ - movel R(s_size),R(d0) - asll #2,R(d0) -- addl R(s_size),R(s_ptr) -- addl R(s_size),R(res_ptr) -+ addl R(d0),R(s_ptr) -+ addl R(d0),R(res_ptr) - #endif - movel MEM_PREDEC(s_ptr),R(d2) - movel R(d2),R(d0) -diff --git a/sysdeps/m68k/m680x0/rshift.S b/sysdeps/m68k/m680x0/rshift.S -index d16bca9307..d56a2b4a44 100644 ---- a/sysdeps/m68k/m680x0/rshift.S -+++ b/sysdeps/m68k/m680x0/rshift.S -@@ -127,8 +127,8 @@ L(Lspecial:) - #else /* not mc68000 */ - movel R(s_size),R(d0) - asll #2,R(d0) -- addl R(s_size),R(s_ptr) -- addl R(s_size),R(res_ptr) -+ addl R(d0),R(s_ptr) -+ addl R(d0),R(res_ptr) - #endif - - clrl R(d0) /* initialize carry */ --- -2.39.2 - diff --git a/package/glibc/0003-m68k-Use-M68K_SCALE_AVAILABLE-on-__mpn_lshift-and-__.patch b/package/glibc/0003-m68k-Use-M68K_SCALE_AVAILABLE-on-__mpn_lshift-and-__.patch deleted file mode 100644 index 2ea190eb5adb..000000000000 --- a/package/glibc/0003-m68k-Use-M68K_SCALE_AVAILABLE-on-__mpn_lshift-and-__.patch +++ /dev/null @@ -1,93 +0,0 @@ -From 87ced255bdf2681f5bf6c89d7121e59f6f342161 Mon Sep 17 00:00:00 2001 -From: Adhemerval Zanella -Date: Fri, 18 Aug 2023 14:49:31 -0300 -Subject: [PATCH] m68k: Use M68K_SCALE_AVAILABLE on __mpn_lshift and - __mpn_rshift - -This patch adds a new macro, M68K_SCALE_AVAILABLE, similar to gmp -scale_available_p (mpn/m68k/m68k-defs.m4) that expand to 1 if a -scale factor can be used in addressing modes. This is used -instead of __mc68020__ for some optimization decisions. - -Checked on a build for m68k-linux-gnu target mc68020 and mc68040. - -Signed-off-by: Waldemar Brodkorb -Upstream: https://sourceware.org/git/?p=glibc.git;a=commitdiff;h=87ced255bdf2681f5bf6c89d7121e59f6f342161 ---- - sysdeps/m68k/m680x0/lshift.S | 6 +++--- - sysdeps/m68k/m680x0/rshift.S | 8 ++++---- - sysdeps/m68k/m680x0/sysdep.h | 7 +++++++ - 3 files changed, 14 insertions(+), 7 deletions(-) - -diff --git a/sysdeps/m68k/m680x0/lshift.S b/sysdeps/m68k/m680x0/lshift.S -index 4240738959..74de90380b 100644 ---- a/sysdeps/m68k/m680x0/lshift.S -+++ b/sysdeps/m68k/m680x0/lshift.S -@@ -57,9 +57,9 @@ ENTRY(__mpn_lshift) - bne L(Lnormal) - cmpl R(s_ptr),R(res_ptr) - bls L(Lspecial) /* jump if s_ptr >= res_ptr */ --#if (defined (__mc68020__) || defined (__NeXT__) || defined(mc68020)) -+#if M68K_SCALE_AVAILABLE - lea MEM_INDX1(s_ptr,s_size,l,4),R(a2) --#else /* not mc68020 */ -+#else - movel R(s_size),R(d0) - asll #2,R(d0) - lea MEM_INDX(s_ptr,d0,l),R(a2) -@@ -71,7 +71,7 @@ L(Lnormal:) - moveql #32,R(d5) - subl R(cnt),R(d5) - --#if (defined (__mc68020__) || defined (__NeXT__) || defined(mc68020)) -+#if M68K_SCALE_AVAILABLE - lea MEM_INDX1(s_ptr,s_size,l,4),R(s_ptr) - lea MEM_INDX1(res_ptr,s_size,l,4),R(res_ptr) - #else /* not mc68000 */ -diff --git a/sysdeps/m68k/m680x0/rshift.S b/sysdeps/m68k/m680x0/rshift.S -index d56a2b4a44..d398d0287e 100644 ---- a/sysdeps/m68k/m680x0/rshift.S -+++ b/sysdeps/m68k/m680x0/rshift.S -@@ -56,9 +56,9 @@ ENTRY(__mpn_rshift) - bne L(Lnormal) - cmpl R(res_ptr),R(s_ptr) - bls L(Lspecial) /* jump if res_ptr >= s_ptr */ --#if (defined (__mc68020__) || defined (__NeXT__) || defined(mc68020)) -+#if M68K_SCALE_AVAILABLE - lea MEM_INDX1(res_ptr,s_size,l,4),R(a2) --#else /* not mc68020 */ -+#else - movel R(s_size),R(d0) - asll #2,R(d0) - lea MEM_INDX(res_ptr,d0,l),R(a2) -@@ -121,10 +121,10 @@ L(Lend:) - - cfi_restore_state - L(Lspecial:) --#if (defined (__mc68020__) || defined (__NeXT__) || defined(mc68020)) -+#if M68K_SCALE_AVAILABLE - lea MEM_INDX1(s_ptr,s_size,l,4),R(s_ptr) - lea MEM_INDX1(res_ptr,s_size,l,4),R(res_ptr) --#else /* not mc68000 */ -+#else - movel R(s_size),R(d0) - asll #2,R(d0) - addl R(d0),R(s_ptr) -diff --git a/sysdeps/m68k/m680x0/sysdep.h b/sysdeps/m68k/m680x0/sysdep.h -index b31e101273..bee5b3391c 100644 ---- a/sysdeps/m68k/m680x0/sysdep.h -+++ b/sysdeps/m68k/m680x0/sysdep.h -@@ -37,3 +37,10 @@ - OP " " SRC "(" PC "), " DST - - #endif /* __ASSEMBLER__ */ -+ -+# if defined __mc68020__ || defined __mc68030__ || defined __mc68040__ \ -+ || defined __mc68060__ -+# define M68K_SCALE_AVAILABLE 1 -+# else -+# define M68K_SCALE_AVAILABLE 0 -+# endif --- -2.39.2 - diff --git a/package/glibc/glibc.hash b/package/glibc/glibc.hash index 15ae55b9e61c..94b7819a30c4 100644 --- a/package/glibc/glibc.hash +++ b/package/glibc/glibc.hash @@ -1,7 +1,7 @@ # Locally calculated (fetched from Github) -sha256 e38f4284d6909c6b5db7d79c6e450daeaf136a67e547290eec0b063a55eaaa42 glibc-2.38-44-gd37c2b20a4787463d192b32041c3406c2bd91de0.tar.gz +sha256 2ba018b344e0e8330dcadd6130f4174f0fc2502b2e032210345e0e5a2f7ed12e glibc-2.39-5-ge0910f1d3278f05439fb434ee528fc9be1b6bd5e.tar.gz # Hashes for license files sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING.LIB -sha256 b33d0bd9f685b46853548814893a6135e74430d12f6d94ab3eba42fc591f83bc LICENSES +sha256 bba29819a3e938fae92674d6a88533e10605e389da8b51cdcba0a94f6221c5bc LICENSES diff --git a/package/glibc/glibc.mk b/package/glibc/glibc.mk index d198d6f04cb2..96a850516f52 100644 --- a/package/glibc/glibc.mk +++ b/package/glibc/glibc.mk @@ -7,7 +7,7 @@ # Generate version string using: # git describe --match 'glibc-*' --abbrev=40 origin/release/MAJOR.MINOR/master | cut -d '-' -f 2- # When updating the version, please also update localedef -GLIBC_VERSION = 2.38-44-gd37c2b20a4787463d192b32041c3406c2bd91de0 +GLIBC_VERSION = 2.39-5-ge0910f1d3278f05439fb434ee528fc9be1b6bd5e # Upstream doesn't officially provide an https download link. # There is one (https://sourceware.org/git/glibc.git) but it's not reliable, # sometimes the connection times out. So use an unofficial github mirror. @@ -195,7 +195,6 @@ define GLIBC_CONFIGURE_CMDS --without-gd \ --with-headers=$(STAGING_DIR)/usr/include \ $(if $(BR2_aarch64)$(BR2_aarch64_be),--enable-mathvec) \ - --enable-crypt \ $(GLIBC_CONF_OPTS)) $(GLIBC_ADD_MISSING_STUB_H) endef @@ -206,7 +205,7 @@ endef # GLIBC_LIBS_LIB = \ - ld*.so.* libanl.so.* libc.so.* libcrypt.so.* libdl.so.* libgcc_s.so.* \ + ld*.so.* libanl.so.* libc.so.* libdl.so.* libgcc_s.so.* \ libm.so.* libpthread.so.* libresolv.so.* librt.so.* \ libutil.so.* libnss_files.so.* libnss_dns.so.* libmvec.so.* diff --git a/package/igt-gpu-tools/igt-gpu-tools.mk b/package/igt-gpu-tools/igt-gpu-tools.mk index 927a1225a5e5..d4997c9c28b0 100644 --- a/package/igt-gpu-tools/igt-gpu-tools.mk +++ b/package/igt-gpu-tools/igt-gpu-tools.mk @@ -23,6 +23,8 @@ IGT_GPU_TOOLS_DEPENDENCIES = \ udev \ zlib +IGT_GPU_TOOLS_CONF_OPTS = -Dtests=disabled + # On x86 systems, libigt resolves igt_half_to_float and igt_float_to_half as # indirect functions at runtime by checking CPU features with igt_x86_features. # The igt_x86_features function is implemented is a different object and the diff --git a/package/libcurl/0001-configure.ac-find-libpsl-with-pkg-config.patch b/package/libcurl/0001-configure.ac-find-libpsl-with-pkg-config.patch deleted file mode 100644 index 46df1e36a25e..000000000000 --- a/package/libcurl/0001-configure.ac-find-libpsl-with-pkg-config.patch +++ /dev/null @@ -1,109 +0,0 @@ -From 9b3f67e267d1fa8d7867655d133bdbf8830a0ab3 Mon Sep 17 00:00:00 2001 -From: Fabrice Fontaine -Date: Thu, 15 Feb 2024 20:59:25 +0100 -Subject: [PATCH] configure.ac: find libpsl with pkg-config - -Find libpsl with pkg-config to avoid static build failures. - -Ref: http://autobuild.buildroot.org/results/1fb15e1a99472c403d0d3b1a688902f32e78d002 - -Signed-off-by: Fabrice Fontaine -Closes #12947 - -Upstream: https://github.com/curl/curl/commit/9b3f67e267d1fa8d7867655d133bdbf8830a0ab3 ---- - configure.ac | 79 ++++++++++++++++++++++++++++++++++++++++++++-------- - docs/TODO | 7 ----- - 2 files changed, 67 insertions(+), 19 deletions(-) - -diff --git a/configure.ac b/configure.ac -index cd0e2d07d8d164..09d5364f4de575 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -2075,19 +2075,74 @@ dnl ********************************************************************** - dnl Check for libpsl - dnl ********************************************************************** - --AC_ARG_WITH(libpsl, -- AS_HELP_STRING([--without-libpsl], -- [disable support for libpsl]), -- with_libpsl=$withval, -- with_libpsl=yes) --curl_psl_msg="no (libpsl disabled)" --if test $with_libpsl != "no"; then -- AC_SEARCH_LIBS(psl_builtin, psl, -- [curl_psl_msg="enabled"; -- AC_DEFINE([USE_LIBPSL], [1], [PSL support enabled]) -- ], -- [AC_MSG_ERROR([libpsl was not found]) ] -+dnl Default to compiler & linker defaults for LIBPSL files & libraries. -+OPT_LIBPSL=off -+AC_ARG_WITH(libpsl,dnl -+AS_HELP_STRING([--with-libpsl=PATH],[Where to look for libpsl, PATH points to the LIBPSL installation; when possible, set the PKG_CONFIG_PATH environment variable instead of using this option]) -+AS_HELP_STRING([--without-libpsl], [disable LIBPSL]), -+ OPT_LIBPSL=$withval) -+ -+if test X"$OPT_LIBPSL" != Xno; then -+ dnl backup the pre-libpsl variables -+ CLEANLDFLAGS="$LDFLAGS" -+ CLEANCPPFLAGS="$CPPFLAGS" -+ CLEANLIBS="$LIBS" -+ -+ case "$OPT_LIBPSL" in -+ yes) -+ dnl --with-libpsl (without path) used -+ CURL_CHECK_PKGCONFIG(libpsl) -+ -+ if test "$PKGCONFIG" != "no" ; then -+ LIB_PSL=`$PKGCONFIG --libs-only-l libpsl` -+ LD_PSL=`$PKGCONFIG --libs-only-L libpsl` -+ CPP_PSL=`$PKGCONFIG --cflags-only-I libpsl` -+ else -+ dnl no libpsl pkg-config found -+ LIB_PSL="-lpsl" -+ fi -+ -+ ;; -+ off) -+ dnl no --with-libpsl option given, just check default places -+ LIB_PSL="-lpsl" -+ ;; -+ *) -+ dnl use the given --with-libpsl spot -+ LIB_PSL="-lpsl" -+ PREFIX_PSL=$OPT_LIBPSL -+ ;; -+ esac -+ -+ dnl if given with a prefix, we set -L and -I based on that -+ if test -n "$PREFIX_PSL"; then -+ LD_PSL=-L${PREFIX_PSL}/lib$libsuff -+ CPP_PSL=-I${PREFIX_PSL}/include -+ fi -+ -+ LDFLAGS="$LDFLAGS $LD_PSL" -+ CPPFLAGS="$CPPFLAGS $CPP_PSL" -+ LIBS="$LIB_PSL $LIBS" -+ -+ AC_CHECK_LIB(psl, psl_builtin, -+ [ -+ AC_CHECK_HEADERS(libpsl.h, -+ curl_psl_msg="enabled" -+ LIBPSL_ENABLED=1 -+ AC_DEFINE(USE_LIBPSL, 1, [if libpsl is in use]) -+ AC_SUBST(USE_LIBPSL, [1]) -+ ) -+ ], -+ dnl not found, revert back to clean variables -+ LDFLAGS=$CLEANLDFLAGS -+ CPPFLAGS=$CLEANCPPFLAGS -+ LIBS=$CLEANLIBS - ) -+ -+ if test X"$OPT_LIBPSL" != Xoff && -+ test "$LIBPSL_ENABLED" != "1"; then -+ AC_MSG_ERROR([libpsl libs and/or directories were not found where specified!]) -+ fi - fi - AM_CONDITIONAL([USE_LIBPSL], [test "$curl_psl_msg" = "enabled"]) - diff --git a/package/libcurl/libcurl.hash b/package/libcurl/libcurl.hash index 1f3dce0fd55c..7fcad973c3cb 100644 --- a/package/libcurl/libcurl.hash +++ b/package/libcurl/libcurl.hash @@ -1,5 +1,5 @@ # Locally calculated after checking pgp signature -# https://curl.se/download/curl-8.6.0.tar.xz.asc +# https://curl.se/download/curl-8.7.1.tar.xz.asc # signed with key 27EDEAF22F3ABCEB50DB9A125CC908FDB71E12C2 -sha256 3ccd55d91af9516539df80625f818c734dc6f2ecf9bada33c76765e99121db15 curl-8.6.0.tar.xz +sha256 6fea2aac6a4610fbd0400afb0bcddbe7258a64c63f1f68e5855ebc0c659710cd curl-8.7.1.tar.xz sha256 adb1fc06547fd136244179809f7b7c2d2ae6c4534f160aa513af9b6a12866a32 COPYING diff --git a/package/libcurl/libcurl.mk b/package/libcurl/libcurl.mk index 4281cfabb1d4..99320c131573 100644 --- a/package/libcurl/libcurl.mk +++ b/package/libcurl/libcurl.mk @@ -4,7 +4,7 @@ # ################################################################################ -LIBCURL_VERSION = 8.6.0 +LIBCURL_VERSION = 8.7.1 LIBCURL_SOURCE = curl-$(LIBCURL_VERSION).tar.xz LIBCURL_SITE = https://curl.se/download LIBCURL_DEPENDENCIES = host-pkgconf \ @@ -14,8 +14,6 @@ LIBCURL_LICENSE = curl LIBCURL_LICENSE_FILES = COPYING LIBCURL_CPE_ID_VENDOR = haxx LIBCURL_INSTALL_STAGING = YES -# 0001-configure.ac-find-libpsl-with-pkg-config.patch -LIBCURL_AUTORECONF = YES # We disable NTLM delegation to winbinds ntlm_auth ('--disable-ntlm-wb') # support because it uses fork(), which doesn't work on non-MMU platforms. diff --git a/package/libffi/0001-Fix-installation-location-of-libffi.patch b/package/libffi/0001-Fix-installation-location-of-libffi.patch deleted file mode 100644 index 6ac91237303f..000000000000 --- a/package/libffi/0001-Fix-installation-location-of-libffi.patch +++ /dev/null @@ -1,55 +0,0 @@ -From 580f46a7bc6e9fea3a2227b5268cc3aed1d60e3b Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Thu, 7 Feb 2013 22:26:56 +0100 -Subject: [PATCH] Fix installation location of libffi -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -The libffi is currently declared as toolexeclib_LTLIBRARIES. In many -cases, toolexeclib libraries will be installed in /usr/lib, so it -doesn't make any difference. - -However, with multilib toolchains, they get installed in a -subdirectory of /usr/lib/. For example, with a Sourcery CodeBench -PowerPC toolchain, if the e500mc multilib variant is used, the libffi -library gets installed in /usr/lib/te500mc/. This is due to the -following code in the configure script: - - multi_os_directory=`$CC -print-multi-os-directory` - case $multi_os_directory in - .) ;; # Avoid trailing /. - *) toolexeclibdir=$toolexeclibdir/$multi_os_directory ;; - esac - -Once the library is installed in /usr/lib/te500mc/, nothing works -because this installation location is inconsistent with the -installation location declared in libffi.pc. - -So, instead of using this bizarre toolexeclib_LTLIBRARIES, simply use -the more standard lib_LTLIBRARIES, which ensures that the libffi -library is always installed in /usr/lib. - -Signed-off-by: Thomas Petazzoni -[unfuzz for 3.2.1] -Signed-off-by: Jörg Krause ---- - Makefile.am | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/Makefile.am b/Makefile.am -index 0e40451..309474c 100644 ---- a/Makefile.am -+++ b/Makefile.am -@@ -104,7 +104,7 @@ FLAGS_TO_PASS = $(AM_MAKEFLAGS) - - MAKEOVERRIDES= - --toolexeclib_LTLIBRARIES = libffi.la -+lib_LTLIBRARIES = libffi.la - noinst_LTLIBRARIES = libffi_convenience.la - - libffi_la_SOURCES = src/prep_cif.c src/types.c \ --- -2.5.3 - diff --git a/package/libffi/0002-Fix-use-of-compact-eh-frames-on-MIPS.patch b/package/libffi/0001-Fix-use-of-compact-eh-frames-on-MIPS.patch similarity index 94% rename from package/libffi/0002-Fix-use-of-compact-eh-frames-on-MIPS.patch rename to package/libffi/0001-Fix-use-of-compact-eh-frames-on-MIPS.patch index c19e395f900d..7786b984a228 100644 --- a/package/libffi/0002-Fix-use-of-compact-eh-frames-on-MIPS.patch +++ b/package/libffi/0001-Fix-use-of-compact-eh-frames-on-MIPS.patch @@ -15,6 +15,8 @@ Mips and compiler support it. Signed-off-by: Jérôme Pouiller [unfuzz for 3.2.1] Signed-off-by: Jörg Krause +[rebased for 3.4.6] +Signed-off-by: Bernd Kuhls --- configure.ac | 10 ++++++++++ 1 file changed, 10 insertions(+) @@ -23,7 +25,7 @@ diff --git a/configure.ac b/configure.ac index a7bf5ee..36cd0d4 100644 --- a/configure.ac +++ b/configure.ac -@@ -469,6 +469,16 @@ esac +@@ -238,6 +238,16 @@ esac AM_CONDITIONAL(FFI_EXEC_TRAMPOLINE_TABLE, test x$FFI_EXEC_TRAMPOLINE_TABLE = x1) AC_SUBST(FFI_EXEC_TRAMPOLINE_TABLE) diff --git a/package/libffi/0003-libffi-enable-hardfloat-in-the-MIPS-assembly-code.patch b/package/libffi/0003-libffi-enable-hardfloat-in-the-MIPS-assembly-code.patch deleted file mode 100644 index 168972a87187..000000000000 --- a/package/libffi/0003-libffi-enable-hardfloat-in-the-MIPS-assembly-code.patch +++ /dev/null @@ -1,44 +0,0 @@ -From 48bc37fabbc685b1e3293055bd33ca66c619305e Mon Sep 17 00:00:00 2001 -From: Vicente Olivert Riera -Date: Wed, 13 Jan 2016 14:49:59 +0000 -Subject: [PATCH] libffi: enable hardfloat in the MIPS assembly code - -This way it will be possible to build it for soft-float. This is only a -temporary fix. The package needs to be fixed properly. - -Signed-off-by: Vicente Olivert Riera -[Update for 3.3-rc0] -Signed-off-by: Fabrice Fontaine ---- - src/mips/n32.S | 1 + - src/mips/o32.S | 1 + - 2 files changed, 2 insertions(+) - -diff --git a/src/mips/n32.S b/src/mips/n32.S -index c6985d3..dc842d5 100644 ---- a/src/mips/n32.S -+++ b/src/mips/n32.S -@@ -44,6 +44,7 @@ - #endif - #if !defined(__mips_isa_rev) || (__mips_isa_rev<6) - .set mips4 - #endif -+ .set hardfloat - .text - .align 2 - .globl ffi_call_N32 -diff --git a/src/mips/o32.S b/src/mips/o32.S -index eb27981..b653daf 100644 ---- a/src/mips/o32.S -+++ b/src/mips/o32.S -@@ -42,6 +42,7 @@ - #define RA_OFF (SIZEOF_FRAME - 1 * FFI_SIZEOF_ARG) - - .abicalls -+ .set hardfloat - .text - .align 2 - .globl ffi_call_O32 --- -2.4.10 - diff --git a/package/libffi/libffi.hash b/package/libffi/libffi.hash index 8d2349ec21d2..c2ef588f6be6 100644 --- a/package/libffi/libffi.hash +++ b/package/libffi/libffi.hash @@ -1,4 +1,4 @@ # Locally calculated -sha256 d66c56ad259a82cf2a9dfc408b32bf5da52371500b84745f7fb8b645712df676 libffi-3.4.4.tar.gz +sha256 b0dea9df23c863a7a50e825440f3ebffabd65df1497108e5d437747843895a4e libffi-3.4.6.tar.gz # License files, locally calculated -sha256 2c9c2acb9743e6b007b91350475308aee44691d96aa20eacef8e199988c8c388 LICENSE +sha256 67894089811f93fca47a76f85e017da6f8582d4ba0905963c6e0f1ad6df7a195 LICENSE diff --git a/package/libffi/libffi.mk b/package/libffi/libffi.mk index 6249023eaede..9c47cf39734c 100644 --- a/package/libffi/libffi.mk +++ b/package/libffi/libffi.mk @@ -4,19 +4,20 @@ # ################################################################################ -LIBFFI_VERSION = 3.4.4 +LIBFFI_VERSION = 3.4.6 LIBFFI_SITE = \ https://github.com/libffi/libffi/releases/download/v$(LIBFFI_VERSION) LIBFFI_LICENSE = MIT LIBFFI_LICENSE_FILES = LICENSE LIBFFI_CPE_ID_VALID = YES LIBFFI_INSTALL_STAGING = YES -# We're patching Makefile.am +# We're patching configure.ac LIBFFI_AUTORECONF = YES +LIBFFI_CONF_OPTS = --disable-multi-os-directory # The static exec trampolines is enabled by default since # libffi 3.4.2. However it doesn't work with gobject-introspection. -LIBFFI_CONF_OPTS = --disable-exec-static-tramp +LIBFFI_CONF_OPTS += --disable-exec-static-tramp $(eval $(autotools-package)) $(eval $(host-autotools-package)) diff --git a/package/localedef/0001-HACK-only-build-and-install-localedef.patch b/package/localedef/0001-HACK-only-build-and-install-localedef.patch index 49bbfd227c80..a65c896eb736 100644 --- a/package/localedef/0001-HACK-only-build-and-install-localedef.patch +++ b/package/localedef/0001-HACK-only-build-and-install-localedef.patch @@ -9,6 +9,8 @@ Upstream: https://git.pengutronix.de/cgit/ptxdist/plain/patches/localedef-glibc- Signed-off-by: Peter Seiderer [Romain: rebase on 2.38] Signed-off-by: Romain Naour +[yann.morin.1998@free.fr: rebase for 2.39] +Signed-off-by: Yann E. MORIN --- Rules | 14 ++++++++++---- locale/Makefile | 6 +++--- @@ -20,7 +22,7 @@ index 279ae490ac..1321956be6 100644 +++ b/Rules @@ -221,10 +221,16 @@ binaries-shared-notests = $(filter-out $(binaries-pie) $(binaries-static), \ $(binaries-all-notests)) - + ifneq "$(strip $(binaries-shared-notests))" "" -$(addprefix $(objpfx),$(binaries-shared-notests)): %: %.o \ - $(sort $(filter $(common-objpfx)lib%,$(link-libc))) \ @@ -37,31 +39,36 @@ index 279ae490ac..1321956be6 100644 + $(common-objpfx)libc% $(+postinit),$^) \ + $(link-extra-libs) endif - + ifneq "$(strip $(binaries-shared-tests))" "" diff --git a/locale/Makefile b/locale/Makefile index d7036b0855..68afdddc7f 100644 --- a/locale/Makefile +++ b/locale/Makefile -@@ -33,15 +33,15 @@ categories = ctype messages monetary numeric time paper name \ - address telephone measurement identification collate - aux = $(categories:%=lc-%) $(categories:%=C-%) SYS_libc C_name \ - xlocale localename global-locale coll-lookup --others = localedef locale -+others = localedef - #others-static = localedef locale --install-bin = localedef locale -+install-bin = localedef - extra-objs = $(localedef-modules:=.o) $(localedef-aux:=.o) \ - $(locale-modules:=.o) $(lib-modules:=.o) - generated += C-translit.h - before-compile += $(objpfx)C-translit.h - --extra-libs = libBrokenLocale -+#extra-libs = libBrokenLocale +@@ -76,7 +76,6 @@ + xlocale \ + # aux + others = \ +- locale \ + localedef \ + # others + #others-static = \ +@@ -84,7 +83,6 @@ + # locale \ + # # others-static + install-bin = \ +- locale \ + localedef \ + # install-bin + extra-objs = \ +@@ -96,7 +94,6 @@ + generated += C-translit.h + before-compile += $(objpfx)C-translit.h + +-extra-libs = libBrokenLocale extra-libs-others = $(extra-libs) - + libBrokenLocale-routines = broken_cur_max --- +-- 2.41.0 diff --git a/package/localedef/0002-relax-dependency-on-GCC-to-4.8-and-binutils-to-2.24.patch b/package/localedef/0002-relax-dependency-on-GCC-to-4.8-and-binutils-to-2.24.patch index 70d2b34bc1e7..1aecc244056b 100644 --- a/package/localedef/0002-relax-dependency-on-GCC-to-4.8-and-binutils-to-2.24.patch +++ b/package/localedef/0002-relax-dependency-on-GCC-to-4.8-and-binutils-to-2.24.patch @@ -28,6 +28,8 @@ Signed-off-by: Matthew Weber Signed-off-by: Yann E. MORIN [Romain: rebase on 2.38] Signed-off-by: Romain Naour +[yann.morin.1998@free.fr: rebase for 2.39] +Signed-off-by: Yann E. MORIN --- configure | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) @@ -36,7 +38,7 @@ diff --git a/configure b/configure index 4ef387146d..4c6f91117d 100755 --- a/configure +++ b/configure -@@ -5293,7 +5293,7 @@ printf %s "checking version of $LD... " >&6; } +@@ -5157,7 +5157,7 @@ printf %s "checking version of $LD... " >&6; } ac_prog_version=`$LD --version 2>&1 | sed -n 's/^.*GNU ld.* \([0-9][0-9]*\.[0-9.]*\).*$/\1/p'` case $ac_prog_version in '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;; @@ -44,16 +46,16 @@ index 4ef387146d..4c6f91117d 100755 + 2.1[0-9][0-9]*|2.2[4-9]*|2.[3-9][0-9]*|[3-9].*|[1-9][0-9]*) ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;; *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;; - -@@ -5735,7 +5735,7 @@ int + +@@ -5599,7 +5599,7 @@ int main (void) { - + -#if !defined __GNUC__ || __GNUC__ < 6 || (__GNUC__ == 6 && __GNUC_MINOR__ < 2) +#if !defined __GNUC__ || __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 8) #error insufficient compiler #endif ; --- +-- 2.41.0 diff --git a/package/localedef/localedef.mk b/package/localedef/localedef.mk index c017c0e00e42..f304ba8021bd 100644 --- a/package/localedef/localedef.mk +++ b/package/localedef/localedef.mk @@ -7,7 +7,7 @@ # Use the same VERSION and SITE as target glibc # As in glibc.mk, generate version string using: # git describe --match 'glibc-*' --abbrev=40 origin/release/MAJOR.MINOR/master | cut -d '-' -f 2- -LOCALEDEF_VERSION = 2.38-44-gd37c2b20a4787463d192b32041c3406c2bd91de0 +LOCALEDEF_VERSION = 2.39-5-ge0910f1d3278f05439fb434ee528fc9be1b6bd5e LOCALEDEF_SOURCE = glibc-$(LOCALEDEF_VERSION).tar.gz LOCALEDEF_SITE = $(call github,bminor,glibc,$(LOCALEDEF_VERSION)) HOST_LOCALEDEF_DL_SUBDIR = glibc diff --git a/package/lxc/0001-src-lxc-syscall_numbers.h-drop-define-1.patch b/package/lxc/0001-src-lxc-syscall_numbers.h-drop-define-1.patch new file mode 100644 index 000000000000..4a944e35b12a --- /dev/null +++ b/package/lxc/0001-src-lxc-syscall_numbers.h-drop-define-1.patch @@ -0,0 +1,133 @@ +From 82fe01821cd5cb8548598d7d93b07d6ef3f6b604 Mon Sep 17 00:00:00 2001 +From: Fabrice Fontaine +Date: Sat, 30 Mar 2024 16:50:46 +0100 +Subject: [PATCH] src/lxc/syscall_numbers.h: drop define -1 + +Drop "#define -1" to avoid the following m68k build failure with gcc 12: + +In file included from ../src/lxc/syscall_wrappers.h:19, + from ../src/lxc/mount_utils.h:15, + from ../src/lxc/conf.h:24, + from ../src/lxc/log.h:19, + from ../src/lxc/storage/btrfs.c:20: +../src/lxc/syscall_numbers.h:423:25: error: macro names must be identifiers + 423 | #define -1 + | ^ + +Fixes: + - http://autobuild.buildroot.org/results/f40a517eba86838b11b4b1d6a8a05b8233a3394d + +Signed-off-by: Fabrice Fontaine +Upstream: https://github.com/lxc/lxc/commit/82fe01821cd5cb8548598d7d93b07d6ef3f6b604 +--- + src/lxc/syscall_numbers.h | 13 ------------- + 1 file changed, 13 deletions(-) + +diff --git a/src/lxc/syscall_numbers.h b/src/lxc/syscall_numbers.h +index 58840a5981..5e659d1b81 100644 +--- a/src/lxc/syscall_numbers.h ++++ b/src/lxc/syscall_numbers.h +@@ -53,7 +53,6 @@ + #elif defined __loongarch64 + #define __NR_keyctl 219 + #else +- #define -1 + #warning "__NR_keyctl not defined for your architecture" + #endif + #endif +@@ -92,7 +91,6 @@ + #elif defined __loongarch64 + #define __NR_memfd_create 279 + #else +- #define -1 + #warning "__NR_memfd_create not defined for your architecture" + #endif + #endif +@@ -129,7 +127,6 @@ + #elif defined __loongarch64 + #define __NR_pivot_root 41 + #else +- #define -1 + #warning "__NR_pivot_root not defined for your architecture" + #endif + #endif +@@ -166,7 +163,6 @@ + #elif defined __loongarch64 + #define __NR_setns 268 + #else +- #define -1 + #warning "__NR_setns not defined for your architecture" + #endif + #endif +@@ -203,7 +199,6 @@ + #elif defined __loongarch64 + #define __NR_sethostname 161 + #else +- #define -1 + #warning "__NR_sethostname not defined for your architecture" + #endif + #endif +@@ -272,7 +267,6 @@ + #elif defined __loongarch64 + #define __NR_signalfd4 74 + #else +- #define -1 + #warning "__NR_signalfd4 not defined for your architecture" + #endif + #endif +@@ -309,7 +303,6 @@ + #elif defined __loongarch64 + #define __NR_unshare 97 + #else +- #define -1 + #warning "__NR_unshare not defined for your architecture" + #endif + #endif +@@ -346,7 +339,6 @@ + #elif defined __loongarch64 + #define __NR_bpf 280 + #else +- #define -1 + #warning "__NR_bpf not defined for your architecture" + #endif + #endif +@@ -383,7 +375,6 @@ + #elif defined __loongarch64 + #define __NR_faccessat 48 + #else +- #define -1 + #warning "__NR_faccessat not defined for your architecture" + #endif + #endif +@@ -440,7 +431,6 @@ + #elif defined __loongarch64 + #define __NR_seccomp 277 + #else +- #define -1 + #warning "__NR_seccomp not defined for your architecture" + #endif + #endif +@@ -477,7 +467,6 @@ + #elif defined __loongarch64 + #define __NR_gettid 178 + #else +- #define -1 + #warning "__NR_gettid not defined for your architecture" + #endif + #endif +@@ -518,7 +507,6 @@ + #elif defined __loongarch64 + #define __NR_execveat 281 + #else +- #define -1 + #warning "__NR_execveat not defined for your architecture" + #endif + #endif +@@ -759,7 +747,6 @@ + #elif defined __loongarch64 + #define __NR_personality 92 + #else +- #define -1 + #warning "__NR_personality not defined for your architecture" + #endif + #endif diff --git a/package/mbedtls/mbedtls.hash b/package/mbedtls/mbedtls.hash index 3ec151a85990..5466b0e7de40 100644 --- a/package/mbedtls/mbedtls.hash +++ b/package/mbedtls/mbedtls.hash @@ -1,4 +1,4 @@ -# From https://github.com/ARMmbed/mbedtls/releases/tag/v2.28.7: -sha256 1df6073f0cf6a4e1953890bf5e0de2a8c7e6be50d6d6c69fa9fefcb1d14e981a mbedtls-2.28.7.tar.gz +# From https://github.com/ARMmbed/mbedtls/releases/tag/v2.28.8: +sha256 241c68402cef653e586be3ce28d57da24598eb0df13fcdea9d99bfce58717132 mbedtls-2.28.8.tar.bz2 # Locally calculated sha256 9b405ef4c89342f5eae1dd828882f931747f71001cfba7d114801039b52ad09b LICENSE diff --git a/package/mbedtls/mbedtls.mk b/package/mbedtls/mbedtls.mk index cdb4aef4f4c6..9757b8b0804f 100644 --- a/package/mbedtls/mbedtls.mk +++ b/package/mbedtls/mbedtls.mk @@ -4,8 +4,9 @@ # ################################################################################ -MBEDTLS_VERSION = 2.28.7 -MBEDTLS_SITE = $(call github,ARMmbed,mbedtls,v$(MBEDTLS_VERSION)) +MBEDTLS_VERSION = 2.28.8 +MBEDTLS_SITE = https://github.com/Mbed-TLS/mbedtls/releases/download/v$(MBEDTLS_VERSION) +MBEDTLS_SOURCE = mbedtls-$(MBEDTLS_VERSION).tar.bz2 MBEDTLS_CONF_OPTS = \ -DCMAKE_C_FLAGS="$(TARGET_CFLAGS) -std=c99" \ -DENABLE_PROGRAMS=$(if $(BR2_PACKAGE_MBEDTLS_PROGRAMS),ON,OFF) \ diff --git a/package/network-manager/0001-connectivity-make-curl-timeout-callback-non-repeating.patch b/package/network-manager/0001-connectivity-make-curl-timeout-callback-non-repeating.patch deleted file mode 100644 index 8e25805d0c97..000000000000 --- a/package/network-manager/0001-connectivity-make-curl-timeout-callback-non-repeating.patch +++ /dev/null @@ -1,44 +0,0 @@ -From abc6e1cf258ab332bed161036a358bbe9c2d1e90 Mon Sep 17 00:00:00 2001 -From: Tatsuyuki Ishi -Date: Fri, 13 Oct 2023 16:46:09 +0000 -Subject: [PATCH] connectivity: Make curl timeout callback non-repeating. - -This reverts commit 05c31da4d9. - -In the linked commit the callback was made repeating on the assumption -that forward progress would result in the callback getting canceled in -cb_data_complete. However, this assumption does not hold since a timeout -callback does not guarantee completion (or error out) of a request. - -curl tweaked some internals in v8.4.0 and started giving 0 timeouts, and -a repeating callback is firing back-to-back without making any progress -in doing so. - -Revert the change and make the callback non-repeating again. - -Fixes: 05c31da4d9cb ('connectivity: don't cancel curl timerfunction from timeout') -Upstream: https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/commit/abc6e1cf258ab332bed161036a358bbe9c2d1e90 -Signed-off-by: Christian Hitz ---- - src/core/nm-connectivity.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/src/core/nm-connectivity.c b/src/core/nm-connectivity.c -index 92de44f17d..d8b0004c38 100644 ---- a/src/core/nm-connectivity.c -+++ b/src/core/nm-connectivity.c -@@ -406,9 +406,10 @@ _con_curl_timeout_cb(gpointer user_data) - { - NMConnectivityCheckHandle *cb_data = user_data; - -+ cb_data->concheck.curl_timer = 0; - _con_curl_check_connectivity(cb_data->concheck.curl_mhandle, CURL_SOCKET_TIMEOUT, 0); - _complete_queued(cb_data->self); -- return G_SOURCE_CONTINUE; -+ return G_SOURCE_REMOVE; - } - - static int --- -GitLab - diff --git a/package/network-manager/network-manager.hash b/package/network-manager/network-manager.hash index 0196d68c553e..8a3c3895fe73 100644 --- a/package/network-manager/network-manager.hash +++ b/package/network-manager/network-manager.hash @@ -1,6 +1,6 @@ -# From https://download.gnome.org/sources/NetworkManager/1.44/NetworkManager-1.44.2.sha256sum -sha256 4b58bf3ac57e2cefb5652efd0945eb0b4bc36a63d92a61ab471d8bb2c9a420e1 NetworkManager-1.44.2.tar.xz +# From https://download.gnome.org/sources/NetworkManager/1.46/NetworkManager-1.46.0.sha256sum +sha256 722649e25362693b334371473802a729b0ec9ee283375096905f868808e74068 NetworkManager-1.46.0.tar.xz # Locally computed sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING sha256 dc626520dcd53a22f727af3ee42c770e56c97a64fe3adb063799d8ab032fe551 COPYING.LGPL -sha256 e7cf3d92bda8e5365eaf4514d572146a19e93336f7a966493778d0d0c4476fae CONTRIBUTING.md +sha256 9f7f0d40116e5a0f1566b9da71e9c95738c99364e4b5437d8115aa614490372b CONTRIBUTING.md diff --git a/package/network-manager/network-manager.mk b/package/network-manager/network-manager.mk index f6ef923d55a8..09bc6aed027f 100644 --- a/package/network-manager/network-manager.mk +++ b/package/network-manager/network-manager.mk @@ -4,8 +4,8 @@ # ################################################################################ -NETWORK_MANAGER_VERSION_MAJOR = 1.44 -NETWORK_MANAGER_VERSION = $(NETWORK_MANAGER_VERSION_MAJOR).2 +NETWORK_MANAGER_VERSION_MAJOR = 1.46 +NETWORK_MANAGER_VERSION = $(NETWORK_MANAGER_VERSION_MAJOR).0 NETWORK_MANAGER_SOURCE = NetworkManager-$(NETWORK_MANAGER_VERSION).tar.xz NETWORK_MANAGER_SITE = https://download.gnome.org/sources/NetworkManager/$(NETWORK_MANAGER_VERSION_MAJOR) NETWORK_MANAGER_INSTALL_STAGING = YES diff --git a/package/zic/zic.mk b/package/zic/zic.mk index 95fa1eaa96ee..8abcec936053 100644 --- a/package/zic/zic.mk +++ b/package/zic/zic.mk @@ -12,7 +12,7 @@ ZIC_LICENSE = Public domain ZIC_LICENSE_FILES = LICENSE define HOST_ZIC_BUILD_CMDS - $(HOST_MAKE_ENV) $(MAKE) -C $(@D) zic + $(HOST_MAKE_ENV) $(MAKE) $(HOST_CONFIGURE_OPTS) -C $(@D) zic endef define HOST_ZIC_INSTALL_CMDS diff --git a/system/Config.in b/system/Config.in index 33ca69b9339e..3fb17ed1c670 100644 --- a/system/Config.in +++ b/system/Config.in @@ -695,20 +695,69 @@ config BR2_ROOTFS_POST_IMAGE_SCRIPT config BR2_ROOTFS_POST_SCRIPT_ARGS string "Extra arguments passed to custom scripts" - depends on BR2_ROOTFS_POST_BUILD_SCRIPT != "" \ + depends on BR2_ROOTFS_PRE_BUILD_SCRIPT != "" \ + || BR2_ROOTFS_POST_BUILD_SCRIPT != "" \ || BR2_ROOTFS_POST_FAKEROOT_SCRIPT != "" \ || BR2_ROOTFS_POST_IMAGE_SCRIPT != "" help - Pass these additional arguments to each post-build or - post-image scripts. + Pass these additional arguments to each pre-build, post-build, + post-fakeroot and post-image scripts. Note that all the post-build and post-image scripts will be passed the same set of arguments, you can not pass different arguments to each script. Note also, as stated in their respective help text, that the - first argument to each post-build or post-image script is the - target directory / images directory. The arguments in this - option will be passed *after* those. + first argument to each script is the target directory / images + directory. The arguments in this option will be passed *after* + those. + +config BR2_ROOTFS_PRE_BUILD_SCRIPT_ARGS + string "Extra arguments passed to BR2_ROOTFS_PRE_BUILD_SCRIPT" + depends on BR2_ROOTFS_PRE_BUILD_SCRIPT != "" + help + Pass these additional arguments to the pre-build script. + + Note also, as stated in the respective help text, that the + first argument to each script is the target directory, then + the common arguments specified in BR2_ROOTFS_POST_SCRIPT_ARGS + above, and then the arguments in this option will be passed + *after* those. + +config BR2_ROOTFS_POST_BUILD_SCRIPT_ARGS + string "Extra arguments passed to BR2_ROOTFS_POST_BUILD_SCRIPT" + depends on BR2_ROOTFS_POST_BUILD_SCRIPT != "" + help + Pass these additional arguments to the post-build script. + + Note also, as stated in the respective help text, that the + first argument to each script is the target directory, then + the common arguments specified in BR2_ROOTFS_POST_SCRIPT_ARGS + above, and then the arguments in this option will be passed + *after* those. + +config BR2_ROOTFS_POST_FAKEROOT_SCRIPT_ARGS + string "Extra arguments passed to BR2_ROOTFS_POST_FAKEROOT_SCRIPT" + depends on BR2_ROOTFS_POST_FAKEROOT_SCRIPT != "" + help + Pass these additional arguments to the post-fakeroot script. + + Note also, as stated in the respective help text, that the + first argument to each script is the target directory, then + the common arguments specified in BR2_ROOTFS_POST_SCRIPT_ARGS + above, and then the arguments in this option will be passed + *after* those. + +config BR2_ROOTFS_POST_IMAGE_SCRIPT_ARGS + string "Extra arguments passed to POST_IMAGE_SCRIPT" + depends on BR2_ROOTFS_POST_IMAGE_SCRIPT != "" + help + Pass these additional arguments to the post-image script. + + Note also, as stated in the respective help text, that the + first argument to each script is the images directory, then + the common arguments specified in BR2_ROOTFS_POST_SCRIPT_ARGS + above, and then the arguments in this option will be passed + *after* those. endmenu diff --git a/utils/checkpackagelib/lib_patch.py b/utils/checkpackagelib/lib_patch.py index 1909d3acd063..b01d28a7e72a 100644 --- a/utils/checkpackagelib/lib_patch.py +++ b/utils/checkpackagelib/lib_patch.py @@ -62,6 +62,7 @@ def after(self): "({}#_format_and_licensing_of_the_package_patches)" .format(self.filename, self.url_to_manual)] + class Upstream(_CheckFunction): UPSTREAM_ENTRY = re.compile(r"^Upstream: .*$")