about summary refs log tree commit diff
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2000-08-22 17:59:19 +0000
committerUlrich Drepper <drepper@redhat.com>2000-08-22 17:59:19 +0000
commitc43a17327f2a016f3c8f4cbba61038a48ed59526 (patch)
treee55fb53d2b14cfde1f8eea55ae868e1480c31db9
parent32b4fe6a63b7a95a8bdcd0d799a9de2106723790 (diff)
downloadglibc-c43a17327f2a016f3c8f4cbba61038a48ed59526.tar.gz
glibc-c43a17327f2a016f3c8f4cbba61038a48ed59526.tar.xz
glibc-c43a17327f2a016f3c8f4cbba61038a48ed59526.zip
(_dl_sysdep_start): Move DL_SYSDEP_OSCHECK before the use of the first system call.
-rw-r--r--sysdeps/generic/dl-sysdep.c8
-rw-r--r--sysdeps/unix/sysv/linux/dl-osinfo.h5
2 files changed, 9 insertions, 4 deletions
diff --git a/sysdeps/generic/dl-sysdep.c b/sysdeps/generic/dl-sysdep.c
index c081269bb0..889a216d4a 100644
--- a/sysdeps/generic/dl-sysdep.c
+++ b/sysdeps/generic/dl-sysdep.c
@@ -138,6 +138,10 @@ _dl_sysdep_start (void **start_argptr,
 	break;
       }
 
+#ifdef DL_SYSDEP_OSCHECK
+  DL_SYSDEP_OSCHECK (dl_fatal);
+#endif
+
   /* Linux doesn't provide us with any of these values on the stack
      when the dynamic linker is run directly as a program.  */
 
@@ -178,10 +182,6 @@ _dl_sysdep_start (void **start_argptr,
   if (__builtin_expect (__libc_enable_secure, 0))
     __libc_check_standard_fds ();
 
-#ifdef DL_SYSDEP_OSCHECK
-  DL_SYSDEP_OSCHECK (dl_fatal);
-#endif
-
   (*dl_main) (phdr, phnum, &user_entry);
   return user_entry;
 }
diff --git a/sysdeps/unix/sysv/linux/dl-osinfo.h b/sysdeps/unix/sysv/linux/dl-osinfo.h
index 00a6caeaa6..f327161b7a 100644
--- a/sysdeps/unix/sysv/linux/dl-osinfo.h
+++ b/sysdeps/unix/sysv/linux/dl-osinfo.h
@@ -19,6 +19,11 @@
 
 #include <sys/sysctl.h>
 
+/* There is no prototype for __sysctl in that file.  */
+extern int __sysctl (int *name, int nlen, void *oldval,
+		     size_t *oldlenp, void *newval, size_t newlen);
+
+
 #ifdef SHARED
 /* This is the function used in the dynamic linker to print the fatal error
    message.  */