diff --git a/Modify-neon-instruction.patch b/Modify-neon-instruction.patch deleted file mode 100644 index 33dfa17e667ec758f97e975db61ca85646081f90..0000000000000000000000000000000000000000 --- a/Modify-neon-instruction.patch +++ /dev/null @@ -1,144 +0,0 @@ -From 48c25d7907a6909ed92db94da6d52ae3ca91f17e Mon Sep 17 00:00:00 2001 -From: 15859157387 <977713017@qq.com> -Date: Wed, 6 Sep 2023 09:10:25 +0800 -Subject: [PATCH] modify 2d to d - ---- - newlib/libc/machine/aarch64/memchr.S | 6 +++--- - newlib/libc/machine/aarch64/strchr.S | 6 +++--- - newlib/libc/machine/aarch64/strchrnul.S | 6 +++--- - newlib/libc/machine/aarch64/strrchr.S | 10 +++++----- - 4 files changed, 14 insertions(+), 14 deletions(-) - -diff --git a/newlib/libc/machine/aarch64/memchr.S b/newlib/libc/machine/aarch64/memchr.S -index 53f5d6b..81fcecc 100644 ---- a/newlib/libc/machine/aarch64/memchr.S -+++ b/newlib/libc/machine/aarch64/memchr.S -@@ -110,7 +110,7 @@ def_fn memchr - and vhas_chr2.16b, vhas_chr2.16b, vrepmask.16b - addp vend.16b, vhas_chr1.16b, vhas_chr2.16b /* 256->128 */ - addp vend.16b, vend.16b, vend.16b /* 128->64 */ -- mov synd, vend.2d[0] -+ mov synd, vend.d[0] - /* Clear the soff*2 lower bits */ - lsl tmp, soff, #1 - lsr synd, synd, tmp -@@ -130,7 +130,7 @@ def_fn memchr - /* Use a fast check for the termination condition */ - orr vend.16b, vhas_chr1.16b, vhas_chr2.16b - addp vend.2d, vend.2d, vend.2d -- mov synd, vend.2d[0] -+ mov synd, vend.d[0] - /* We're not out of data, loop if we haven't found the character */ - cbz synd, .Lloop - -@@ -140,7 +140,7 @@ def_fn memchr - and vhas_chr2.16b, vhas_chr2.16b, vrepmask.16b - addp vend.16b, vhas_chr1.16b, vhas_chr2.16b /* 256->128 */ - addp vend.16b, vend.16b, vend.16b /* 128->64 */ -- mov synd, vend.2d[0] -+ mov synd, vend.d[0] - /* Only do the clear for the last possible block */ - b.hi .Ltail - -diff --git a/newlib/libc/machine/aarch64/strchr.S b/newlib/libc/machine/aarch64/strchr.S -index 2448dbc..7061078 100644 ---- a/newlib/libc/machine/aarch64/strchr.S -+++ b/newlib/libc/machine/aarch64/strchr.S -@@ -117,7 +117,7 @@ def_fn strchr - addp vend1.16b, vend1.16b, vend2.16b // 128->64 - lsr tmp1, tmp3, tmp1 - -- mov tmp3, vend1.2d[0] -+ mov tmp3, vend1.d[0] - bic tmp1, tmp3, tmp1 // Mask padding bits. - cbnz tmp1, .Ltail - -@@ -132,7 +132,7 @@ def_fn strchr - orr vend2.16b, vhas_nul2.16b, vhas_chr2.16b - orr vend1.16b, vend1.16b, vend2.16b - addp vend1.2d, vend1.2d, vend1.2d -- mov tmp1, vend1.2d[0] -+ mov tmp1, vend1.d[0] - cbz tmp1, .Lloop - - /* Termination condition found. Now need to establish exactly why -@@ -146,7 +146,7 @@ def_fn strchr - addp vend1.16b, vend1.16b, vend2.16b // 256->128 - addp vend1.16b, vend1.16b, vend2.16b // 128->64 - -- mov tmp1, vend1.2d[0] -+ mov tmp1, vend1.d[0] - .Ltail: - /* Count the trailing zeros, by bit reversing... */ - rbit tmp1, tmp1 -diff --git a/newlib/libc/machine/aarch64/strchrnul.S b/newlib/libc/machine/aarch64/strchrnul.S -index a0ac13b..fd2002f 100644 ---- a/newlib/libc/machine/aarch64/strchrnul.S -+++ b/newlib/libc/machine/aarch64/strchrnul.S -@@ -109,7 +109,7 @@ def_fn strchrnul - addp vend1.16b, vend1.16b, vend1.16b // 128->64 - lsr tmp1, tmp3, tmp1 - -- mov tmp3, vend1.2d[0] -+ mov tmp3, vend1.d[0] - bic tmp1, tmp3, tmp1 // Mask padding bits. - cbnz tmp1, .Ltail - -@@ -124,7 +124,7 @@ def_fn strchrnul - orr vhas_chr2.16b, vhas_nul2.16b, vhas_chr2.16b - orr vend1.16b, vhas_chr1.16b, vhas_chr2.16b - addp vend1.2d, vend1.2d, vend1.2d -- mov tmp1, vend1.2d[0] -+ mov tmp1, vend1.d[0] - cbz tmp1, .Lloop - - /* Termination condition found. Now need to establish exactly why -@@ -134,7 +134,7 @@ def_fn strchrnul - addp vend1.16b, vhas_chr1.16b, vhas_chr2.16b // 256->128 - addp vend1.16b, vend1.16b, vend1.16b // 128->64 - -- mov tmp1, vend1.2d[0] -+ mov tmp1, vend1.d[0] - .Ltail: - /* Count the trailing zeros, by bit reversing... */ - rbit tmp1, tmp1 -diff --git a/newlib/libc/machine/aarch64/strrchr.S b/newlib/libc/machine/aarch64/strrchr.S -index d64fc09..1b6f075 100644 ---- a/newlib/libc/machine/aarch64/strrchr.S -+++ b/newlib/libc/machine/aarch64/strrchr.S -@@ -120,10 +120,10 @@ def_fn strrchr - addp vhas_chr1.16b, vhas_chr1.16b, vhas_chr2.16b // 256->128 - addp vhas_nul1.16b, vhas_nul1.16b, vhas_nul1.16b // 128->64 - addp vhas_chr1.16b, vhas_chr1.16b, vhas_chr1.16b // 128->64 -- mov nul_match, vhas_nul1.2d[0] -+ mov nul_match, vhas_nul1.d[0] - lsl tmp1, tmp1, #1 - mov const_m1, #~0 -- mov chr_match, vhas_chr1.2d[0] -+ mov chr_match, vhas_chr1.d[0] - lsr tmp3, const_m1, tmp1 - - bic nul_match, nul_match, tmp3 // Mask padding bits. -@@ -146,15 +146,15 @@ def_fn strrchr - addp vhas_chr1.16b, vhas_chr1.16b, vhas_chr2.16b // 256->128 - addp vend1.16b, vend1.16b, vend1.16b // 128->64 - addp vhas_chr1.16b, vhas_chr1.16b, vhas_chr1.16b // 128->64 -- mov nul_match, vend1.2d[0] -- mov chr_match, vhas_chr1.2d[0] -+ mov nul_match, vend1.d[0] -+ mov chr_match, vhas_chr1.d[0] - cbz nul_match, .Lloop - - and vhas_nul1.16b, vhas_nul1.16b, vrepmask_0.16b - and vhas_nul2.16b, vhas_nul2.16b, vrepmask_0.16b - addp vhas_nul1.16b, vhas_nul1.16b, vhas_nul2.16b - addp vhas_nul1.16b, vhas_nul1.16b, vhas_nul1.16b -- mov nul_match, vhas_nul1.2d[0] -+ mov nul_match, vhas_nul1.d[0] - - .Ltail: - /* Work out exactly where the string ends. */ --- -2.27.0 - diff --git a/fix-CVE-2024-30949.patch b/fix-CVE-2024-30949.patch deleted file mode 100644 index 2363591c4ecfbc285dc86f447125a01e55d7ca33..0000000000000000000000000000000000000000 --- a/fix-CVE-2024-30949.patch +++ /dev/null @@ -1,54 +0,0 @@ -From 5f15d7c5817b07a6b18cbab17342c95cb7b42be4 Mon Sep 17 00:00:00 2001 -From: Kuan-Wei Chiu -Date: Fri, 20 Sep 2024 12:44:40 +0800 -Subject: [PATCH] fix CVE-2024-30949 - -RISC-V: Fix timeval conversion in _gettimeofday() - -Replace multiplication with division for microseconds calculation from -nanoseconds in _gettimeofday function. - ---- - libgloss/riscv/sys_gettimeofday.c | 23 ++++++++++++++++++++++- - 1 file changed, 22 insertions(+), 1 deletion(-) - -diff --git a/libgloss/riscv/sys_gettimeofday.c b/libgloss/riscv/sys_gettimeofday.c -index 457dcbc..5379a89 100644 ---- a/libgloss/riscv/sys_gettimeofday.c -+++ b/libgloss/riscv/sys_gettimeofday.c -@@ -1,10 +1,31 @@ - #include - #include -+#include - #include "internal_syscall.h" - - /* Get the current time. Only relatively correct. */ - int - _gettimeofday(struct timeval *tp, void *tzp) - { -- return syscall_errno (SYS_gettimeofday, tp, 0, 0, 0, 0, 0); -+#if __riscv_xlen == 32 -+ struct __timespec64 -+ { -+ int64_t tv_sec; /* Seconds */ -+# if BYTE_ORDER == BIG_ENDIAN -+ int32_t __padding; /* Padding */ -+ int32_t tv_nsec; /* Nanoseconds */ -+# else -+ int32_t tv_nsec; /* Nanoseconds */ -+ int32_t __padding; /* Padding */ -+# endif -+ }; -+ struct __timespec64 ts64; -+ int rv; -+ rv = syscall_errno (SYS_clock_gettime64, 2, 0, (long)&ts64, 0, 0, 0, 0); -+ tp->tv_sec = ts64.tv_sec; -+ tp->tv_usec = ts64.tv_nsec / 1000; -+ return rv; -+#else -+ return syscall_errno (SYS_gettimeofday, 1, tp, 0, 0, 0, 0, 0); -+#endif - } --- -2.43.0 - diff --git a/newlib-3.3.0.tar.gz b/newlib-4.5.0.20241231.tar.gz similarity index 39% rename from newlib-3.3.0.tar.gz rename to newlib-4.5.0.20241231.tar.gz index 2f51b83a7c197f886c9abd5163dcece46c77c5a3..17cb831716b9ac59294bc483e50fa3b3bad47d06 100644 Binary files a/newlib-3.3.0.tar.gz and b/newlib-4.5.0.20241231.tar.gz differ diff --git a/newlib.spec b/newlib.spec index fbac1722ca32c2c504ce367db6868ac7a96ab2f8..8dd0d5d4b8732cad5cab72b60b83c5afa3a35513 100644 --- a/newlib.spec +++ b/newlib.spec @@ -2,16 +2,13 @@ %global _newlib newlib %global __brp_remove_info_dir %{nil} Name: newlib -Version: 3.3.0 -Release: 6 +Version: 4.5.0 +Release: 1 Summary: Newlib is a C library intended for use on embedded systems. License: BSD URL: https://sourceware.org/newlib/ -Source0: ftp://sourceware.org/pub/newlib/newlib-%{version}.tar.gz - -Patch01: Modify-neon-instruction.patch -Patch02: fix-CVE-2024-30949.patch +Source0: ftp://sourceware.org/pub/newlib/newlib-4.5.0.20241231.tar.gz BuildRequires: make gcc binutils texinfo texinfo-tex Excludearch: loongarch64 @@ -24,7 +21,7 @@ usable on embedded products. %prep -%autosetup -p1 +%autosetup -p1 -n %{name}-4.5.0.20241231 %build @@ -65,6 +62,9 @@ cd .. %changelog +* Thu Nov 06 2025 laokz - 4.5.0-1 +- upgrade to 4.5.0 + * Wed Feb 12 2025 Funda Wang - 3.3.0-6 - do not remove info/dir by default