glibc: Add glibc-2.38

https://sourceware.org/pipermail/libc-announce/2023/000036.html

Add the new version and carry through the ARC700 patch.

Signed-off-by: Chris Packham <judge.packham@gmail.com>
This commit is contained in:
Chris Packham 2023-08-07 10:49:46 +12:00
parent 285915cb38
commit 2ef5c62c68
4 changed files with 86 additions and 1 deletions

View File

@ -0,0 +1,73 @@
From 6349ae7c3d96c8d00179e290d1ccf8a2d8438cc8 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/sysdep.h | 8 ++++++++
3 files changed, 17 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/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.38/chksum vendored Normal file
View File

@ -0,0 +1,12 @@
md5 glibc-2.38.tar.xz 778cce0ea6bf7f84ca8caacf4a01f45b
sha1 glibc-2.38.tar.xz c36610ba0bec4d76006d7f0d0ff127b6b8c1897d
sha256 glibc-2.38.tar.xz fb82998998b2b29965467bc1b69d152e9c307d2cf301c9eafb4555b770ef3fd2
sha512 glibc-2.38.tar.xz a6dd5e42dcd63d58e2820c783522c8c895890b6e8c8e6c83b025553de0cc77cdf227e7044e431ead98c89c68a9ce4dd63509b47e647775fb2075f011849c1900
md5 glibc-2.38.tar.bz2 f2a70621d2103df7ee8f3f2c749ae722
sha1 glibc-2.38.tar.bz2 cad95eadccfeaecc79a0a980fc2588d2e7bbb13d
sha256 glibc-2.38.tar.bz2 a764332473ddf9431009bde049bac8b9e021cc5c1c412138a8a4a8c600fe13b2
sha512 glibc-2.38.tar.bz2 e11ba8f70aa717628af550ef0043cad31cd8de1bd10c1ccde118041324cda7ffff33beb0f0871f85f860d56e00ff4e19090df898537a2013531d1106235aec7e
md5 glibc-2.38.tar.gz 7e0c9eb79882b17a18d4e34c33e8794e
sha1 glibc-2.38.tar.gz db2467e6911eb0590d3f604ecc68a406154626ef
sha256 glibc-2.38.tar.gz 16e51e0455e288f03380b436e41d5927c60945abd86d0c9852b84be57dd6ed5e
sha512 glibc-2.38.tar.gz ca799ef40129433791777c698b62142edf0f0e8a87552f324ee6a036a2fe747b867696863692bde45bdd4a263ac6c419a52f92c1b6072b8ff49a887ebaa45299

0
packages/glibc/2.38/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'
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'
archive_formats='.tar.xz .tar.bz2 .tar.gz'
signature_format='packed/.sig'