svn commit: trunk/uClibc: extra/Configs libc/misc/internals
vapier at uclibc.org
vapier at uclibc.org
Sat Sep 15 09:13:00 UTC 2007
Author: vapier
Date: 2007-09-15 02:12:59 -0700 (Sat, 15 Sep 2007)
New Revision: 19845
Log:
bug 1310: drop hidden aliases to data since some arches crap with this due to copy relocs
Modified:
trunk/uClibc/extra/Configs/Config.in
trunk/uClibc/libc/misc/internals/__uClibc_main.c
Changeset:
Modified: trunk/uClibc/extra/Configs/Config.in
===================================================================
--- trunk/uClibc/extra/Configs/Config.in 2007-09-15 08:33:08 UTC (rev 19844)
+++ trunk/uClibc/extra/Configs/Config.in 2007-09-15 09:12:59 UTC (rev 19845)
@@ -498,6 +498,7 @@
config UCLIBC_HAS___PROGNAME
bool "Support for __progname"
default y
+ depends on UCLIBC_HAS_PROGRAM_INVOCATION_NAME
help
Some packages (like openssh) like to peek into internal libc
symbols to make their output a bit more user friendly.
Modified: trunk/uClibc/libc/misc/internals/__uClibc_main.c
===================================================================
--- trunk/uClibc/libc/misc/internals/__uClibc_main.c 2007-09-15 08:33:08 UTC (rev 19844)
+++ trunk/uClibc/libc/misc/internals/__uClibc_main.c 2007-09-15 09:12:59 UTC (rev 19845)
@@ -104,15 +104,15 @@
# endif
#endif
-attribute_hidden const char *__uclibc_progname = NULL;
-#ifdef __UCLIBC_HAS___PROGNAME__
-strong_alias (__uclibc_progname, __progname)
-#endif
+attribute_hidden const char *__uclibc_progname = "";
#ifdef __UCLIBC_HAS_PROGRAM_INVOCATION_NAME__
-attribute_hidden const char *__progname_full = NULL;
-strong_alias (__uclibc_progname, program_invocation_short_name)
-strong_alias (__progname_full, program_invocation_name)
+const char *program_invocation_short_name = "";
+const char *program_invocation_name = "";
#endif
+#ifdef __UCLIBC_HAS___PROGNAME__
+weak_alias (program_invocation_short_name, __progname)
+weak_alias (program_invocation_name, __progname_full)
+#endif
/*
* Declare the __environ global variable and create a strong alias environ.
@@ -337,15 +337,14 @@
}
#endif
+ __uclibc_progname = *argv;
#ifdef __UCLIBC_HAS_PROGRAM_INVOCATION_NAME__
- __progname_full = *argv;
- __progname = strrchr(*argv, '/');
- if (__progname != NULL)
- ++__progname;
+ program_invocation_name = *argv;
+ program_invocation_short_name = strrchr(*argv, '/');
+ if (program_invocation_short_name != NULL)
+ ++program_invocation_short_name;
else
- __progname = __progname_full;
-#else
- __uclibc_progname = *argv;
+ program_invocation_short_name = program_invocation_name;
#endif
#ifdef __UCLIBC_CTOR_DTOR__
More information about the uClibc-cvs
mailing list