home *** CD-ROM | disk | FTP | other *** search
- /*
- * Copyright (c) 1993 Eric Youngdale, Peter MacDonald, David Engel
- * and Hongjiu Lu.
- *
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. The name of the above contributors may not be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-
- /* Notice of general intent:
- *
- * The linux operating system generally contains large amounts of code
- * that fall under the GNU General Public License, or GPL for short.
- * This file contains source code that by it's very nature would always
- * be linked with an application program, and because of this a GPL type
- * of copyright on this file would place restrictions upon the
- * distribution of binary-only commercial software. Since the goal of the
- * Linux project as a whole is not to discourage the development and
- * distribution of commercial software for Linux, this file has been placed
- * under a more relaxed BSD-style of copyright.
- *
- * It is the general understanding of the above contributors that a
- * program executable linked to a library containing code that falls
- * under the GPL or GLPL style of license is not subject to the terms of
- * the GPL or GLPL license if the program executable(s) that are supplied
- * are linked to a shared library form of the GPL or GLPL library, and as long
- * as the form of the shared library is such that it is possible for
- * the end user to modify and rebuild the library and use it in
- * conjunction with the program executable.
- */
-
- .file "gcrt0.S"
-
- .text
- __entry:
- /*
- * The first thing we do is try to load the shared library. If that
- * fails, it won't return.
- */
- jbsr ___load_shared_libraries
- /*
- * This is important, and was missing from the new version...
- */
- moveq #45,d0
- moveq #0,d1
- trap #0
- movel d0,____brk_addr
- /*
- * Setup profiling
- */
- pea __mcleanup
- jbsr _atexit
- addql #4,sp
- pea _etext
- pea __entry
- jbsr _monstartup
- addql #8,sp
- /*
- * Setup ___environ and call _main
- */
- movel sp@(8),___environ
- movel ___fpu_control,sp@-
- jbsr ___setfpucw
- addql #4,sp
- /* Some functions may be needed. */
- jbsr ___libc_init
- jbsr _main
- movel d0,sp@-
- jbsr _exit
- /*
- * Just in case _exit fails... We use trap #0 for __exit().
- */
- addql #4,sp
- done:
- moveq #1,d0
- trap #0
- bras done
-
- .align 4
- ___shared_dummy__:
- .asciz ""
- .stabs "___SHARED_LIBRARIES__",25,0,0,___shared_dummy__
-
- .data
- .align 4
- ___shared_dummy1__:
- .long 0xfeeb1ed3 /* Magic number used by DLL code to make sure this
- is a real list */
-
- .stabs "__SHARABLE_CONFLICTS__",25,0,0,___shared_dummy1__
-