diff options
Diffstat (limited to 'toolchain/uClibc/patches-0.9.32/600-ubicom32-uClibc.patch')
-rw-r--r-- | toolchain/uClibc/patches-0.9.32/600-ubicom32-uClibc.patch | 36 |
1 files changed, 16 insertions, 20 deletions
diff --git a/toolchain/uClibc/patches-0.9.32/600-ubicom32-uClibc.patch b/toolchain/uClibc/patches-0.9.32/600-ubicom32-uClibc.patch index 8201961..9bf9536 100644 --- a/toolchain/uClibc/patches-0.9.32/600-ubicom32-uClibc.patch +++ b/toolchain/uClibc/patches-0.9.32/600-ubicom32-uClibc.patch @@ -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 @@ -101,7 +101,7 @@ + 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 @@ -110,9 +110,9 @@ /* 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 @@ -168,7 +168,7 @@ #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 @@ -197,7 +197,7 @@ --- 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]; } @@ -4170,7 +4170,7 @@ + .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); @@ -4181,17 +4181,13 @@ } -@@ -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); |