Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'newlib/libc/sys/linux/machine/i386/crt0.c')
-rw-r--r--newlib/libc/sys/linux/machine/i386/crt0.c45
1 files changed, 0 insertions, 45 deletions
diff --git a/newlib/libc/sys/linux/machine/i386/crt0.c b/newlib/libc/sys/linux/machine/i386/crt0.c
deleted file mode 100644
index 4364f61d4..000000000
--- a/newlib/libc/sys/linux/machine/i386/crt0.c
+++ /dev/null
@@ -1,45 +0,0 @@
-/* libc/sys/linux/crt0.c - Run-time initialization */
-
-/* FIXME: This should be rewritten in assembler and
- placed in a subdirectory specific to a platform.
- There should also be calls to run constructors. */
-
-/* Written 2000 by Werner Almesberger */
-
-
-#include <stdlib.h>
-#include <time.h>
-#include <string.h>
-
-
-extern char **environ;
-
-extern int main(int argc,char **argv,char **envp);
-
-extern char _end;
-extern char __bss_start;
-
-void _start(int args)
-{
- /*
- * The argument block begins above the current stack frame, because we
- * have no return address. The calculation assumes that sizeof(int) ==
- * sizeof(void *). This is okay for i386 user space, but may be invalid in
- * other cases.
- */
- int *params = &args-1;
- int argc = *params;
- char **argv = (char **) (params+1);
-
- environ = argv+argc+1;
-
- /* Note: do not clear the .bss section. When running with shared
- * libraries, certain data items such __mb_cur_max or environ
- * may get placed in the .bss, even though they are initialized
- * to non-zero values. Clearing the .bss will end up zeroing
- * out their initial values. The .bss is already initialized
- * by this time by Linux. */
-
- tzset(); /* initialize timezone info */
- exit(main(argc,argv,environ));
-}