MFH: r551458

devel/arm-none-eabi-newlib: unbreak after include-fixed removal

We're now operating on more standards-compliant headers.  Defining
__LONG_LONG_SUPPORTED is a little hacky, but some backflips are needed to
assume a C99 build. For now, just make it work so that we can get the
definition from sys/limits.h as needed.

Approved by:	ports-secteam (implicit, build fix)
This commit is contained in:
Kyle Evans 2020-10-04 20:50:19 +00:00
parent 68f834a8b2
commit eaeea2a90d
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/branches/2020Q4/; revision=551459
5 changed files with 96 additions and 2 deletions

View File

@ -11,8 +11,6 @@ PKGNAMEPREFIX= ${NEWLIB_TARGET}-
MAINTAINER= kevans@FreeBSD.org
COMMENT= Newlib distribution for ${NEWLIB_TARGET} targets
BROKEN= arm-none-eabi-ar: ../stdlib/lib.a: No such file or directory
BUILD_DEPENDS+= ${NEWLIB_TARGET}-ar:devel/binutils@${NEWLIB_TARGET:C/-/_/g} \
${NEWLIB_TARGET}-as:devel/binutils@${NEWLIB_TARGET:C/-/_/g} \
${NEWLIB_TARGET}-ld:devel/binutils@${NEWLIB_TARGET:C/-/_/g} \

View File

@ -0,0 +1,28 @@
--- newlib/libc/stdlib/strtoll_r.c.orig 2020-10-04 20:42:31 UTC
+++ newlib/libc/stdlib/strtoll_r.c
@@ -42,6 +42,7 @@
#ifdef __GNUC__
#define _GNU_SOURCE
+#define __LONG_LONG_SUPPORTED
#include <_ansi.h>
#include <limits.h>
#include <ctype.h>
@@ -107,7 +108,7 @@ _DEFUN (_strtoll_r, (rptr, nptr, endptr, base),
* Set any if any `digits' consumed; make it negative to indicate
* overflow.
*/
- cutoff = neg ? -(unsigned long long)LONG_LONG_MIN : LONG_LONG_MAX;
+ cutoff = neg ? -(unsigned long long)LLONG_MIN : LLONG_MAX;
cutlim = cutoff % (unsigned long long)base;
cutoff /= (unsigned long long)base;
for (acc = 0, any = 0;; c = *s++) {
@@ -128,7 +129,7 @@ _DEFUN (_strtoll_r, (rptr, nptr, endptr, base),
}
}
if (any < 0) {
- acc = neg ? LONG_LONG_MIN : LONG_LONG_MAX;
+ acc = neg ? LLONG_MIN : LLONG_MAX;
rptr->_errno = ERANGE;
} else if (neg)
acc = -acc;

View File

@ -0,0 +1,30 @@
--- newlib/libc/stdlib/strtoull_r.c.orig 2020-10-04 20:42:46 UTC
+++ newlib/libc/stdlib/strtoull_r.c
@@ -43,6 +43,7 @@
#ifdef __GNUC__
#define _GNU_SOURCE
+#define __LONG_LONG_SUPPORTED
#include <_ansi.h>
#include <limits.h>
#include <ctype.h>
@@ -88,8 +89,8 @@ _DEFUN (_strtoull_r, (rptr, nptr, endptr, base),
}
if (base == 0)
base = c == '0' ? 8 : 10;
- cutoff = (unsigned long long)ULONG_LONG_MAX / (unsigned long long)base;
- cutlim = (unsigned long long)ULONG_LONG_MAX % (unsigned long long)base;
+ cutoff = (unsigned long long)ULLONG_MAX / (unsigned long long)base;
+ cutlim = (unsigned long long)ULLONG_MAX % (unsigned long long)base;
for (acc = 0, any = 0;; c = *s++) {
if (isdigit(c))
c -= '0';
@@ -108,7 +109,7 @@ _DEFUN (_strtoull_r, (rptr, nptr, endptr, base),
}
}
if (any < 0) {
- acc = ULONG_LONG_MAX;
+ acc = ULLONG_MAX;
rptr->_errno = ERANGE;
} else if (neg)
acc = -acc;

View File

@ -0,0 +1,28 @@
--- newlib/libc/stdlib/wcstoll_r.c.orig 2020-10-04 20:42:35 UTC
+++ newlib/libc/stdlib/wcstoll_r.c
@@ -42,6 +42,7 @@
#ifdef __GNUC__
#define _GNU_SOURCE
+#define __LONG_LONG_SUPPORTED
#include <_ansi.h>
#include <limits.h>
#include <wctype.h>
@@ -107,7 +108,7 @@ _DEFUN (_wcstoll_r, (rptr, nptr, endptr, base),
* Set any if any `digits' consumed; make it negative to indicate
* overflow.
*/
- cutoff = neg ? -(unsigned long long)LONG_LONG_MIN : LONG_LONG_MAX;
+ cutoff = neg ? -(unsigned long long)LLONG_MIN : LLONG_MAX;
cutlim = cutoff % (unsigned long long)base;
cutoff /= (unsigned long long)base;
for (acc = 0, any = 0;; c = *s++) {
@@ -128,7 +129,7 @@ _DEFUN (_wcstoll_r, (rptr, nptr, endptr, base),
}
}
if (any < 0) {
- acc = neg ? LONG_LONG_MIN : LONG_LONG_MAX;
+ acc = neg ? LLONG_MIN : LLONG_MAX;
rptr->_errno = ERANGE;
} else if (neg)
acc = -acc;

View File

@ -0,0 +1,10 @@
--- newlib/libc/stdlib/wcstoull_r.c.orig 2020-10-04 20:42:50 UTC
+++ newlib/libc/stdlib/wcstoull_r.c
@@ -43,6 +43,7 @@
#ifdef __GNUC__
#define _GNU_SOURCE
+#define __LONG_LONG_SUPPORTED
#include <_ansi.h>
#include <limits.h>
#include <wchar.h>