aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/generic
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/generic')
-rw-r--r--sysdeps/generic/dl-osinfo.h1
-rw-r--r--sysdeps/generic/dl-sysdep.c10
2 files changed, 9 insertions, 2 deletions
diff --git a/sysdeps/generic/dl-osinfo.h b/sysdeps/generic/dl-osinfo.h
new file mode 100644
index 0000000..b8e40d5
--- /dev/null
+++ b/sysdeps/generic/dl-osinfo.h
@@ -0,0 +1 @@
+/* Nothing needed in general. */
diff --git a/sysdeps/generic/dl-sysdep.c b/sysdeps/generic/dl-sysdep.c
index 1b00775..c081269 100644
--- a/sysdeps/generic/dl-sysdep.c
+++ b/sysdeps/generic/dl-sysdep.c
@@ -33,6 +33,7 @@
#include <entry.h>
#include <dl-machine.h>
#include <dl-procinfo.h>
+#include <dl-osinfo.h>
extern int _dl_argc;
extern char **_dl_argv;
@@ -59,7 +60,7 @@ unsigned long int _dl_hwcap_mask = HWCAP_IMPORTANT;
#ifndef DL_FIND_ARG_COMPONENTS
-#define DL_FIND_ARG_COMPONENTS(cookie, argc, argv, envp, auxp) \
+# define DL_FIND_ARG_COMPONENTS(cookie, argc, argv, envp, auxp) \
do { \
void **_tmp; \
(argc) = *(long *) cookie; \
@@ -87,7 +88,8 @@ _dl_sysdep_start (void **start_argptr,
gid_t egid = 0;
unsigned int seen;
- DL_FIND_ARG_COMPONENTS (start_argptr, _dl_argc, _dl_argv, _environ, _dl_auxv);
+ DL_FIND_ARG_COMPONENTS (start_argptr, _dl_argc, _dl_argv, _environ,
+ _dl_auxv);
user_entry = (ElfW(Addr)) &ENTRY_POINT;
_dl_platform = NULL; /* Default to nothing known about the platform. */
@@ -176,6 +178,10 @@ _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;
}