patches/uClibc/0.9.30.1/150-64bit-strtouq.patch
author "Yann E. MORIN" <yann.morin.1998@free.fr>
Wed Dec 05 20:31:43 2012 +0100 (2012-12-05)
changeset 3134 863723936e24
permissions -rw-r--r--
scripts/xldd: use user's sed and grep

xldd uses sed and grep as detected by ./configure. This works well if is
used on the machine that build the toolchain.

But if the user moves the toolchain to another machine where sed and grep
are not in the same directory (eg. /bin/sed vs. /usr/bin/sed), then xldd
will stop functionning.

Fix that by using ${SED} and ${GREP} if they are set in the environment.

Reported-by: Samuel Martin <s.martin49@gmail.com>
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.  */