[meta-zephyr,1/4] newlib: upgrade 2.4.0 -> 3.2.0

Submitted by Naveen Saini on Jan. 9, 2020, 9:23 a.m. | Patch ID: 168737

Details

Message ID 20200109092310.9730-1-naveen.kumar.saini@intel.com
State New
Headers show

Commit Message

Naveen Saini Jan. 9, 2020, 9:23 a.m.
Dropped the patches which are not required anymore.

Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
---
 .../newlib/gettimeofday-header-fix.patch      |  20 -
 .../newlib/newlib/iamcu-commit-5d3ad3b.patch  | 399 ------------------
 .../newlib/{newlib_2.%.bb => newlib_3.%.bb}   |  15 +-
 ...ewlib_2.%.bbappend => newlib_3.%.bbappend} |   0
 4 files changed, 6 insertions(+), 428 deletions(-)
 delete mode 100644 recipes-core/newlib/newlib/gettimeofday-header-fix.patch
 delete mode 100644 recipes-core/newlib/newlib/iamcu-commit-5d3ad3b.patch
 rename recipes-core/newlib/{newlib_2.%.bb => newlib_3.%.bb} (84%)
 rename recipes-core/newlib/{newlib_2.%.bbappend => newlib_3.%.bbappend} (100%)

Patch hide | download patch | download mbox

diff --git a/recipes-core/newlib/newlib/gettimeofday-header-fix.patch b/recipes-core/newlib/newlib/gettimeofday-header-fix.patch
deleted file mode 100644
index d1f9bf4..0000000
--- a/recipes-core/newlib/newlib/gettimeofday-header-fix.patch
+++ /dev/null
@@ -1,20 +0,0 @@ 
-
-newlib-2.4.0 regression.
-Export the prototype of gettimeofday
-
-Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
-
---- a/newlib/libc/include/sys/time.h	2016-03-29 14:33:42.000000000 -0700
-+++ b/newlib/libc/include/sys/time.h	2016-10-12 09:48:03.873642589 -0700
-@@ -429,9 +429,10 @@
- int _EXFUN(getitimer, (int __which, struct itimerval *__value));
- int _EXFUN(setitimer, (int __which, const struct itimerval *__restrict __value,
- 					struct itimerval *__restrict __ovalue));
-+#endif
-+
- int _EXFUN(gettimeofday, (struct timeval *__restrict __p,
- 			  void *__restrict __tz));
--#endif
- 
- #if __GNU_VISIBLE
- int _EXFUN(futimesat, (int, const char *, const struct timeval [2]));
diff --git a/recipes-core/newlib/newlib/iamcu-commit-5d3ad3b.patch b/recipes-core/newlib/newlib/iamcu-commit-5d3ad3b.patch
deleted file mode 100644
index f44aa07..0000000
--- a/recipes-core/newlib/newlib/iamcu-commit-5d3ad3b.patch
+++ /dev/null
@@ -1,399 +0,0 @@ 
-From 5d3ad3b123b7c121d7a6eac27fb13016171e27bc Mon Sep 17 00:00:00 2001
-From: Igor Venevtsev <igor.venevtsev@gmail.com>
-Date: Thu, 31 Mar 2016 12:12:00 +0300
-Subject: Add Intel MCU target
-
-Intel MCU System V ABI are incompartible with i386 System V ABI:
-    o Minimum instruction set is Intel Pentium ISA minus x87 instructions
-    o No x87 or vector registers
-    o First three args are passed in %eax, %edx and %ecx
-    o Full specification available here:
-      https://github.com/hjl-tools/x86-psABI/wiki/iamcu-psABI-0.7.pdf
-
-newlib/
-    * configure.host: Add new ix86-*-elfiamcu target
-
-newlib/libc/include/
-    * setjmp.h: Change _JBLEN for Intel MCU target
-
-newlib/libc/machine/i386/
-    * memchr.S:  (memchr)  Target-specific size-optimized version
-    * memcmp.S:  (memcmp)  Likewise
-    * memcpy.S:  (memcpy)  Likewise
-    * memmove.S: (memmove) Likewise
-    * memset.S:  (memset)  Likewise
-    * setjmp.S:  (setjmp)  Likewise
-    * strchr.S:  (strchr)  Likewise
-    * strlen.S:  (strlen)  Likewise
-
-newlib/libc/stdlib/
-    * srtold.c:  (__flt_rounds) Disable for Intel MCU
-
-diff --git a/newlib/configure.host b/newlib/configure.host
-index 8b0846e..bb163ec 100644
---- a/newlib/configure.host
-+++ b/newlib/configure.host
-@@ -696,6 +696,15 @@ case "${host}" in
-   i[34567]86-*-netware*)
- 	newlib_cflags="${newlib_cflags} -DMISSING_SYSCALL_NAMES -DNO_EXEC -DABORT_PROVIDED -DCLOCK_PROVIDED -DMALLOC_PROVIDED -DHAVE_FCNTL"
- 	;;
-+  i[3-7]86-*-elfiamcu)
-+	newlib_cflags="${newlib_cflags} -Os -DPREFER_SIZE_OVER_SPEED -ffunction-sections -fomit-frame-pointer -DREENTRANT_SYSCALL_PROVIDED"
-+	if [ "${newlib_multithread}" = "no" ] ; then
-+		newlib_cflags="${newlib_cflags} -DMISSING_SYSCALL_NAMES"
-+	else
-+		syscall_dir=syscalls
-+		newlib_cflags="${newlib_cflags} -D__DYNAMIC_REENT__"
-+	fi
-+	;;
-   iq2000*)
- 	syscall_dir=syscalls
- 	default_newlib_io_long_long="yes"
-diff --git a/newlib/libc/include/machine/setjmp.h b/newlib/libc/include/machine/setjmp.h
-index c08e682..2b4dd8b 100644
---- a/newlib/libc/include/machine/setjmp.h
-+++ b/newlib/libc/include/machine/setjmp.h
-@@ -92,6 +92,9 @@ _BEGIN_STD_C
- #  define _JBLEN (13 * 4)
- # elif defined(__unix__) || defined(__rtems__)
- #  define _JBLEN	9
-+# elif defined(__iamcu__)
-+/* Intel MCU jmp_buf only covers callee-saved registers. */
-+#  define _JBLEN	6
- # else
- #  include "setjmp-dj.h"
- # endif
-diff --git a/newlib/libc/machine/i386/memchr.S b/newlib/libc/machine/i386/memchr.S
-index 7639685..d9b0bf2 100644
---- a/newlib/libc/machine/i386/memchr.S
-+++ b/newlib/libc/machine/i386/memchr.S
-@@ -14,13 +14,33 @@
-        SOTYPE_FUNCTION(memchr)
- 
- SYM (memchr):
-+#ifdef __iamcu__
-+	pushl	edi
-+	movl	eax,edi
-+	movl	edx,eax
-+	xorl	edx,edx
-+	testl	ecx,ecx
-+	jz	L20
-+
-+	repnz
-+	scasb
-+
-+	setnz	dl
-+	decl	edi
-+
-+	decl	edx
-+	andl	edi,edx
-+L20:
-+	movl	edx,eax
-+
-+	popl	edi
-+#else
- 	pushl	ebp
- 	movl	esp,ebp
- 	pushl	edi
- 	movzbl	12(ebp),eax
- 	movl	16(ebp),ecx
- 	movl	8(ebp),edi
--
- 	xorl	edx,edx
- 	testl	ecx,ecx
- 	jz	L20
-@@ -111,4 +131,5 @@ L20:
- 	leal	-4(ebp),esp
- 	popl	edi
- 	leave
-+#endif
- 	ret
-diff --git a/newlib/libc/machine/i386/memcmp.S b/newlib/libc/machine/i386/memcmp.S
-index 26b8ef1..4a01b82 100644
---- a/newlib/libc/machine/i386/memcmp.S
-+++ b/newlib/libc/machine/i386/memcmp.S
-@@ -15,6 +15,33 @@
- 
- SYM (memcmp):
- 
-+#ifdef __iamcu__
-+	pushl edi
-+	pushl esi
-+	movl eax,edi
-+	movl edx,esi
-+	cld
-+
-+/* check if length is zero in which case just return 0 */
-+
-+	xorl eax,eax
-+	testl ecx,ecx
-+	jz L4
-+
-+/* compare any unaligned bytes or remainder bytes */
-+	repz
-+	cmpsb
-+
-+/* set output to be < 0 if less than, 0 if equal, or > 0 if greater than */
-+	xorl edx,edx
-+	movb -1(esi),dl
-+	movb -1(edi),al
-+	subl edx,eax
-+
-+L4:
-+	popl esi
-+	popl edi
-+#else
- 	pushl ebp
- 	movl esp,ebp
- 	subl $16,esp
-@@ -73,4 +100,5 @@ L4:
- 	popl edi
- 	popl ebx
- 	leave
-+#endif
- 	ret
-diff --git a/newlib/libc/machine/i386/memcpy.S b/newlib/libc/machine/i386/memcpy.S
-index b53e2a1..a14aa2a 100644
---- a/newlib/libc/machine/i386/memcpy.S
-+++ b/newlib/libc/machine/i386/memcpy.S
-@@ -15,6 +15,17 @@
- 
- SYM (memcpy):
- 
-+#ifdef __iamcu__
-+	pushl esi
-+	pushl edi
-+	movl eax,edi
-+	movl edx,esi
-+
-+	rep movsb
-+
-+	popl edi
-+	popl esi
-+#else
- 	pushl ebp
- 	movl esp,ebp
- 	pushl esi
-@@ -71,4 +82,5 @@ SYM (memcpy):
- 	popl edi
- 	popl esi
- 	leave
-+#endif
- 	ret
-diff --git a/newlib/libc/machine/i386/memmove.S b/newlib/libc/machine/i386/memmove.S
-index 1ea2f6d..1026582 100644
---- a/newlib/libc/machine/i386/memmove.S
-+++ b/newlib/libc/machine/i386/memmove.S
-@@ -15,6 +15,32 @@
- 
- SYM (memmove):
- 
-+#ifdef __iamcu__
-+	pushl esi
-+	pushl edi
-+	movl eax,edi
-+	movl edx,esi
-+	cmp esi,edi
-+	ja .Lcopy_backward
-+	je .Lbwd_write_0bytes
-+
-+	rep movsb
-+
-+	popl edi
-+	popl esi
-+	ret
-+
-+.Lcopy_backward:
-+	lea -1(edi,ecx),edi
-+	lea -1(esi,ecx),esi
-+	std
-+	rep movsb
-+	cld
-+
-+.Lbwd_write_0bytes:
-+	popl edi
-+	popl esi
-+#else
- 	pushl ebp
- 	movl esp,ebp
- 	pushl esi
-@@ -143,4 +169,5 @@ SYM (memmove):
- 	popl edi
- 	popl esi
- 	leave
-+#endif
- 	ret
-diff --git a/newlib/libc/machine/i386/memset.S b/newlib/libc/machine/i386/memset.S
-index 6eb2cd6..83b2556 100644
---- a/newlib/libc/machine/i386/memset.S
-+++ b/newlib/libc/machine/i386/memset.S
-@@ -15,6 +15,15 @@
- 
- SYM (memset):
- 
-+#ifdef __iamcu__
-+	pushl edi
-+	movl eax,edi
-+	movzbl dl,eax
-+	mov edi,edx
-+	rep stosb
-+	mov edx,eax
-+	popl edi
-+#else
- 	pushl ebp
- 	movl esp,ebp
- 	pushl edi
-@@ -96,4 +105,5 @@ SYM (memset):
- 	leal -4(ebp),esp
- 	popl edi
- 	leave
-+#endif
- 	ret
-diff --git a/newlib/libc/machine/i386/setjmp.S b/newlib/libc/machine/i386/setjmp.S
-index fd746e4..45c689f 100644
---- a/newlib/libc/machine/i386/setjmp.S
-+++ b/newlib/libc/machine/i386/setjmp.S
-@@ -20,6 +20,10 @@
-  **	jmp_buf:
-  **	 eax ebx ecx edx esi edi ebp esp eip
-  **	 0   4   8   12  16  20  24  28  32
-+ **
-+ **	Intel MCU jmp_buf:
-+ **	 ebx esi edi ebp esp eip
-+ **	 0   4   8   12  16  20
-  */
- 
-        #include "i386mach.h"
-@@ -31,6 +35,23 @@
-  
- SYM (setjmp):
- 
-+#ifdef __iamcu__
-+	/* Store EIP.  */
-+	movl	0(esp),ecx
-+	movl	ecx,20(eax)
-+
-+	movl	ebx,0 (eax)
-+	movl	esi,4 (eax)
-+	movl	edi,8 (eax)
-+	movl	ebp,12(eax)
-+
-+	/* Skip return address, which will be pushed onto stack in
-+	   longjmp, and store SP.  */
-+	leal	4(esp),ecx
-+	movl	ecx,16(eax)
-+
-+	xorl	eax,eax
-+#else
- 	pushl	ebp
- 	movl	esp,ebp
- 
-@@ -59,9 +80,28 @@ SYM (setjmp):
- 	popl	edi
- 	movl	$0,eax
- 	leave
-+#endif
- 	ret
- 
- SYM (longjmp):
-+#ifdef __iamcu__
-+	/* Check retval.  */
-+	testl	edx,edx
-+	jne	0f
-+	incl	edx
-+0:
-+	/* Restore stack first.  */
-+	movl	16(eax),esp
-+
-+	/* Put return address on stack.  */
-+	pushl	20(eax)
-+
-+	movl	0(eax),ebx
-+	movl	4(eax),esi
-+	movl	8(eax),edi
-+	movl	12(eax),ebp
-+	movl	edx,eax
-+#else
- 	pushl	ebp
- 	movl	esp,ebp
- 
-@@ -87,5 +127,6 @@ SYM (longjmp):
- 	movl	16(edi),esi
- 	movl	20(edi),edi
-        __STI
-+#endif
- 
- 	ret
-diff --git a/newlib/libc/machine/i386/strchr.S b/newlib/libc/machine/i386/strchr.S
-index 1d98b81..43ee0fb 100644
---- a/newlib/libc/machine/i386/strchr.S
-+++ b/newlib/libc/machine/i386/strchr.S
-@@ -15,6 +15,29 @@
- 
- SYM (strchr):
- 
-+#ifdef __iamcu__
-+	xorl ecx,ecx
-+	movb dl,cl
-+
-+/* loop while (*s && *s++ != c) */
-+	leal -1(eax),eax
-+L15:
-+	incl eax
-+	movb (eax),dl
-+	testb dl,dl
-+	je L14
-+	cmpb cl,dl
-+	jne L15
-+
-+L14:
-+/*  if (*s == c) return address otherwise return NULL */
-+	cmpb cl,(eax)
-+	je L19
-+	xorl eax,eax
-+
-+L19:
-+	ret
-+#else
- 	pushl ebp
- 	movl esp,ebp
- 	pushl edi
-@@ -170,3 +193,5 @@ L27:
- 	jmp L9
- 
- #endif /* !__OPTIMIZE_SIZE__ */
-+
-+#endif /* __iamcu__ */
-diff --git a/newlib/libc/machine/i386/strlen.S b/newlib/libc/machine/i386/strlen.S
-index 0e3cb64..373ea0f 100644
---- a/newlib/libc/machine/i386/strlen.S
-+++ b/newlib/libc/machine/i386/strlen.S
-@@ -18,9 +18,13 @@ SYM (strlen):
- 	pushl ebp
- 	movl esp,ebp
- 	pushl edi
-+#ifdef __iamcu__
-+	movl eax,edx
-+#else
- 	movl 8(ebp),edx
-+#endif
- 
--#ifdef __OPTIMIZE_SIZE__
-+#if defined __OPTIMIZE_SIZE__ || defined __iamcu__
- 	cld
- 	movl edx,edi
- 	movl $4294967295,ecx
-diff --git a/newlib/libc/stdlib/strtold.c b/newlib/libc/stdlib/strtold.c
-index a6d415d..1128b74 100644
---- a/newlib/libc/stdlib/strtold.c
-+++ b/newlib/libc/stdlib/strtold.c
-@@ -35,7 +35,8 @@ POSSIBILITY OF SUCH DAMAGE.
- 
- #ifdef _HAVE_LONG_DOUBLE
- 
--#if defined (__x86_64__) || defined (__i386__)
-+/* Intel MCU has no x87 floating point unit */
-+#if (defined (__x86_64__) || defined (__i386__)) && !defined (__iamcu__)
- static const int map[] = {
-         1,      /* round to nearest */
-         3,      /* round to zero */
diff --git a/recipes-core/newlib/newlib_2.%.bb b/recipes-core/newlib/newlib_3.%.bb
similarity index 84%
rename from recipes-core/newlib/newlib_2.%.bb
rename to recipes-core/newlib/newlib_3.%.bb
index 77b5184..b081794 100644
--- a/recipes-core/newlib/newlib_2.%.bb
+++ b/recipes-core/newlib/newlib_3.%.bb
@@ -2,24 +2,21 @@  HOMEPAGE = "https://sourceware.org/newlib/"
 SUMMARY = "C library for embedded systems"
 DESCRIPTION = "Newlib is a conglomeration of several library parts, all under free software licenses that make them easily usable on embedded products."
 
-PV = "2.4.0"
+PV = "3.2.0"
 
-LICENSE = "GPLv2 & LGPLv3 & GPLv3 & LGPLv2"
+LICENSE = "GPLv2 & LGPLv3 & GPLv3 & LGPLv2 & BSD-2-Clause"
 LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 \
                     file://COPYING3.LIB;md5=6a6a8e020838b23406c81b19c1d46df6 \
                     file://COPYING3;md5=d32239bcb673463ab874e80d47fae504 \
-                    file://COPYING.LIBGLOSS;md5=73f5c98779aea7dba4a6c94a74ab0ae2 \
+                    file://COPYING.LIBGLOSS;md5=54b778d585443cd7fbfa1b47cbd63a89 \
                     file://COPYING.LIB;md5=2d5025d4aa3495befef8f17206a5b0a1 \
-                    file://COPYING.NEWLIB;md5=fced02ba02d66f274d4847d27e80af74 \
+                    file://COPYING.NEWLIB;md5=ac17c68751aad7a5298ce3f249121070 \
                     file://newlib/libc/posix/COPYRIGHT;md5=103468ff1982be840fdf4ee9f8b51bbf \
                     file://newlib/libc/sys/linux/linuxthreads/LICENSE;md5=73640207fbc79b198c7ffd4ad4d97aa0"
 
 SRC_URI = "ftp://sourceware.org/pub/newlib/newlib-${PV}.tar.gz"
-SRC_URI[md5sum] = "37c07a65c6effdb4822fb6f83067f37e"
-SRC_URI[sha256sum] = "545b3d235e350d2c61491df8b9f775b1b972f191380db8f52ec0b1c829c52706"
-SRC_URI += "file://gettimeofday-header-fix.patch"
-SRC_URI += "file://assert-fiprintf.patch"
-SRC_URI += "file://iamcu-commit-5d3ad3b.patch"
+SRC_URI[md5sum] = "afb3a01c8c82b6717ea55659a4de30ec"
+SRC_URI[sha256sum] = "f7b2322964a1e3b37bec0768da20f50dfb62247d729110974dd95756a53bb6d4"
 
 S = "${WORKDIR}/newlib-${PV}"
 
diff --git a/recipes-core/newlib/newlib_2.%.bbappend b/recipes-core/newlib/newlib_3.%.bbappend
similarity index 100%
rename from recipes-core/newlib/newlib_2.%.bbappend
rename to recipes-core/newlib/newlib_3.%.bbappend