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 'libgloss/pa/crt0.S')
-rw-r--r--libgloss/pa/crt0.S128
1 files changed, 0 insertions, 128 deletions
diff --git a/libgloss/pa/crt0.S b/libgloss/pa/crt0.S
deleted file mode 100644
index e9ea525a8..000000000
--- a/libgloss/pa/crt0.S
+++ /dev/null
@@ -1,128 +0,0 @@
-/* crt0.S -- startup file for hppa.
- *
- * Copyright (c) 1995 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.
- */
- .VERSION "1.0"
- .COPYRIGHT "crt0.o for the PA"
-
- .DATA
-
-/*
- * Set up the standard spaces (sections) These definitions come
- * from /lib/pcc_prefix.s.
- */
- .TEXT
-
-/*
- * stuff we need that's defined elsewhere.
- */
- .IMPORT main, CODE
- .IMPORT exit, CODE
- .IMPORT _bss_start, DATA
- .IMPORT _end, DATA
- .IMPORT environ, DATA
-
-/*
- * start -- set things up so the application will run.
- *
- */
- .PROC
- .CALLINFO SAVE_SP, FRAME=48
- .EXPORT $START$,ENTRY
-$START$
-
- /* FIXME: this writes to page zero */
- ;; setup the %30 (stack pointer) with some memory
- ldil L%_stack,%r30
- ldo R%_stack(%r30),%r30
-
- ;; we need to set %r27 (global data pointer) here too
- ldil L%$global$,%r27
- ldo R%$global$(%r27),%r27 ; same problem as above
-
-/*
- * zerobss -- zero out the bss section
- */
- ; load the start of bss
- ldil L%_bss_start,%r4
- ldo R%_bss_start(%r4),%r4
-
- ; load the end of bss
- ldil L%_end,%r5
- ldo R%_end(%r5),%r5
-
-
-L$bssloop
- addi -1,%r5,%r5 ; decrement _bss_end
- stb %r0,0(0,%r5) ; we do this by bytes for now even
- ; though it's slower, it's safer
- combf,= %r4,%r5, L$bssloop
- nop
-
- ldi 1,%ret0
-
-/*
- * Call the main routine from the application to get it going.
- * main (argc, argv, environ)
- * We pass argv as a pointer to NULL.
- */
-
- ldil L%main,%r22
- ble R%main(%sr4,%r22)
- copy %r31,%r2
-/*
- * Call exit() from the C library with the return value from main()
- */
- copy %r28,%r26
- ldil L%exit,%r22
- ble R%exit(%sr4,%r22)
- copy %r31,%r2
-
- .PROCEND
-/*
- * _exit -- Exit from the application. Normally we cause a user trap
- * to return to the ROM monitor for another run.
- */
- .EXPORT _exit, ENTRY
-_exit
- .PROC
- .CALLINFO
- .ENTRY
-
- ;; This just causes a breakpoint exception
- break 0x0,0x0
- bv,n (%rp)
- nop
- .EXIT
- .PROCEND
-
-/*
- * _sr4export -- support for called functions. (mostly for GDB)
- */
- .EXPORT _sr4export, ENTRY
-_sr4export:
- .PROC
- .CALLINFO
- .ENTRY
-
- ble 0(%sr4,%r22)
- copy %r31,%rp
- ldw -24(%sr0,%sp),%rp
- ldsid (%sr0,%rp),%r1
- mtsp %r1,%sr0
- be,n 0(%sr0,%rp)
- nop
- .EXIT
- .PROCEND
-
-