patches/uClibc/0.9.30.1/150-64bit-strtouq.patch
author "Yann E. MORIN" <yann.morin.1998@free.fr>
Thu Dec 27 12:53:32 2012 +0100 (2012-12-27)
changeset 3153 f6740f9e42de
permissions -rw-r--r--
scripts/addToolsVersion: handle elf2flt

The one was missing from the list.

It is very improbable that we ever need it, as elf2flt does no release,
and we always get it from CVS head. But for the sake of consistency, we
just add it.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
     1 [PATCH]: Add strtouq alias (to strtoul) for 64bit
     2 
     3 The strtouq alias was only available on 32bit, breaking compilation of stuff
     4 using strtouq on 64bit machines. At the same time use the correct return
     5 type (u_quad_t).
     6 
     7 Signed-of-by: Peter Korsgaard <jacmet@sunsite.dk>
     8 ---
     9  include/stdlib.h     |    4 +++-
    10  libc/stdlib/stdlib.c |    1 +
    11  2 files changed, 4 insertions(+), 1 deletion(-)
    12 
    13 Index: uClibc-0.9.30.1/libc/stdlib/stdlib.c
    14 ===================================================================
    15 --- uClibc-0.9.30.1.orig/libc/stdlib/stdlib.c
    16 +++ uClibc-0.9.30.1/libc/stdlib/stdlib.c
    17 @@ -401,6 +401,9 @@
    18  libc_hidden_proto(__XL_NPP(strtoull))
    19  strong_alias(__XL_NPP(strtoul),__XL_NPP(strtoull))
    20  libc_hidden_def(__XL_NPP(strtoull))
    21 +#if !defined(L_strtoul_l)
    22 +strong_alias(strtoul,strtouq)
    23 +#endif
    24  #endif
    25  
    26  
    27 Index: uClibc-0.9.30.1/include/stdlib.h
    28 ===================================================================
    29 --- uClibc-0.9.30.1.orig/include/stdlib.h
    30 +++ uClibc-0.9.30.1/include/stdlib.h
    31 @@ -203,6 +203,8 @@
    32  __END_NAMESPACE_STD
    33  
    34  #ifdef __USE_BSD
    35 +#include <sys/types.h> /* for u_quad_t */
    36 +
    37  /* Convert a string to a quadword integer.  */
    38  __extension__
    39  extern long long int strtoq (__const char *__restrict __nptr,
    40 @@ -210,7 +212,7 @@
    41       __THROW __nonnull ((1)) __wur;
    42  /* Convert a string to an unsigned quadword integer.  */
    43  __extension__
    44 -extern unsigned long long int strtouq (__const char *__restrict __nptr,
    45 +extern u_quad_t strtouq (__const char *__restrict __nptr,
    46  				       char **__restrict __endptr, int __base)
    47       __THROW __nonnull ((1)) __wur;
    48  #endif /* GCC and use BSD.  */