diff options
author | Timo Teräs <timo.teras@iki.fi> | 2011-03-18 15:33:32 +0200 |
---|---|---|
committer | Timo Teräs <timo.teras@iki.fi> | 2011-03-18 15:33:32 +0200 |
commit | 57009c41f7ffabb6e76c642ab267b835260045ff (patch) | |
tree | e0c48652139ad1c3788e3df9f208b57ac4481ba4 /main/libc0.9.32/compat-stack-guard.patch | |
parent | 666fcc262b9181a7abefdd4c2caeb4bd859cf71b (diff) | |
download | aports-57009c41f7ffabb6e76c642ab267b835260045ff.tar.bz2 aports-57009c41f7ffabb6e76c642ab267b835260045ff.tar.xz |
main/libc0.9.32: update to 0.9.32-rc3 and refresh patches
* patches merged upstream dropped
* refreshed compat-stack-guard.patch (weird that we still need this;
we should recompile all apps depending on the symbol)
* added three more patches that will help building and running openjdk
Diffstat (limited to 'main/libc0.9.32/compat-stack-guard.patch')
-rw-r--r-- | main/libc0.9.32/compat-stack-guard.patch | 70 |
1 files changed, 37 insertions, 33 deletions
diff --git a/main/libc0.9.32/compat-stack-guard.patch b/main/libc0.9.32/compat-stack-guard.patch index 71d78bac5a..c69a9c5350 100644 --- a/main/libc0.9.32/compat-stack-guard.patch +++ b/main/libc0.9.32/compat-stack-guard.patch @@ -1,51 +1,55 @@ diff --git a/ldso/ldso/ldso.c b/ldso/ldso/ldso.c -index 125cf96..bb47952 100644 +index 2857f7e..dce6fd8 100644 --- a/ldso/ldso/ldso.c +++ b/ldso/ldso/ldso.c -@@ -101,10 +101,10 @@ extern void _start(void); +@@ -103,11 +103,7 @@ extern void _start(void); #ifdef __UCLIBC_HAS_SSP__ # include <dl-osinfo.h> - uintptr_t stack_chk_guard; -+uintptr_t __stack_chk_guard attribute_relro; - # ifndef THREAD_SET_STACK_GUARD - /* Only exported for architectures that don't store the stack guard canary - * in local thread area. */ --uintptr_t __stack_chk_guard attribute_relro; - # ifdef __UCLIBC_HAS_SSP_COMPAT__ - strong_alias(__stack_chk_guard,__guard) - # endif -@@ -935,13 +935,12 @@ void _dl_get_ready_to_run(struct elf_resolve *tpnt, DL_LOADADDR_TYPE load_addr, - #ifdef __UCLIBC_HAS_SSP__ - /* Set up the stack checker's canary. */ + static uintptr_t stack_chk_guard; +-# ifndef THREAD_SET_STACK_GUARD +-/* Only exported for architectures that don't store the stack guard canary +- * in local thread area. */ + uintptr_t __stack_chk_guard attribute_relro; +-# endif + # ifdef __UCLIBC_HAS_SSP_COMPAT__ + uintptr_t __guard attribute_relro; + # endif +@@ -953,9 +949,8 @@ void _dl_get_ready_to_run(struct elf_resolve *tpnt, DL_LOADADDR_TYPE load_addr, stack_chk_guard = _dl_setup_stack_chk_guard (); -+ __stack_chk_guard = stack_chk_guard; # ifdef THREAD_SET_STACK_GUARD THREAD_SET_STACK_GUARD (stack_chk_guard); - # ifdef __UCLIBC_HAS_SSP_COMPAT__ - __guard = stack_chk_guard; - # endif -# else - __stack_chk_guard = stack_chk_guard; # endif - #endif - ++ __stack_chk_guard = stack_chk_guard; + # ifdef __UCLIBC_HAS_SSP_COMPAT__ + __guard = stack_chk_guard; + # endif diff --git a/libc/misc/internals/__uClibc_main.c b/libc/misc/internals/__uClibc_main.c -index f7e45c6..b527068 100644 +index 315365a..78cd058 100644 --- a/libc/misc/internals/__uClibc_main.c +++ b/libc/misc/internals/__uClibc_main.c -@@ -43,13 +43,13 @@ void *__libc_stack_end = NULL; - +@@ -46,12 +46,7 @@ void *__libc_stack_end = NULL; # ifdef __UCLIBC_HAS_SSP__ # include <dl-osinfo.h> -+/* for gcc-4.1 non-TLS */ -+uintptr_t __stack_chk_guard attribute_relro; - # ifndef THREAD_SET_STACK_GUARD - /* Only exported for architectures that don't store the stack guard canary - * in thread local area. */ - # include <stdint.h> - uintptr_t stack_chk_guard; + static uintptr_t stack_chk_guard; +-# ifndef THREAD_SET_STACK_GUARD +-/* Only exported for architectures that don't store the stack guard canary +- * in thread local area. */ -/* for gcc-4.1 non-TLS */ --uintptr_t __stack_chk_guard attribute_relro; + uintptr_t __stack_chk_guard attribute_relro; +-# endif /* for gcc-3.x + Etoh ssp */ - # ifdef __UCLIBC_HAS_SSP_COMPAT__ - # ifdef __HAVE_SHARED__ + # ifdef __UCLIBC_HAS_SSP_COMPAT__ + uintptr_t __guard attribute_relro; +@@ -247,9 +242,8 @@ void __uClibc_init(void) + stack_chk_guard = _dl_setup_stack_chk_guard(); + # ifdef THREAD_SET_STACK_GUARD + THREAD_SET_STACK_GUARD (stack_chk_guard); +-# else +- __stack_chk_guard = stack_chk_guard; + # endif ++ __stack_chk_guard = stack_chk_guard; + # ifdef __UCLIBC_HAS_SSP_COMPAT__ + __guard = stack_chk_guard; + # endif |