crosstool-ng/patches/uClibc/0.9.30.1/150-64bit-strtouq.patch
Yann E. MORIN" 4110f78888 Add three new uClibc-0.9.30.1, vampirised from buildroot.
/trunk/patches/uClibc/0.9.30.1/170-dl-sysdep-inline.patch |  371   371     0     0 ++++++++++++++++
 /trunk/patches/uClibc/0.9.30.1/160-c99-ldbl-math.patch    |  474   474     0     0 +++++++++++++++++++++
 /trunk/patches/uClibc/0.9.30.1/150-64bit-strtouq.patch    |   48    48     0     0 ++
 3 files changed, 893 insertions(+)
2009-03-31 06:39:03 +00:00

49 lines
1.6 KiB
Diff

[PATCH]: Add strtouq alias (to strtoul) for 64bit
The strtouq alias was only available on 32bit, breaking compilation of stuff
using strtouq on 64bit machines. At the same time use the correct return
type (u_quad_t).
Signed-of-by: Peter Korsgaard <jacmet@sunsite.dk>
---
include/stdlib.h | 4 +++-
libc/stdlib/stdlib.c | 1 +
2 files changed, 4 insertions(+), 1 deletion(-)
Index: uClibc-0.9.30.1/libc/stdlib/stdlib.c
===================================================================
--- uClibc-0.9.30.1.orig/libc/stdlib/stdlib.c
+++ uClibc-0.9.30.1/libc/stdlib/stdlib.c
@@ -401,6 +401,9 @@
libc_hidden_proto(__XL_NPP(strtoull))
strong_alias(__XL_NPP(strtoul),__XL_NPP(strtoull))
libc_hidden_def(__XL_NPP(strtoull))
+#if !defined(L_strtoul_l)
+strong_alias(strtoul,strtouq)
+#endif
#endif
Index: uClibc-0.9.30.1/include/stdlib.h
===================================================================
--- uClibc-0.9.30.1.orig/include/stdlib.h
+++ uClibc-0.9.30.1/include/stdlib.h
@@ -203,6 +203,8 @@
__END_NAMESPACE_STD
#ifdef __USE_BSD
+#include <sys/types.h> /* for u_quad_t */
+
/* Convert a string to a quadword integer. */
__extension__
extern long long int strtoq (__const char *__restrict __nptr,
@@ -210,7 +212,7 @@
__THROW __nonnull ((1)) __wur;
/* Convert a string to an unsigned quadword integer. */
__extension__
-extern unsigned long long int strtouq (__const char *__restrict __nptr,
+extern u_quad_t strtouq (__const char *__restrict __nptr,
char **__restrict __endptr, int __base)
__THROW __nonnull ((1)) __wur;
#endif /* GCC and use BSD. */