aboutsummaryrefslogtreecommitdiff
path: root/lib/mlibc/sysdeps/ironclad/generic/entry.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lib/mlibc/sysdeps/ironclad/generic/entry.cpp')
-rw-r--r--lib/mlibc/sysdeps/ironclad/generic/entry.cpp35
1 files changed, 0 insertions, 35 deletions
diff --git a/lib/mlibc/sysdeps/ironclad/generic/entry.cpp b/lib/mlibc/sysdeps/ironclad/generic/entry.cpp
deleted file mode 100644
index 2b8b914..0000000
--- a/lib/mlibc/sysdeps/ironclad/generic/entry.cpp
+++ /dev/null
@@ -1,35 +0,0 @@
-
-#include <stdint.h>
-#include <stdlib.h>
-#include <bits/ensure.h>
-#include <mlibc/elf/startup.h>
-
-// defined by the POSIX library
-void __mlibc_initLocale();
-
-extern "C" uintptr_t *__dlapi_entrystack();
-
-extern char **environ;
-static mlibc::exec_stack_data __mlibc_stack_data;
-
-struct LibraryGuard {
- LibraryGuard();
-};
-
-static LibraryGuard guard;
-
-LibraryGuard::LibraryGuard() {
- __mlibc_initLocale();
-
- // Parse the exec() stack.
- mlibc::parse_exec_stack(__dlapi_entrystack(), &__mlibc_stack_data);
- mlibc::set_startup_data(__mlibc_stack_data.argc, __mlibc_stack_data.argv,
- __mlibc_stack_data.envp);
-}
-
-extern "C" void __mlibc_entry(int (*main_fn)(int argc, char *argv[], char *env[])) {
- // TODO: call __dlapi_enter, otherwise static builds will break (see Linux sysdeps)
- auto result = main_fn(__mlibc_stack_data.argc, __mlibc_stack_data.argv, environ);
- exit(result);
-}
-