[openwrt/openwrt] toolchain: gcc: 15: fix build error with glibc for aarch64 targets

LEDE Commits lede-commits at lists.infradead.org
Tue Jul 8 05:19:35 PDT 2025


robimarko pushed a commit to openwrt/openwrt.git, branch main:
https://git.openwrt.org/1f8391346e1960b530d53fff4e134ee88dba2080

commit 1f8391346e1960b530d53fff4e134ee88dba2080
Author: Robert Marko <robimarko at gmail.com>
AuthorDate: Tue Jul 8 14:17:16 2025 +0200

    toolchain: gcc: 15: fix build error with glibc for aarch64 targets
    
    GCC 14+ fails to build due to libatomic specific -march handling.
    This build error triggers only with glibc and not with musl libc
    which is default.
    
    It seems that this patch from GCC14 was forgotten when GCC15 support was
    being added [1].
    
    [1] https://github.com/openwrt/openwrt/commit/44ef34350095c86227ea0cf84b816258c5195e29
    
    Fixes: 68cb84183e38 ("toolchain: add support for GCC 15.1")
    Signed-off-by: Robert Marko <robimarko at gmail.com>
---
 .../gcc/patches-15.x/830-aarch64-libatomic.patch   | 32 ++++++++++++++++++++++
 .../980-fix-build-error-with-Xcode-16.3.patch      |  7 +----
 2 files changed, 33 insertions(+), 6 deletions(-)

diff --git a/toolchain/gcc/patches-15.x/830-aarch64-libatomic.patch b/toolchain/gcc/patches-15.x/830-aarch64-libatomic.patch
new file mode 100644
index 0000000000..0a543067af
--- /dev/null
+++ b/toolchain/gcc/patches-15.x/830-aarch64-libatomic.patch
@@ -0,0 +1,32 @@
+libatomic: Do not enforce march on aarch64
+
+Inspired by The Yocto Project [1].
+
+[1] https://github.com/yoctoproject/poky/blob/51192a79f1717786dda42776f916c3d97ada7971/meta/recipes-devtools/gcc/gcc/0022-libatomic-Do-not-enforce-march-on-aarch64.patch
+
+Signed-off-by: Konstantin Demin <rockdrilla at gmail.com>
+
+ libatomic/Makefile.am | 1 -
+ libatomic/Makefile.in | 1 -
+ 2 files changed, 2 deletions(-)
+
+--- a/libatomic/Makefile.am
++++ b/libatomic/Makefile.am
+@@ -128,7 +128,6 @@ libatomic_la_LIBADD = $(foreach s,$(SIZE
+ ## On a target-specific basis, include alternates to be selected by IFUNC.
+ if HAVE_IFUNC
+ if ARCH_AARCH64_LINUX
+-IFUNC_OPTIONS	     = -march=armv8-a+lse
+ libatomic_la_LIBADD += $(foreach s,$(SIZES),$(addsuffix _$(s)_1_.lo,$(SIZEOBJS)))
+ 
+ endif
+--- a/libatomic/Makefile.in
++++ b/libatomic/Makefile.in
+@@ -452,7 +452,6 @@ M_SRC = $(firstword $(filter %/$(M_FILE)
+ libatomic_la_LIBADD = $(foreach s,$(SIZES),$(addsuffix \
+ 	_$(s)_.lo,$(SIZEOBJS))) $(am__append_1) $(am__append_2) \
+ 	$(am__append_3) $(am__append_4)
+- at ARCH_AARCH64_LINUX_TRUE@@HAVE_IFUNC_TRUE at IFUNC_OPTIONS = -march=armv8-a+lse
+ @ARCH_ARM_LINUX_TRUE@@HAVE_IFUNC_TRUE at IFUNC_OPTIONS = -march=armv7-a+fp -DHAVE_KERNEL64
+ @ARCH_I386_TRUE@@HAVE_IFUNC_TRUE at IFUNC_OPTIONS = -march=i586
+ @ARCH_X86_64_TRUE@@HAVE_IFUNC_TRUE at IFUNC_OPTIONS = -mcx16 -mcx16
diff --git a/toolchain/gcc/patches-15.x/980-fix-build-error-with-Xcode-16.3.patch b/toolchain/gcc/patches-15.x/980-fix-build-error-with-Xcode-16.3.patch
index 3f4cdd5726..c55100133c 100644
--- a/toolchain/gcc/patches-15.x/980-fix-build-error-with-Xcode-16.3.patch
+++ b/toolchain/gcc/patches-15.x/980-fix-build-error-with-Xcode-16.3.patch
@@ -34,11 +34,9 @@ Signed-off-by: Georgi Valkov <gvalkov at gmail.com>
  zlib/zutil.h | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
 
-diff --git a/zlib/zutil.h b/zlib/zutil.h
-index 4b596adf629..9ea8d840643 100644
 --- a/zlib/zutil.h
 +++ b/zlib/zutil.h
-@@ -130,7 +130,7 @@ extern z_const char * const z_errmsg[10]; /* indexed by 2-zlib_error */
+@@ -130,7 +130,7 @@ extern z_const char * const z_errmsg[10]
  #  endif
  #endif
  
@@ -47,6 +45,3 @@ index 4b596adf629..9ea8d840643 100644
  #  define OS_CODE  7
  #  ifndef Z_SOLO
  #    if defined(__MWERKS__) && __dest_os != __be_os && __dest_os != __win32_os
--- 
-2.49.0
-




More information about the lede-commits mailing list