libc/uClibc: add latest version
author"Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Fri Dec 30 22:04:24 2011 +0100 (2011-12-30)
changeset 28135b9d68ed6f52
parent 2812 6bfe57f4661e
child 2814 3dc2727ebffc
libc/uClibc: add latest version

Add 0.9.32.1

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
config/libc/uClibc.in
patches/uClibc/0.9.32.1/100-fix-TLS-DTPREL-TPREL-macros.patch
     1.1 --- a/config/libc/uClibc.in	Fri Dec 30 14:16:49 2011 +0100
     1.2 +++ b/config/libc/uClibc.in	Fri Dec 30 22:04:24 2011 +0100
     1.3 @@ -21,6 +21,11 @@
     1.4  # Don't remove next line
     1.5  # CT_INSERT_VERSION_BELOW
     1.6  
     1.7 +config LIBC_UCLIBC_V_0_9_32_1
     1.8 +    bool
     1.9 +    prompt "0.9.32.1"
    1.10 +    select LIBC_UCLIBC_0_9_32_or_later
    1.11 +
    1.12  config LIBC_UCLIBC_V_0_9_32
    1.13      bool
    1.14      prompt "0.9.32"
    1.15 @@ -86,6 +91,7 @@
    1.16      prompt "Enter date (YYYYMMDD)" if LIBC_UCLIBC_V_specific_date
    1.17  # Don't remove next line
    1.18  # CT_INSERT_VERSION_STRING_BELOW
    1.19 +    default "0.9.32.1" if LIBC_UCLIBC_V_0_9_32_1
    1.20      default "0.9.32" if LIBC_UCLIBC_V_0_9_32
    1.21      default "0.9.31" if LIBC_UCLIBC_V_0_9_31
    1.22      default "0.9.30.3" if LIBC_UCLIBC_V_0_9_30_3
     2.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     2.2 +++ b/patches/uClibc/0.9.32.1/100-fix-TLS-DTPREL-TPREL-macros.patch	Fri Dec 30 22:04:24 2011 +0100
     2.3 @@ -0,0 +1,40 @@
     2.4 +ldso/mips: workaround for missing TLS macros in elfinterpret.c
     2.5 +
     2.6 +These macros declarations are missing, so gcc believes the code is calling
     2.7 +a function, so any later linking will fail.
     2.8 +
     2.9 +Work this around by copying the mcaros from:
    2.10 +   libpthread/nptl/sysdeps/mips/dl-tls.h
    2.11 +
    2.12 +We can't include the header because of incompatible symbol declarations,
    2.13 +so we just copy the macros for now.
    2.14 +
    2.15 +---->  THIS IS A DIRTY HACK!  <----
    2.16 +
    2.17 +Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
    2.18 +
    2.19 +diff -durN uClibc-0.9.32.orig/ldso/ldso/mips/elfinterp.c uClibc-0.9.32/ldso/ldso/mips/elfinterp.c
    2.20 +--- uClibc-0.9.32.orig/ldso/ldso/mips/elfinterp.c	2011-06-08 21:35:20.000000000 +0200
    2.21 ++++ uClibc-0.9.32/ldso/ldso/mips/elfinterp.c	2011-09-12 14:02:37.553628824 +0200
    2.22 +@@ -34,6 +34,21 @@
    2.23 + 
    2.24 + #define OFFSET_GP_GOT 0x7ff0
    2.25 + 
    2.26 ++/* The thread pointer points 0x7000 past the first static TLS block.  */
    2.27 ++#define TLS_TP_OFFSET           0x7000
    2.28 ++
    2.29 ++/* Dynamic thread vector pointers point 0x8000 past the start of each
    2.30 ++ *    TLS block.  */
    2.31 ++#define TLS_DTV_OFFSET          0x8000
    2.32 ++
    2.33 ++/* Compute the value for a GOTTPREL reloc.  */
    2.34 ++#define TLS_TPREL_VALUE(sym_map, sym_val) \
    2.35 ++  ((sym_map)->l_tls_offset + sym_val - TLS_TP_OFFSET)
    2.36 ++
    2.37 ++/* Compute the value for a DTPREL reloc.  */
    2.38 ++#define TLS_DTPREL_VALUE(sym_val) \
    2.39 ++  (sym_val - TLS_DTV_OFFSET)
    2.40 ++
    2.41 + unsigned long __dl_runtime_resolve(unsigned long sym_index,
    2.42 + 	unsigned long old_gpreg)
    2.43 + {