summaryrefslogtreecommitdiff
path: root/packages/newlib/3.0.0
diff options
context:
space:
mode:
Diffstat (limited to 'packages/newlib/3.0.0')
-rw-r--r--packages/newlib/3.0.0/0000-fix-unaligned-access-memcpy-m68k.patch25
-rw-r--r--packages/newlib/3.0.0/0001-fix-mt-cflags.patch13
-rw-r--r--packages/newlib/3.0.0/0002-stupid-typo.patch23
-rw-r--r--packages/newlib/3.0.0/0003-revert-bad-va_list-use.patch80
-rw-r--r--packages/newlib/3.0.0/chksum4
-rw-r--r--packages/newlib/3.0.0/version.desc1
6 files changed, 146 insertions, 0 deletions
diff --git a/packages/newlib/3.0.0/0000-fix-unaligned-access-memcpy-m68k.patch b/packages/newlib/3.0.0/0000-fix-unaligned-access-memcpy-m68k.patch
new file mode 100644
index 0000000..b6709d5
--- /dev/null
+++ b/packages/newlib/3.0.0/0000-fix-unaligned-access-memcpy-m68k.patch
@@ -0,0 +1,25 @@
+The m68k mcpu processor does not like unaligned access
+
+Disable at least mcpu32, m68010 and m68020. These processors certainly
+do not like unaligned accesses.
+
+Signed-off-by: Remy Bohmer <linux@bohmer.net>
+[yann.morin.1998@anciens.enib.fr: update for 1.19.0 from 1.18.0]
+Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
+[austinpmorton@gmail.com: update for 1.20.0 from 1.19.0]
+Signed-off-by: Austin Morton <austinpmorton@gmail.com>
+---
+ newlib/libc/machine/m68k/memcpy.S | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/newlib/libc/machine/m68k/memcpy.S
++++ b/newlib/libc/machine/m68k/memcpy.S
+@@ -15,7 +15,7 @@
+
+ #include "m68kasm.h"
+
+-#if defined (__mcoldfire__) || defined (__mc68010__) || defined (__mc68020__) || defined (__mc68030__) || defined (__mc68040__) || defined (__mc68060__)
++#if defined (__mcoldfire__) || defined (__mc68030__) || defined (__mc68040__) || defined (__mc68060__)
+ # define MISALIGNED_OK 1
+ #else
+ # define MISALIGNED_OK 0
diff --git a/packages/newlib/3.0.0/0001-fix-mt-cflags.patch b/packages/newlib/3.0.0/0001-fix-mt-cflags.patch
new file mode 100644
index 0000000..24a9215
--- /dev/null
+++ b/packages/newlib/3.0.0/0001-fix-mt-cflags.patch
@@ -0,0 +1,13 @@
+---
+ config/mt-d30v | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+--- a/config/mt-d30v
++++ b/config/mt-d30v
+@@ -1,4 +1,4 @@
+ # Build libraries optimizing for space, not speed.
+ # Turn off warnings about symbols named the same as registers
+- CFLAGS_FOR_TARGET = -g -Os -Wa,-C
+- CXXFLAGS_FOR_TARGET = -g -Os -Wa,-C
++ CFLAGS_FOR_TARGET += -g -Os -Wa,-C
++ CXXFLAGS_FOR_TARGET += -g -Os -Wa,-C
diff --git a/packages/newlib/3.0.0/0002-stupid-typo.patch b/packages/newlib/3.0.0/0002-stupid-typo.patch
new file mode 100644
index 0000000..6607509
--- /dev/null
+++ b/packages/newlib/3.0.0/0002-stupid-typo.patch
@@ -0,0 +1,23 @@
+commit b7e0f286a2ecab3b687ec9b3f95f5a88b9f85310
+Author: Orlando Arias <oarias@knights.ucf.edu>
+Date: Fri Jan 19 11:45:01 2018 -0500
+
+ Fix syntax error in exit.c
+
+ This patch fixes a syntax error in exit.c that was introduced during the
+ ANSI-fication of newlib. The patch fixes a compile-time issue that arises when
+ newlib is configured with the --enable-lite-exit feature.
+
+diff --git a/newlib/libc/stdlib/exit.c b/newlib/libc/stdlib/exit.c
+index 95108ade6..3e618914e 100644
+--- a/newlib/libc/stdlib/exit.c
++++ b/newlib/libc/stdlib/exit.c
+@@ -54,7 +54,7 @@ exit (int code)
+ {
+ #ifdef _LITE_EXIT
+ /* Refer to comments in __atexit.c for more details of lite exit. */
+- void __call_exitprocs (int, void *)) __attribute__((weak);
++ void __call_exitprocs (int, void *) __attribute__((weak));
+ if (__call_exitprocs)
+ #endif
+ __call_exitprocs (code, NULL);
diff --git a/packages/newlib/3.0.0/0003-revert-bad-va_list-use.patch b/packages/newlib/3.0.0/0003-revert-bad-va_list-use.patch
new file mode 100644
index 0000000..82a8fb6
--- /dev/null
+++ b/packages/newlib/3.0.0/0003-revert-bad-va_list-use.patch
@@ -0,0 +1,80 @@
+Revert the commit below. A better solution is being discussed on newlib's mailing list.
+
+commit fcd33916ac03086b9090c68e88036afa4b25d913
+Author: Alexander Fedotov <alfedotov@gmail.com>
+Date: Mon Dec 25 16:28:22 2017 +0300
+
+ fix incompatible pointer type for va_list in nano versions of printf and scanf for target like PowerPC
+
+diff --git b/newlib/libc/stdio/nano-vfprintf.c a/newlib/libc/stdio/nano-vfprintf.c
+index 663eb7149..e6604e771 100644
+--- b/newlib/libc/stdio/nano-vfprintf.c
++++ a/newlib/libc/stdio/nano-vfprintf.c
+@@ -168,16 +168,6 @@ static char *rcsid = "$Id$";
+ #include "vfieeefp.h"
+ #include "nano-vfprintf_local.h"
+
+-
+-/* GCC PR 14577 at https://gcc.gnu.org/bugzilla/show_bug.cgi?id=14557 */
+-#if __STDC_VERSION__ >= 201112L
+-#define va_ptr(ap) _Generic(&(ap), va_list *: &(ap), default: (va_list *)(ap))
+-#elif __GNUC__ >= 4
+-#define va_ptr(ap) __builtin_choose_expr(__builtin_types_compatible_p(__typeof__(&(ap)), va_list *), &(ap), (va_list *)(ap))
+-#else
+-#define va_ptr(ap) (sizeof(ap) == sizeof(va_list) ? (va_list *)&(ap) : (va_list *)(ap))
+-#endif
+-
+ /* The __ssputs_r function is shared between all versions of vfprintf
+ and vfwprintf. */
+ #ifdef STRING_ONLY
+@@ -643,12 +633,12 @@ _DEFUN(_VFPRINTF_R, (data, fp, fmt0, ap),
+ }
+ else
+ {
+- n = _printf_float (data, &prt_data, fp, pfunc, va_ptr(ap));
++ n = _printf_float (data, &prt_data, fp, pfunc, &ap);
+ }
+ }
+ else
+ #endif
+- n = _printf_i (data, &prt_data, fp, pfunc, va_ptr(ap));
++ n = _printf_i (data, &prt_data, fp, pfunc, &ap);
+
+ if (n == -1)
+ goto error;
+diff --git b/newlib/libc/stdio/nano-vfscanf.c a/newlib/libc/stdio/nano-vfscanf.c
+index 6467e5425..564f2916d 100644
+--- b/newlib/libc/stdio/nano-vfscanf.c
++++ a/newlib/libc/stdio/nano-vfscanf.c
+@@ -119,15 +119,6 @@ Supporting OS subroutines required:
+ #include "../stdlib/local.h"
+ #include "nano-vfscanf_local.h"
+
+-/* GCC PR 14577 at https://gcc.gnu.org/bugzilla/show_bug.cgi?id=14557 */
+-#if __STDC_VERSION__ >= 201112L
+-#define va_ptr(ap) _Generic(&(ap), va_list *: &(ap), default: (va_list *)(ap))
+-#elif __GNUC__ >= 4
+-#define va_ptr(ap) __builtin_choose_expr(__builtin_types_compatible_p(__typeof__(&(ap)), va_list *), &(ap), (va_list *)(ap))
+-#else
+-#define va_ptr(ap) (sizeof(ap) == sizeof(va_list) ? (va_list *)&(ap) : (va_list *)(ap))
+-#endif
+-
+ #define VFSCANF vfscanf
+ #define _VFSCANF_R _vfscanf_r
+ #define __SVFSCANF __svfscanf
+@@ -433,12 +424,12 @@ _DEFUN(__SVFSCANF_R, (rptr, fp, fmt0, ap),
+ }
+ ret = 0;
+ if (scan_data.code < CT_INT)
+- ret = _scanf_chars (rptr, &scan_data, fp, va_ptr(ap));
++ ret = _scanf_chars (rptr, &scan_data, fp, &ap);
+ else if (scan_data.code < CT_FLOAT)
+- ret = _scanf_i (rptr, &scan_data, fp, va_ptr(ap));
++ ret = _scanf_i (rptr, &scan_data, fp, &ap);
+ #ifdef FLOATING_POINT
+ else if (_scanf_float)
+- ret = _scanf_float (rptr, &scan_data, fp, va_ptr(ap));
++ ret = _scanf_float (rptr, &scan_data, fp, &ap);
+ #endif
+
+ if (ret == MATCH_FAILURE)
diff --git a/packages/newlib/3.0.0/chksum b/packages/newlib/3.0.0/chksum
new file mode 100644
index 0000000..4da4e03
--- /dev/null
+++ b/packages/newlib/3.0.0/chksum
@@ -0,0 +1,4 @@
+md5 newlib-3.0.0.tar.gz 81ec873108b8593c586f91ca65963952
+sha1 newlib-3.0.0.tar.gz 641e4d4a50e31016ca90e0d3ea095aabae34c4a7
+sha256 newlib-3.0.0.tar.gz c8566335ee74e5fcaeb8595b4ebd0400c4b043d6acb3263ecb1314f8f5501332
+sha512 newlib-3.0.0.tar.gz d4730ce9a4fc4e62052e89d20d4a3855a103b3d1a2818e94c7a68626db285aa8db8e56a684103731916bfba3e581db88e3a93264034ea0f2880ee8976283c04f
diff --git a/packages/newlib/3.0.0/version.desc b/packages/newlib/3.0.0/version.desc
new file mode 100644
index 0000000..76f1447
--- /dev/null
+++ b/packages/newlib/3.0.0/version.desc
@@ -0,0 +1 @@
+experimental='yes'