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/config-has-fortify.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/config-has-fortify.patch')
-rw-r--r-- | main/libc0.9.32/config-has-fortify.patch | 125 |
1 files changed, 0 insertions, 125 deletions
diff --git a/main/libc0.9.32/config-has-fortify.patch b/main/libc0.9.32/config-has-fortify.patch deleted file mode 100644 index 01e26e7e12..0000000000 --- a/main/libc0.9.32/config-has-fortify.patch +++ /dev/null @@ -1,125 +0,0 @@ -From 82098ab9b853c33ee8ade61c9510b295cc696de1 Mon Sep 17 00:00:00 2001 -From: Peter S. Mazinger <ps.m@gmx.net> -Date: Wed, 09 Mar 2011 08:23:48 +0000 -Subject: guard *_chk() related stuff with UCLIBC_HAS_FORTIFY - -Guard x86_64 memset_chk/memcpy_chk be guarded by UCLIBC_HAS_FORTIFY. -Compile ssp.c if one of SSP/FORTIFY is defined. -Guard __chk_fail() with UCLIBC_HAS_FORTIFY and move its prototype to libc-internal.h. -Disable _FORTIFY_SOURCE if UCLIBC_HAS_FORTIFY is not set. - -The config option itself is omitted on purpose, -headers need to be reviewed and generic *_chk() functions need to be first provided. - -Signed-off-by: Peter S. Mazinger <ps.m@gmx.net> ---- -diff --git a/include/features.h b/include/features.h -index f4d70d7..41e83a9 100644 ---- a/include/features.h -+++ b/include/features.h -@@ -198,9 +198,12 @@ - # define __OPTIMIZE_SIZE__ 1 - - /* disable unsupported features */ --# undef _FORTIFY_SOURCE - # undef __LDBL_COMPAT - -+# ifndef __UCLIBC_HAS_FORTIFY__ -+# undef _FORTIFY_SOURCE -+# endif -+ - # ifndef __UCLIBC_HAS_THREADS__ - # if defined _REENTRANT || defined _THREAD_SAFE - # warning requested reentrant code, but thread support was disabled -diff --git a/include/libc-internal.h b/include/libc-internal.h -index 443b1fc..3ac0b05 100644 ---- a/include/libc-internal.h -+++ b/include/libc-internal.h -@@ -65,6 +65,11 @@ libc_hidden_proto(__glibc_strerror_r) - /* internal access to program name */ - extern const char *__uclibc_progname attribute_hidden; - -+# ifdef __UCLIBC_HAS_FORTIFY__ -+extern void __chk_fail(void) attribute_noreturn; -+libc_hidden_proto(__chk_fail) -+# endif -+ - # endif /* IS_IN_libc */ - - #endif /* __ASSEMBLER__ */ -diff --git a/libc/string/x86_64/memcpy.S b/libc/string/x86_64/memcpy.S -index 6d941e0..9c8169b 100644 ---- a/libc/string/x86_64/memcpy.S -+++ b/libc/string/x86_64/memcpy.S -@@ -26,12 +26,10 @@ - #define MEMPCPY_P (defined memcpy) - - .text --#if defined __PIC__ && !defined NOT_IN_libc -+#if defined __PIC__ && !defined NOT_IN_libc && defined __UCLIBC_HAS_FORTIFY__ - ENTRY (__memcpy_chk) - cmpq %rdx, %rcx --#if defined __UCLIBC_HAS_SSP__ - jb HIDDEN_JUMPTARGET (__chk_fail) --#endif - END (__memcpy_chk) - #endif - ENTRY (BP_SYM (memcpy)) -diff --git a/libc/string/x86_64/memset.S b/libc/string/x86_64/memset.S -index df265f3..6b758ce 100644 ---- a/libc/string/x86_64/memset.S -+++ b/libc/string/x86_64/memset.S -@@ -29,12 +29,10 @@ - #define LARGE $120000 - - .text --#if defined __PIC__ && !defined NOT_IN_libc -+#if defined __PIC__ && !defined NOT_IN_libc && defined __UCLIBC_HAS_FORTIFY__ - ENTRY (__memset_chk) - cmpq %rdx, %rcx --#if defined __UCLIBC_HAS_SSP__ - jb HIDDEN_JUMPTARGET (__chk_fail) --#endif - END (__memset_chk) - #endif - ENTRY (memset) -@@ -144,6 +142,6 @@ END (memset) - libc_hidden_def(memset) - #endif - --#if !BZERO_P && defined __PIC__ && !defined NOT_IN_libc -+#if !BZERO_P && defined __PIC__ && !defined NOT_IN_libc && defined __UCLIBC_HAS_FORTIFY__ - strong_alias (__memset_chk, __memset_zero_constant_len_parameter) - #endif -diff --git a/libc/sysdeps/linux/common/ssp.c b/libc/sysdeps/linux/common/ssp.c -index d81c706..df242cc 100644 ---- a/libc/sysdeps/linux/common/ssp.c -+++ b/libc/sysdeps/linux/common/ssp.c -@@ -87,6 +87,7 @@ void __stack_smash_handler(char func[], int damaged) - } - #endif - -+#ifdef __UCLIBC_HAS_SSP__ - void __stack_chk_fail(void) attribute_noreturn __cold; - void __stack_chk_fail(void) - { -@@ -101,8 +102,9 @@ void __stack_chk_fail(void) - while(1) - terminate(); - } -+#endif - --void __chk_fail(void) attribute_noreturn; -+#ifdef __UCLIBC_HAS_FORTIFY__ - void __chk_fail(void) - { - static const char msg1[] = "buffer overflow detected: "; -@@ -116,4 +119,6 @@ void __chk_fail(void) - while(1) - terminate(); - } -+libc_hidden_def(__chk_fail) -+#endif - --- -cgit v0.8.2.1 |