From b25ad630be8b0f362fea44a97efbead83d1dd2ae Mon Sep 17 00:00:00 2001 From: "Peter S. Mazinger" Date: Mon, 16 Jan 2006 18:07:18 +0000 Subject: Last relocs jump and global data, (even locales) that I could remove are gone from libc. The remaining are left as exercise for others ;-) --- libc/misc/internals/__errno_location.c | 4 +++- libc/misc/internals/__h_errno_location.c | 2 ++ libc/misc/internals/__uClibc_main.c | 4 +++- libc/misc/internals/errno.c | 9 +++++++-- 4 files changed, 15 insertions(+), 4 deletions(-) (limited to 'libc/misc/internals') diff --git a/libc/misc/internals/__errno_location.c b/libc/misc/internals/__errno_location.c index 10b97753f..c0146ce68 100644 --- a/libc/misc/internals/__errno_location.c +++ b/libc/misc/internals/__errno_location.c @@ -1,8 +1,10 @@ #include #undef errno +libc_hidden_proto(errno) +/* psm: moved to bits/errno.h: libc_hidden_proto(__errno_location) */ int * weak_const_function __errno_location (void) { return &errno; } - +#ifdef IS_IN_libc /* not really need, only to keep in sync w/ libc_hidden_proto */ diff --git a/libc/misc/internals/__h_errno_location.c b/libc/misc/internals/__h_errno_location.c index a57478ca9..1fae93459 100644 --- a/libc/misc/internals/__h_errno_location.c +++ b/libc/misc/internals/__h_errno_location.c @@ -3,6 +3,8 @@ #include #undef h_errno +libc_hidden_proto(h_errno) + libc_hidden_proto(__h_errno_location) int * weak_const_function __h_errno_location (void) { diff --git a/libc/misc/internals/__uClibc_main.c b/libc/misc/internals/__uClibc_main.c index 349c0e5d1..7bfe2ccc4 100644 --- a/libc/misc/internals/__uClibc_main.c +++ b/libc/misc/internals/__uClibc_main.c @@ -89,8 +89,10 @@ strong_alias (__progname_full, program_invocation_name) * Note: Apparently we must initialize __environ to ensure that the weak * environ symbol is also included. */ +libc_hidden_proto(__environ) char **__environ = 0; -weak_alias(__environ, environ) +libc_hidden_def(__environ) +strong_alias(__environ,environ) /* TODO: don't export __pagesize; we cant now because libpthread uses it */ extern size_t __pagesize; diff --git a/libc/misc/internals/errno.c b/libc/misc/internals/errno.c index b08478d44..ffacc8188 100644 --- a/libc/misc/internals/errno.c +++ b/libc/misc/internals/errno.c @@ -4,6 +4,9 @@ extern int errno; extern int h_errno; +libc_hidden_proto(errno) +libc_hidden_proto(h_errno) + #if 0 /* Unfortunately, this doesn't work... */ int h_errno __attribute__ ((section (".bss"))) = 0; @@ -13,5 +16,7 @@ int _errno = 0; int _h_errno = 0; #endif -weak_alias(_errno, errno) -weak_alias(_h_errno, h_errno) +strong_alias(_errno,errno) +libc_hidden_def(errno) +strong_alias(_h_errno,h_errno) +libc_hidden_def(h_errno) -- cgit v1.2.3