summaryrefslogtreecommitdiff
path: root/libc
diff options
context:
space:
mode:
authorFilippo Arcidiacono <filippo.arcidiacono@st.com>2012-05-08 15:42:48 +0200
committerCarmelo Amoroso <carmelo.amoroso@st.com>2012-05-18 09:04:11 +0200
commitf8111809bae5bfe384bbbf59d59eb6ee4b16ec7f (patch)
treed45cbb1190ad7c856d35961c61832b47440fd6f1 /libc
parentca2223f6b74b03d285370a92849af7cdf059ffb2 (diff)
ldso: sh: handle _dl_skip_args in linker startup instead of __uClibc_main
Handle _dl_skip_args in the asm part of the dynamic linker startup, to skip the ldso arguments, so we can keep this symbol hidden as other archs do. Signed-off-by: Filippo Arcidiacono <filippo.arcidiacono@st.com> Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
Diffstat (limited to 'libc')
-rw-r--r--libc/misc/internals/__uClibc_main.c16
1 files changed, 0 insertions, 16 deletions
diff --git a/libc/misc/internals/__uClibc_main.c b/libc/misc/internals/__uClibc_main.c
index 71fdbd8a7..8e9d58f7c 100644
--- a/libc/misc/internals/__uClibc_main.c
+++ b/libc/misc/internals/__uClibc_main.c
@@ -146,10 +146,6 @@ extern void (*__fini_array_end []) (void) attribute_hidden;
# endif
#endif
-#if defined (__LDSO_STANDALONE_SUPPORT__) && defined (SHARED) && defined __sh__
-extern unsigned long _dl_skip_args;
-#endif
-
attribute_hidden const char *__uclibc_progname = "";
#ifdef __UCLIBC_HAS_PROGRAM_INVOCATION_NAME__
const char *program_invocation_short_name = "";
@@ -339,18 +335,6 @@ void __uClibc_main(int (*main)(int, char **, char **), int argc,
__rtld_fini = rtld_fini;
-#if defined __LDSO_STANDALONE_SUPPORT__ && defined SHARED && defined __sh__
- /*
- * Skip ld.so and its arguments
- * Other archs except for SH do this in _dl_start before passing
- * control to the application.
- * FIXME: align SH _dl_start to other archs and remove this from here,
- * so that we can keep the visibility hidden.
- */
- argc -= _dl_skip_args;
- argv += _dl_skip_args;
-#endif
-
/* The environment begins right after argv. */
__environ = &argv[argc + 1];