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

psm at uclibc.org psm at uclibc.org
Wed Jan 4 23:46:31 UTC 2006


Author: psm
Date: 2006-01-04 15:46:30 -0800 (Wed, 04 Jan 2006)
New Revision: 13084

Log:
one reloc less, uninline, should save some space

Modified:
   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/ssp-local.c
===================================================================
--- trunk/uClibc/libc/sysdeps/linux/common/ssp-local.c	2006-01-04 23:44:59 UTC (rev 13083)
+++ trunk/uClibc/libc/sysdeps/linux/common/ssp-local.c	2006-01-04 23:46:30 UTC (rev 13084)
@@ -23,7 +23,7 @@
 
 #include <features.h>
 
-extern void __stack_chk_fail (void) attribute_noreturn;
+extern void __stack_chk_fail_internal (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 ();
+  __stack_chk_fail_internal ();
 }

Modified: trunk/uClibc/libc/sysdeps/linux/common/ssp.c
===================================================================
--- trunk/uClibc/libc/sysdeps/linux/common/ssp.c	2006-01-04 23:44:59 UTC (rev 13083)
+++ trunk/uClibc/libc/sysdeps/linux/common/ssp.c	2006-01-04 23:46:30 UTC (rev 13084)
@@ -39,7 +39,7 @@
 #include <signal.h>
 #include <sys/syslog.h>
 
-static __always_inline void block_signals(void)
+static void block_signals(void)
 {
 	struct sigaction sa;
 	sigset_t mask;
@@ -57,7 +57,7 @@
 	sigaction(SSP_SIGTYPE, &sa, NULL);
 }
 
-static __always_inline void ssp_write(int fd, const char *msg1, const char *msg2, const char *msg3)
+static void ssp_write(int fd, const char *msg1, const char *msg2, const char *msg3)
 {
 	__write(fd, msg1, __strlen(msg1));
 	__write(fd, msg2, __strlen(msg2));
@@ -68,7 +68,7 @@
 	closelog();
 }
 
-static __always_inline attribute_noreturn void terminate(void)
+static attribute_noreturn void terminate(void)
 {
 	(void) kill(__getpid(), SSP_SIGTYPE);
 	_exit_internal(127);
@@ -88,7 +88,7 @@
 		terminate();
 }
 
-void attribute_noreturn __stack_chk_fail(void)
+void attribute_noreturn attribute_hidden __stack_chk_fail_internal(void)
 {
 	static const char msg1[] = "stack smashing detected: ";
 	static const char msg3[] = " terminated";
@@ -101,6 +101,7 @@
 	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