svn commit: trunk/uClibc/libc/sysdeps/linux/common

psm at uclibc.org psm at uclibc.org
Mon Jan 9 19:45:24 UTC 2006


Author: psm
Date: 2006-01-09 11:45:23 -0800 (Mon, 09 Jan 2006)
New Revision: 13203

Log:
Hope I have it correct now w/ native gcc4 ssp

Modified:
   trunk/uClibc/libc/sysdeps/linux/common/Makefile.in
   trunk/uClibc/libc/sysdeps/linux/common/ssp-local.c
   trunk/uClibc/libc/sysdeps/linux/common/ssp.c


Changeset:
Modified: trunk/uClibc/libc/sysdeps/linux/common/Makefile.in
===================================================================
--- trunk/uClibc/libc/sysdeps/linux/common/Makefile.in	2006-01-09 19:43:47 UTC (rev 13202)
+++ trunk/uClibc/libc/sysdeps/linux/common/Makefile.in	2006-01-09 19:45:23 UTC (rev 13203)
@@ -14,19 +14,17 @@
 CSRC:=$(filter-out sbrk.c,$(CSRC))
 endif
 
-COMMON_SSP:=ssp.c ssp-local.c
-
 # full list
 #COMMON_NO_MULTI:=getcwd.c getrlimit.c getrlimit64.c setrlimit.c setrlimit64.c getpriority.c getpriority64.c setpriority.c getrusage.c wait4.c getitimer.c setitimer.c open.c open64.c uname.c __syscall_fcntl.c __syscall_fcntl64.c
 COMMON_NO_MULTI:=getrlimit.c getrlimit64.c setrlimit.c setrlimit64.c getpriority.c setpriority.c getrusage.c getitimer.c setitimer.c uname.c __syscall_rt_sigaction.c
 
+CSRC:=$(filter-out ssp-local.c,$(CSRC))
 ifneq ($(UCLIBC_HAS_SSP),y)
-CSRC:=$(filter-out $(COMMON_SSP),$(CSRC))
+CSRC:=$(filter-out ssp.c,$(CSRC))
 endif
 
 ifneq ($(DOMULTI),n)
 CSRC:=$(filter-out $(COMMON_NO_MULTI),$(CSRC))
-CSRC:=$(filter-out $(COMMON_SSP),$(CSRC))
 endif
 
 # fails for some reason
@@ -42,11 +40,11 @@
 
 libc-a-y+=$(COMMON_OBJ)
 libc-so-y+=$(COMMON_OBJ:.o=.os)
+libc-static-$(UCLIBC_HAS_SSP)+=$(COMMON_OUT)/ssp-local.o
 libc-nonshared-$(UCLIBC_HAS_SSP)+=$(COMMON_OUT)/ssp-local.os
 
 libc-multi-y+=$(COMMON_SRC)
 libc-nomulti-y+=$(patsubst %.c,$(COMMON_OUT)/%.o,$(COMMON_NO_MULTI))
-libc-nomulti-$(UCLIBC_HAS_SSP)+=$(patsubst %.c,$(COMMON_OUT)/%.o,$(COMMON_SSP))
 
 objclean-y+=common_objclean
 

Modified: trunk/uClibc/libc/sysdeps/linux/common/ssp-local.c
===================================================================
--- trunk/uClibc/libc/sysdeps/linux/common/ssp-local.c	2006-01-09 19:43:47 UTC (rev 13202)
+++ trunk/uClibc/libc/sysdeps/linux/common/ssp-local.c	2006-01-09 19:45:23 UTC (rev 13203)
@@ -23,7 +23,7 @@
 
 #include <features.h>
 
-extern void __stack_chk_fail_internal (void) attribute_noreturn;
+extern void __stack_chk_fail (void) attribute_noreturn;
 
 /* On some architectures, this helps needless PIC pointer setup
    that would be needed just for the __stack_chk_fail call.  */
@@ -31,5 +31,5 @@
 void attribute_noreturn attribute_hidden
 __stack_chk_fail_local (void)
 {
-  __stack_chk_fail_internal ();
+  __stack_chk_fail ();
 }

Modified: trunk/uClibc/libc/sysdeps/linux/common/ssp.c
===================================================================
--- trunk/uClibc/libc/sysdeps/linux/common/ssp.c	2006-01-09 19:43:47 UTC (rev 13202)
+++ trunk/uClibc/libc/sysdeps/linux/common/ssp.c	2006-01-09 19:45:23 UTC (rev 13203)
@@ -88,7 +88,7 @@
 		terminate();
 }
 
-void attribute_noreturn attribute_hidden __stack_chk_fail_internal(void)
+void attribute_noreturn __stack_chk_fail(void)
 {
 	static const char msg1[] = "stack smashing detected: ";
 	static const char msg3[] = " terminated";
@@ -101,7 +101,6 @@
 	while(1)
 		terminate();
 }
-strong_alias(__stack_chk_fail_internal,__stack_chk_fail)
 
 #if 0
 void attribute_noreturn __chk_fail(void)




More information about the uClibc-cvs mailing list