aboutsummaryrefslogtreecommitdiff
path: root/libgloss/i386/cygmon-crt0.S
diff options
context:
space:
mode:
Diffstat (limited to 'libgloss/i386/cygmon-crt0.S')
-rw-r--r--libgloss/i386/cygmon-crt0.S82
1 files changed, 0 insertions, 82 deletions
diff --git a/libgloss/i386/cygmon-crt0.S b/libgloss/i386/cygmon-crt0.S
deleted file mode 100644
index 9be020917..000000000
--- a/libgloss/i386/cygmon-crt0.S
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- * crt0 startup code for user programs running under Cygmon
- *
- * Copyright (c) 1998 Cygnus Support
- *
- * The authors hereby grant permission to use, copy, modify, distribute,
- * and license this software and its documentation for any purpose, provided
- * that existing copyright notices are retained in all copies and that this
- * notice is included verbatim in any distributions. No written agreement,
- * license, or royalty fee is required for any of the authorized uses.
- * Modifications to this software may be copyrighted by their authors
- * and need not follow the licensing terms described here, provided that
- * the new terms are clearly indicated on the first page of each file where
- * they apply.
- */
-
-#ifndef NEED_UNDERSCORE
-#define SYM(X) X
-#else
-#define SYM(X) _ ## X
-#endif
-
-.data
- .align 8
-SYM(environ):
- .long 0
-
-SYM(argc):
- .long 0
-
- .text
- .align 4
-
- .globl SYM(_start)
-SYM(_start):
- /* see if the stack is already setup. if not, then default
- * to using the value of %sp as set by the ROM monitor
- */
- lea __stack,%eax
- cmpl $0,%eax
- jz 1f
- mov %eax, %esp
-1:
- mov $0, %ebp
-
- lea __bss_start, %eax
-2:
- movb $0,(%eax)
- inc %eax
- cmp $__bss_end,%eax
- jl 2b
-
-2:
- pushl $SYM(__sigtramp)
- pushl $0
- call SYM(__install_signal_handler)
- add $4, %esp
-
- pushl $SYM(__do_global_dtors)
- call SYM(atexit)
- add $4, %esp
-
- call SYM(__do_global_ctors)
-
- pushl $SYM(argc)
- call SYM(__get_program_arguments)
- add $4, %esp
-
- pushl %eax
- lea SYM(argc), %ebx
- pushl (%ebx)
- call SYM(main)
- add $8, %esp
-
- /* call exit from the C library so atexit gets called, and the
- * C++ destructors get run. This calls our exit routine below
- * when it's done.
- */
- pushl %eax
- call SYM(exit)
-3:
- jmp 3b