summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ldso/ldso/boot1.c7
-rw-r--r--ldso/ldso/i386/dl-sysdep.h7
-rw-r--r--ldso/ldso/i386/ld_sysdep.h7
-rw-r--r--ldso/ldso/i386/sysdep.h7
-rw-r--r--ldso/ldso/ld-uClibc.c7
-rw-r--r--ldso/ldso/ldso.c7
6 files changed, 9 insertions, 33 deletions
diff --git a/ldso/ldso/boot1.c b/ldso/ldso/boot1.c
index dd66b51b2..3b613fb87 100644
--- a/ldso/ldso/boot1.c
+++ b/ldso/ldso/boot1.c
@@ -151,7 +151,6 @@ unsigned int * _dl_envp;
RESULT = hash; \
}
extern int _dl_linux_resolve(void);
-extern int _dl_interpreter_exit(int);
extern char * _dl_strdup(const char *);
extern char * _dl_getenv(char * symbol, char ** envp);
extern void _dl_unsetenv(char * symbol, char ** envp);
@@ -997,9 +996,3 @@ char * _dl_strdup(const char * string){
return retval;
}
-/* In principle we could do the .fini stuff here, but we already
- registered this stuff with atexit */
-int _dl_interpreter_exit(int exitcode){
-/* _dl_fdprintf(2, "Hey, look where I am!\n"); */
- return 0;
-}
diff --git a/ldso/ldso/i386/dl-sysdep.h b/ldso/ldso/i386/dl-sysdep.h
index bf3d43be6..2011049b1 100644
--- a/ldso/ldso/i386/dl-sysdep.h
+++ b/ldso/ldso/i386/dl-sysdep.h
@@ -58,14 +58,13 @@
/*
* Transfer control to the user's application, once the dynamic loader
- * is done.
+ * is done. This routine has to exit the current function, then
+ * call the _dl_elf_main function.
*/
-
#define START() \
__asm__ volatile ("leave\n\t" \
"jmp *%%eax\n\t" \
- : "=a" (status) : \
- "d" (_dl_interpreter_exit), "a" (_dl_elf_main))
+ : "=a" (status) : "a" (_dl_elf_main))
diff --git a/ldso/ldso/i386/ld_sysdep.h b/ldso/ldso/i386/ld_sysdep.h
index bf3d43be6..2011049b1 100644
--- a/ldso/ldso/i386/ld_sysdep.h
+++ b/ldso/ldso/i386/ld_sysdep.h
@@ -58,14 +58,13 @@
/*
* Transfer control to the user's application, once the dynamic loader
- * is done.
+ * is done. This routine has to exit the current function, then
+ * call the _dl_elf_main function.
*/
-
#define START() \
__asm__ volatile ("leave\n\t" \
"jmp *%%eax\n\t" \
- : "=a" (status) : \
- "d" (_dl_interpreter_exit), "a" (_dl_elf_main))
+ : "=a" (status) : "a" (_dl_elf_main))
diff --git a/ldso/ldso/i386/sysdep.h b/ldso/ldso/i386/sysdep.h
index bf3d43be6..2011049b1 100644
--- a/ldso/ldso/i386/sysdep.h
+++ b/ldso/ldso/i386/sysdep.h
@@ -58,14 +58,13 @@
/*
* Transfer control to the user's application, once the dynamic loader
- * is done.
+ * is done. This routine has to exit the current function, then
+ * call the _dl_elf_main function.
*/
-
#define START() \
__asm__ volatile ("leave\n\t" \
"jmp *%%eax\n\t" \
- : "=a" (status) : \
- "d" (_dl_interpreter_exit), "a" (_dl_elf_main))
+ : "=a" (status) : "a" (_dl_elf_main))
diff --git a/ldso/ldso/ld-uClibc.c b/ldso/ldso/ld-uClibc.c
index dd66b51b2..3b613fb87 100644
--- a/ldso/ldso/ld-uClibc.c
+++ b/ldso/ldso/ld-uClibc.c
@@ -151,7 +151,6 @@ unsigned int * _dl_envp;
RESULT = hash; \
}
extern int _dl_linux_resolve(void);
-extern int _dl_interpreter_exit(int);
extern char * _dl_strdup(const char *);
extern char * _dl_getenv(char * symbol, char ** envp);
extern void _dl_unsetenv(char * symbol, char ** envp);
@@ -997,9 +996,3 @@ char * _dl_strdup(const char * string){
return retval;
}
-/* In principle we could do the .fini stuff here, but we already
- registered this stuff with atexit */
-int _dl_interpreter_exit(int exitcode){
-/* _dl_fdprintf(2, "Hey, look where I am!\n"); */
- return 0;
-}
diff --git a/ldso/ldso/ldso.c b/ldso/ldso/ldso.c
index dd66b51b2..3b613fb87 100644
--- a/ldso/ldso/ldso.c
+++ b/ldso/ldso/ldso.c
@@ -151,7 +151,6 @@ unsigned int * _dl_envp;
RESULT = hash; \
}
extern int _dl_linux_resolve(void);
-extern int _dl_interpreter_exit(int);
extern char * _dl_strdup(const char *);
extern char * _dl_getenv(char * symbol, char ** envp);
extern void _dl_unsetenv(char * symbol, char ** envp);
@@ -997,9 +996,3 @@ char * _dl_strdup(const char * string){
return retval;
}
-/* In principle we could do the .fini stuff here, but we already
- registered this stuff with atexit */
-int _dl_interpreter_exit(int exitcode){
-/* _dl_fdprintf(2, "Hey, look where I am!\n"); */
- return 0;
-}