glibc: Add 2.41
Some checks are pending
CI / crosstool (macos-13) (push) Waiting to run
CI / crosstool (ubuntu-22.04) (push) Waiting to run
CI / tarballs (ubuntu-22.04) (push) Blocked by required conditions
CI / toolchains (push) Blocked by required conditions

https://sourceware.org/pipermail/libc-announce/2025/000045.html

Support for nios2*-*-linux-gnu has been removed in this version so the
nios2 architecture now requires and older glibc.

Signed-off-by: Chris Packham <judge.packham@gmail.com>
This commit is contained in:
Chris Packham 2025-01-31 08:36:42 +13:00
parent f395eb4e9f
commit 87605d6593
5 changed files with 106 additions and 1 deletions

View File

@ -9,6 +9,7 @@
## select ARCH_SUPPORTS_FLAT_FORMAT
## select GCC_REQUIRE_older_than_15
## select GDB_REQUIRE_older_than_16
## select GLIBC_REQUIRE_older_than_2_41
##
## help The NIOS2 architecture, as defined by:
## help http://www.altera.com

View File

@ -0,0 +1,92 @@
From 36449920c501177b61c6fdc1f72875ca41084a8e Mon Sep 17 00:00:00 2001
From: Rosen Penev <rosenp@gmail.com>
Date: Sat, 13 Feb 2021 17:08:21 +0300
Subject: [PATCH] Add ARC700 support
glibc does not officially support ARC700 so this adds the missing
pieces. I looked at uClibc-ng and a patch by Synopsis for glibc.
[Alexey] Taken from https://github.com/openwrt/openwrt/commit/33646a51abcf15ff5c5363848287e1ed778b7467
Signed-off-by: Rosen Penev <rosenp@gmail.com>
Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
---
sysdeps/arc/atomic-machine.h | 4 ++++
sysdeps/unix/sysv/linux/arc/syscall.S | 5 +++++
sysdeps/unix/sysv/linux/arc/syscall_cancel.S | 6 ++++++
sysdeps/unix/sysv/linux/arc/sysdep.h | 8 ++++++++
4 files changed, 23 insertions(+)
--- a/sysdeps/arc/atomic-machine.h
+++ b/sysdeps/arc/atomic-machine.h
@@ -52,6 +52,10 @@
__atomic_val_bysize (__arch_compare_and_exchange_val, int, \
mem, new, old, __ATOMIC_ACQUIRE)
+#ifdef __ARC700__
+#define atomic_full_barrier() ({ asm volatile ("sync":::"memory"); })
+#else
#define atomic_full_barrier() ({ asm volatile ("dmb 3":::"memory"); })
+#endif
#endif /* _ARC_BITS_ATOMIC_H */
--- a/sysdeps/unix/sysv/linux/arc/syscall.S
+++ b/sysdeps/unix/sysv/linux/arc/syscall.S
@@ -24,8 +24,13 @@
mov_s r1, r2
mov_s r2, r3
mov_s r3, r4
+#ifdef __ARC700__
+ mov r4, r5
+ mov r5, r6
+#else
mov_s r4, r5
mov_s r5, r6
+#endif
ARC_TRAP_INSN
brhi r0, -4096, L (call_syscall_err)
--- a/sysdeps/unix/sysv/linux/arc/syscall_cancel.S
+++ b/sysdeps/unix/sysv/linux/arc/syscall_cancel.S
@@ -38,9 +38,15 @@
mov_s r0, r2
mov_s r1, r3
mov_s r2, r4
+#ifdef __ARC700__
+ mov r3, r5
+ mov r4, r6
+ mov r5, r7
+#else
mov_s r3, r5
mov_s r4, r6
mov_s r5, r7
+#endif
trap_s 0
.globl __syscall_cancel_arch_end
--- a/sysdeps/unix/sysv/linux/arc/sysdep.h
+++ b/sysdeps/unix/sysv/linux/arc/sysdep.h
@@ -130,7 +130,11 @@
mov r8, __NR_##syscall_name ASM_LINE_SEP \
ARC_TRAP_INSN ASM_LINE_SEP
+# ifdef __ARC700__
+# define ARC_TRAP_INSN trap0
+# else
# define ARC_TRAP_INSN trap_s 0
+# endif
#else /* !__ASSEMBLER__ */
@@ -139,7 +143,11 @@
hidden_proto (__syscall_error)
# endif
+# ifdef __ARC700__
+# define ARC_TRAP_INSN "trap0 \n\t"
+# else
# define ARC_TRAP_INSN "trap_s 0 \n\t"
+#endif
# define HAVE_CLONE3_WRAPPER 1

12
packages/glibc/2.41/chksum vendored Normal file
View File

@ -0,0 +1,12 @@
md5 glibc-2.41.tar.xz 19862601af60f73ac69e067d3e9267d4
sha1 glibc-2.41.tar.xz 51151d596f4ca800e3220825f6ac07e5e9bc5d23
sha256 glibc-2.41.tar.xz a5a26b22f545d6b7d7b3dd828e11e428f24f4fac43c934fb071b6a7d0828e901
sha512 glibc-2.41.tar.xz 894a3e5a796bc13df30c26a5bfbe4d60b5dbdaac54e7763432235124b547070c7dda88c50584536870cab79183d8cad73a3ac6ed09bfe54fa8482aad07253169
md5 glibc-2.41.tar.bz2 b696289e331b03d4920f01a5e40a1b19
sha1 glibc-2.41.tar.bz2 f183c3fbd185b143ffec1e3ae3ee56badb914775
sha256 glibc-2.41.tar.bz2 13cffc682feef721d575250bd4845f92950d3aab23c471279c0f70e497b08442
sha512 glibc-2.41.tar.bz2 0c8a4493e2b3abc15d20d7d52e387656db8b619774cd555ce9b20709cee42526b68375884f92f9acb6e9a86ce82a8cb62141f78f92bd29db8d94fa413c81510f
md5 glibc-2.41.tar.gz 74e52947360bba6654272f6bdb90a1d9
sha1 glibc-2.41.tar.gz 093600f3c3b15dd2d2cf488163fb3dfdc2d95b1e
sha256 glibc-2.41.tar.gz c7be6e25eeaf4b956f5d4d56a04d23e4db453fc07760f872903bb61a49519b80
sha512 glibc-2.41.tar.gz 85943f8b0e0298d1db11da3c92d77364acd0d74f374651adc0289df9ba8a55230acded6ed5bac726be715318b8e879eb96daf5edb28239caa13a217f4f752898

0
packages/glibc/2.41/version.desc vendored Normal file
View File

View File

@ -3,6 +3,6 @@ repository='git git://sourceware.org/git/glibc.git'
mirrors='$(CT_Mirrors GNU glibc)'
# Cannot use MAJOR.MINOR as the relevant part because of 2.12: 2.12.2 was the most recent
# bugfix release, but it didn't have glibc-ports released alongside it.
milestones='2.14 2.17 2.20 2.23 2.24 2.25 2.26 2.27 2.28 2.29 2.30 2.31 2.32 2.34 2.36 2.37 2.38'
milestones='2.14 2.17 2.20 2.23 2.24 2.25 2.26 2.27 2.28 2.29 2.30 2.31 2.32 2.34 2.36 2.37 2.38 2.41'
archive_formats='.tar.xz .tar.bz2 .tar.gz'
signature_format='packed/.sig'