uClibc: update to latest version (rc3 + git changes), contains fixes for ipv6 dns...
[openwrt/svn-archive/archive.git] / toolchain / uClibc / patches-0.9.32 / 600-ubicom32-uClibc.patch
index 82019617700e7844a714880050b93b709057050c..9bf95363a1d41f43ceb0a7e1e1a1393ec508fb69 100644 (file)
@@ -1,6 +1,6 @@
 --- a/Rules.mak
 +++ b/Rules.mak
-@@ -481,6 +481,17 @@ ifeq ($(TARGET_ARCH),i960)
+@@ -484,6 +484,17 @@ ifeq ($(TARGET_ARCH),i960)
        SYMBOL_PREFIX=_
  endif
  
@@ -30,7 +30,7 @@
  config TARGET_v850
        bool "v850 (BROKEN)"
  
-@@ -203,6 +206,10 @@ if TARGET_sparc
+@@ -206,6 +209,10 @@ if TARGET_sparc
  source "extra/Configs/Config.sparc"
  endif
  
@@ -43,7 +43,7 @@
  endif
 --- a/extra/Configs/Config.in.arch
 +++ b/extra/Configs/Config.in.arch
-@@ -149,7 +149,7 @@ config UCLIBC_HAS_SOFT_FLOAT
+@@ -153,7 +153,7 @@ config UCLIBC_HAS_SOFT_FLOAT
  config DO_C99_MATH
        bool "Enable full C99 math library support"
        depends on UCLIBC_HAS_FLOATS
 +      string
 --- a/include/elf.h
 +++ b/include/elf.h
-@@ -337,6 +337,8 @@ typedef struct
+@@ -338,6 +338,8 @@ typedef struct
  
  #define EM_XSTORMY16          0xad45
  
  /* FRV magic number - no EABI available??.  */
  #define EM_CYGNUS_FRV 0x5441
  
-@@ -3063,6 +3065,55 @@ typedef Elf32_Addr Elf32_Conflict;
- /* Keep this the last entry.  */
- #define R_XTENSA_NUM          50
+@@ -3108,6 +3110,55 @@ typedef Elf32_Addr Elf32_Conflict;
+ #define DT_C6000_NUM    4
  
 +/* Ubicom32 ELF relocation types */
 +#define R_UBICOM32_NONE               0
  #endif
 --- a/include/features.h
 +++ b/include/features.h
-@@ -445,4 +445,10 @@ uClibc was built without large file supp
+@@ -448,4 +448,10 @@ uClibc was built without large file supp
  # include <libc-internal.h>
  #endif
  
  
 --- a/ldso/ldso/ldso.c
 +++ b/ldso/ldso/ldso.c
-@@ -327,10 +327,12 @@ void _dl_get_ready_to_run(struct elf_res
+@@ -325,10 +325,12 @@ void _dl_get_ready_to_run(struct elf_res
                _dl_progname = argv[0];
        }
  
 +      .set __GI_vfork,vfork
 --- a/libpthread/linuxthreads.old/pthread.c
 +++ b/libpthread/linuxthreads.old/pthread.c
-@@ -393,6 +393,10 @@ void __pthread_initialize_minimal(void)
+@@ -391,6 +391,10 @@ void __pthread_initialize_minimal(void)
  #endif
  
      __libc_multiple_threads_ptr = __libc_pthread_init (ptr_pthread_functions);
  }
  
  
-@@ -461,8 +465,11 @@ static void pthread_initialize(void)
-    * __pthread_initial_thread_bos at address 0. These bounds are refined as we
-    * malloc other stack frames such that they don't overlap. -StS
+@@ -467,7 +471,8 @@ static void pthread_initialize(void)
+    * for a few more details.
     */
--  __pthread_initial_thread_tos =
--    (char *)(((long)CURRENT_STACK_FRAME + getpagesize()) & ~(getpagesize() - 1));
-+  if (__pthread_initial_thread_tos == NULL) {
-+    __pthread_initial_thread_tos =
-+      (char *)(((long)CURRENT_STACK_FRAME + getpagesize()) & ~(getpagesize() - 1));
-+  }
-+
+   __pthread_initial_thread_mid = CURRENT_STACK_FRAME;
+-  __pthread_initial_thread_tos = (char *) -1;
++  if (__pthread_initial_thread_tos == NULL)
++    __pthread_initial_thread_tos = (char *) -1;
    __pthread_initial_thread_bos = (char *) 1; /* set it non-zero so we know we have been here */
    PDEBUG("initial thread stack bounds: bos=%p, tos=%p\n",
         __pthread_initial_thread_bos, __pthread_initial_thread_tos);