diff options
-rw-r--r-- | sysdeps/generic/dl-sysdep.c | 8 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/dl-osinfo.h | 5 |
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. */ |