Browse Source

use weak_alias() for data symbols, not strong_alias()

Mike Frysinger 18 years ago
parent
commit
c9234bbc4d
3 changed files with 5 additions and 7 deletions
  1. 2 4
      libc/misc/error/error.c
  2. 1 1
      libc/misc/internals/__uClibc_main.c
  3. 2 2
      libc/misc/internals/errno.c

+ 2 - 4
libc/misc/error/error.c

@@ -64,6 +64,7 @@ void __error (int status, int errnum, const char *message, ...)
     if (status)
 	exit (status);
 }
+weak_alias(__error,error)
 
 extern __typeof(error_at_line) __error_at_line attribute_hidden;
 void __error_at_line (int status, int errnum, const char *file_name,
@@ -101,7 +102,4 @@ void __error_at_line (int status, int errnum, const char *file_name,
     if (status)
 	exit (status);
 }
-
-/* psm: keep this weak, too many use this in common code */
-weak_alias(__error,error)
-strong_alias(__error_at_line,error_at_line)
+weak_alias(__error_at_line,error_at_line)

+ 1 - 1
libc/misc/internals/__uClibc_main.c

@@ -118,7 +118,7 @@ strong_alias (__progname_full, program_invocation_name)
  * environ symbol is also included.
  */
 char **__environ = 0;
-strong_alias(__environ,environ)
+weak_alias(__environ, environ)
 
 /* TODO: don't export __pagesize; we cant now because libpthread uses it */
 size_t __pagesize = 0;

+ 2 - 2
libc/misc/internals/errno.c

@@ -16,7 +16,7 @@ int _errno = 0;
 int _h_errno = 0;
 #endif
 
-strong_alias(_errno,errno)
+weak_alias(_errno,errno)
 libc_hidden_def(errno)
-strong_alias(_h_errno,h_errno)
+weak_alias(_h_errno,h_errno)
 libc_hidden_def(h_errno)