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...
/* Type of the initializer. */
typedef void (*init_t) (int, char **, char **);
+/* Flag, nonzero during startup phase. */
+extern int _dl_starting_up;
+
void
internal_function
/* 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;
}
/* 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. */
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\