diff options
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | elf/dl-init.c | 6 | ||||
-rw-r--r-- | misc/sys/cdefs.h | 9 | ||||
-rw-r--r-- | sysdeps/i386/dl-machine.h | 3 |
4 files changed, 21 insertions, 4 deletions
@@ -1,5 +1,12 @@ 2000-03-30 Ulrich Drepper <drepper@redhat.com> + * elf/dl-init.c (_dl_init): Clear _dl_starting_up at end of + with size of dynamic sectionfunction. + * sysdeps/i386/dl-machine.h: Remove code to clear _dl_starting_up. + + * misc/sys/cdefs.h: Don't allow gcc in traditional mode to be + with size of dynamic sectionused. + * elf/Makefile (dl-routines): Remove preinit. * elf/Versions: Remove _dl_preinit. * elf/dl-preinit.c: Removed. Move content into... diff --git a/elf/dl-init.c b/elf/dl-init.c index 2c1c24c..911e089 100644 --- a/elf/dl-init.c +++ b/elf/dl-init.c @@ -24,6 +24,9 @@ /* Type of the initializer. */ typedef void (*init_t) (int, char **, char **); +/* Flag, nonzero during startup phase. */ +extern int _dl_starting_up; + void internal_function @@ -127,4 +130,7 @@ _dl_init (struct link_map *main_map, int argc, char **argv, char **env) /* Notify the debugger all new objects are now ready to go. */ r->r_state = RT_CONSISTENT; _dl_debug_state (); + + /* Finished starting up. */ + _dl_starting_up = 0; } diff --git a/misc/sys/cdefs.h b/misc/sys/cdefs.h index 36510ef..5880fe9 100644 --- a/misc/sys/cdefs.h +++ b/misc/sys/cdefs.h @@ -21,7 +21,14 @@ /* We are almost always included from features.h. */ #ifndef _FEATURES_H -#include <features.h> +# include <features.h> +#endif + +/* The GNU libc does not support any K&R compilers or the traditional mode + of ISO C compilers anymore. Check for some of the combinations not + anymore supported. */ +#if defined __GNUC__ && !defined __STDC__ +# error "You need a ISO C conforming compiler to use the glibc headers" #endif /* Some user header file might have defined this before. */ diff --git a/sysdeps/i386/dl-machine.h b/sysdeps/i386/dl-machine.h index 2680b05..74f2eb3 100644 --- a/sysdeps/i386/dl-machine.h +++ b/sysdeps/i386/dl-machine.h @@ -233,9 +233,6 @@ _dl_start_user:\n\ call _dl_init@PLT\n\ # Push argc back on the stack.\n\ push %esi\n\ - # Clear the startup flag.\n\ - movl _dl_starting_up@GOT(%ebx), %eax\n\ - movl $0, (%eax)\n\ # Pass our finalizer function to the user in %edx, as per ELF ABI.\n\ movl _dl_fini@GOT(%ebx), %edx\n\ # Jump to the user's entry point.\n\ |