Browse Source

Eliminate the useless _dl_interpreter_exit function

Eric Andersen 24 years ago
parent
commit
02beefe984

+ 0 - 7
ldso/ldso/boot1.c

@@ -151,7 +151,6 @@ unsigned int * _dl_envp;
   RESULT = hash; \
   RESULT = hash; \
 }
 }
 extern int _dl_linux_resolve(void);
 extern int _dl_linux_resolve(void);
-extern int _dl_interpreter_exit(int);
 extern char * _dl_strdup(const char *);
 extern char * _dl_strdup(const char *);
 extern char * _dl_getenv(char * symbol, char ** envp);
 extern char * _dl_getenv(char * symbol, char ** envp);
 extern void _dl_unsetenv(char * symbol, char ** envp);
 extern void _dl_unsetenv(char * symbol, char ** envp);
@@ -997,9 +996,3 @@ char * _dl_strdup(const char * string){
   return retval;
   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;
-}

+ 3 - 4
ldso/ldso/i386/dl-sysdep.h

@@ -58,14 +58,13 @@
 
 
 /*
 /*
  * Transfer control to the user's application, once the dynamic loader
  * 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()		\
 #define START()		\
 	__asm__ volatile ("leave\n\t" \
 	__asm__ volatile ("leave\n\t" \
 		    "jmp *%%eax\n\t"	\
 		    "jmp *%%eax\n\t"	\
-		    : "=a" (status) :	\
-		    "d" (_dl_interpreter_exit), "a" (_dl_elf_main))
+		    : "=a" (status) :	"a" (_dl_elf_main))
 
 
 
 
 
 

+ 3 - 4
ldso/ldso/i386/ld_sysdep.h

@@ -58,14 +58,13 @@
 
 
 /*
 /*
  * Transfer control to the user's application, once the dynamic loader
  * 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()		\
 #define START()		\
 	__asm__ volatile ("leave\n\t" \
 	__asm__ volatile ("leave\n\t" \
 		    "jmp *%%eax\n\t"	\
 		    "jmp *%%eax\n\t"	\
-		    : "=a" (status) :	\
-		    "d" (_dl_interpreter_exit), "a" (_dl_elf_main))
+		    : "=a" (status) :	"a" (_dl_elf_main))
 
 
 
 
 
 

+ 3 - 4
ldso/ldso/i386/sysdep.h

@@ -58,14 +58,13 @@
 
 
 /*
 /*
  * Transfer control to the user's application, once the dynamic loader
  * 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()		\
 #define START()		\
 	__asm__ volatile ("leave\n\t" \
 	__asm__ volatile ("leave\n\t" \
 		    "jmp *%%eax\n\t"	\
 		    "jmp *%%eax\n\t"	\
-		    : "=a" (status) :	\
-		    "d" (_dl_interpreter_exit), "a" (_dl_elf_main))
+		    : "=a" (status) :	"a" (_dl_elf_main))
 
 
 
 
 
 

+ 0 - 7
ldso/ldso/ld-uClibc.c

@@ -151,7 +151,6 @@ unsigned int * _dl_envp;
   RESULT = hash; \
   RESULT = hash; \
 }
 }
 extern int _dl_linux_resolve(void);
 extern int _dl_linux_resolve(void);
-extern int _dl_interpreter_exit(int);
 extern char * _dl_strdup(const char *);
 extern char * _dl_strdup(const char *);
 extern char * _dl_getenv(char * symbol, char ** envp);
 extern char * _dl_getenv(char * symbol, char ** envp);
 extern void _dl_unsetenv(char * symbol, char ** envp);
 extern void _dl_unsetenv(char * symbol, char ** envp);
@@ -997,9 +996,3 @@ char * _dl_strdup(const char * string){
   return retval;
   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;
-}

+ 0 - 7
ldso/ldso/ldso.c

@@ -151,7 +151,6 @@ unsigned int * _dl_envp;
   RESULT = hash; \
   RESULT = hash; \
 }
 }
 extern int _dl_linux_resolve(void);
 extern int _dl_linux_resolve(void);
-extern int _dl_interpreter_exit(int);
 extern char * _dl_strdup(const char *);
 extern char * _dl_strdup(const char *);
 extern char * _dl_getenv(char * symbol, char ** envp);
 extern char * _dl_getenv(char * symbol, char ** envp);
 extern void _dl_unsetenv(char * symbol, char ** envp);
 extern void _dl_unsetenv(char * symbol, char ** envp);
@@ -997,9 +996,3 @@ char * _dl_strdup(const char * string){
   return retval;
   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;
-}