diff options
author | Chris Packham <judge.packham@gmail.com> | 2024-02-18 11:11:04 +1300 |
---|---|---|
committer | Chris Packham <judge.packham@gmail.com> | 2024-03-01 14:46:12 +1300 |
commit | f0415c04e3de40a119342aea7dc118e38591784f (patch) | |
tree | 03de29a9cacf223067a1dfbdc1ee546ba88bf659 /packages/glibc | |
parent | e7a88ff52d92b46238d2709ef5c8d837bcf767b5 (diff) | |
download | crosstool-ng-f0415c04e3de40a119342aea7dc118e38591784f.tar.gz crosstool-ng-f0415c04e3de40a119342aea7dc118e38591784f.tar.bz2 crosstool-ng-f0415c04e3de40a119342aea7dc118e38591784f.zip |
glibc: Add glibc 2.39
https://sourceware.org/pipermail/libc-announce/2024/000038.html
Add the new version and rebase the patches we're carrying.
Signed-off-by: Chris Packham <judge.packham@gmail.com>
Diffstat (limited to 'packages/glibc')
-rw-r--r-- | packages/glibc/2.39/0000-Add-ARC700-support.patch | 73 | ||||
-rw-r--r-- | packages/glibc/2.39/0001-aarch64-configure-Pass-mcpu-along-with-march-to-dete.patch | 49 | ||||
-rw-r--r-- | packages/glibc/2.39/chksum | 12 | ||||
-rw-r--r-- | packages/glibc/2.39/version.desc | 0 |
4 files changed, 134 insertions, 0 deletions
diff --git a/packages/glibc/2.39/0000-Add-ARC700-support.patch b/packages/glibc/2.39/0000-Add-ARC700-support.patch new file mode 100644 index 00000000..dce7814e --- /dev/null +++ b/packages/glibc/2.39/0000-Add-ARC700-support.patch @@ -0,0 +1,73 @@ +From 19b9ec56fecfa50746660b535c78f8d3bfa4c6ec Mon Sep 17 00:00:00 2001 +From: Rosen Penev <rosenp@gmail.com> +Date: Sat, 13 Feb 2021 17:08:21 +0300 +Subject: [PATCH 1/2] 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 + diff --git a/packages/glibc/2.39/0001-aarch64-configure-Pass-mcpu-along-with-march-to-dete.patch b/packages/glibc/2.39/0001-aarch64-configure-Pass-mcpu-along-with-march-to-dete.patch new file mode 100644 index 00000000..24c925b0 --- /dev/null +++ b/packages/glibc/2.39/0001-aarch64-configure-Pass-mcpu-along-with-march-to-dete.patch @@ -0,0 +1,49 @@ +From 68d57fd288c47c3cec7b94e2b4f863e6b216d69d Mon Sep 17 00:00:00 2001 +From: Khem Raj <raj.khem@gmail.com> +Date: Fri, 4 Aug 2023 09:34:50 -0700 +Subject: [PATCH 2/2] aarch64/configure: Pass -mcpu along with -march to detect + sve support + +SVE support logic in configure is rightly passing -march=<arch>+sve to +compiler to override whatever user might have passed via environment, +however GCC does not do as intended when -mcpu is part of environment +compiler flags, then it overrides the -march computed from -mcpu and +igonores other -march values so this test fails for lot of aarch64 +machines which pass -mcpu that does not support sve. This is seemingly a +bug in GCC [1], until that is fixed we preempt -mcpu along with -march +in the configure test itself. It does not change functionality and yet +lets us through the GCC inconsistency. + +[1] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110901 + +Upstream-Status: Inappropriate [Workaround for a GCC issue] +Signed-off-by: Khem Raj <raj.khem@gmail.com> + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + sysdeps/aarch64/configure | 2 +- + sysdeps/aarch64/configure.ac | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +--- a/sysdeps/aarch64/configure ++++ b/sysdeps/aarch64/configure +@@ -327,7 +327,7 @@ + cat > conftest.s <<\EOF + ptrue p0.b + EOF +-if { ac_try='${CC-cc} -c -march=armv8.2-a+sve conftest.s 1>&5' ++if { ac_try='${CC-cc} -c -mcpu=generic+sve -march=armv8.2-a+sve conftest.s 1>&5' + { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5 + (eval $ac_try) 2>&5 + ac_status=$? +--- a/sysdeps/aarch64/configure.ac ++++ b/sysdeps/aarch64/configure.ac +@@ -92,7 +92,7 @@ + cat > conftest.s <<\EOF + ptrue p0.b + EOF +-if AC_TRY_COMMAND(${CC-cc} -c -march=armv8.2-a+sve conftest.s 1>&AS_MESSAGE_LOG_FD); then ++if AC_TRY_COMMAND(${CC-cc} -c -mcpu=generic+sve -march=armv8.2-a+sve conftest.s 1>&AS_MESSAGE_LOG_FD); then + libc_cv_aarch64_sve_asm=yes + else + libc_cv_aarch64_sve_asm=no diff --git a/packages/glibc/2.39/chksum b/packages/glibc/2.39/chksum new file mode 100644 index 00000000..d0a7467a --- /dev/null +++ b/packages/glibc/2.39/chksum @@ -0,0 +1,12 @@ +md5 glibc-2.39.tar.xz be81e87f72b5ea2c0ffe2bedfeb680c6 +sha1 glibc-2.39.tar.xz 4b043eaba31efbdfc92c85d062e975141870295e +sha256 glibc-2.39.tar.xz f77bd47cf8170c57365ae7bf86696c118adb3b120d3259c64c502d3dc1e2d926 +sha512 glibc-2.39.tar.xz 818f58172a52815b4338ea9f2a69ecaa3335492b9f8f64cbf8afb24c0d737982341968ecd79631cae3d3074ab0ae4bc6056fc4ba3ffe790849dc374835cd57e2 +md5 glibc-2.39.tar.bz2 2d1ce35f33fb178656c5476e2eb1bf77 +sha1 glibc-2.39.tar.bz2 36d07dbe46565d335ca8ee703d67b6ddc932adf2 +sha256 glibc-2.39.tar.bz2 fb15f9330b046fd6289b6ed77e0e16ed82031be8cc2d2b002f0b7cb7a693ada3 +sha512 glibc-2.39.tar.bz2 bbb1d5f2da5315a04ffc329a4b237a2bd03dd9677d19b7874ce4a8131b92511c44090d033256c41d76f5d5cbcc76e931223066d43a0c71a5e77a6264ddf05fa9 +md5 glibc-2.39.tar.gz 29e8ed9802e410a85750530cd3daf4d9 +sha1 glibc-2.39.tar.gz e3a8c54877bac53ba0defafe9c3e5202789733cf +sha256 glibc-2.39.tar.gz 97f84f3b7588cd54093a6f6389b0c1a81e70d99708d74963a2e3eab7c7dc942d +sha512 glibc-2.39.tar.gz ba07187610f660236ba4fbff06420f01ce5aa0138c9b5f0ee7ad6a8c2a178bf899a65a097a769d890813e50942c0c9f793ca8a63a2d13bfcef6e21a12486af3a diff --git a/packages/glibc/2.39/version.desc b/packages/glibc/2.39/version.desc new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/packages/glibc/2.39/version.desc |