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/i960/crt0.c')
-rw-r--r--libgloss/i960/crt0.c66
1 files changed, 0 insertions, 66 deletions
diff --git a/libgloss/i960/crt0.c b/libgloss/i960/crt0.c
deleted file mode 100644
index 45d7891f7..000000000
--- a/libgloss/i960/crt0.c
+++ /dev/null
@@ -1,66 +0,0 @@
-extern int main(int argc, char **argv, char **envp);
-extern int brk (void *value);
-
-extern char bss_start;
-extern char end;
-
-char *__env[1] = {0};
-char **environ = __env;
-
-#define ENABLE_TRACE_MASK 1
-
-__inline static void
-enable_tracing (void)
-{
- register int mask = ENABLE_TRACE_MASK;
- __asm__ volatile ("modpc %0,%0,%0"
- :
- : "d" (mask));
-}
-
-#define STACK_ALIGN 64
-
-__inline static void
-set_stack (void* ptr)
-{
- ptr = (void *)(((int)ptr + STACK_ALIGN - 1) & ~(STACK_ALIGN - 1));
- /* SP must be 64 bytes larger than FP at start. */
- __asm__ volatile ("mov %0,sp"
- :
- : "d" (ptr+STACK_ALIGN));
- __asm__ volatile ("mov %0,fp"
- :
- : "d" (ptr));
-}
-
-__inline static void
-init_Cregs (void)
-{
- /* set register values gcc like */
- register unsigned int mask0=0x3b001000;
- register unsigned int mask1=0x00009107;
- __asm__ volatile ("mov %0,g14"
- : /* no output */
- : "I" (0)); /* gnu structure pointer */
- __asm__ volatile ("modac %1,%0,%0"
- : /* no output */
- : "d" (mask0),
- "d" (mask1)); /* fpu control kb */
-}
-
-void
-_start(void)
-{
- char *p;
-
- enable_tracing ();
- set_stack (&end);
- init_Cregs ();
- /* The stack grows upwards, so this makes the heap start after a 256K
- stack area. PlumHall known to fail with less than 73K of stack. */
- brk (&end+0x40000);
- /* clear bss */
- memset (&bss_start, 0, &end - &bss_start);
- main(0, 0, 0);
- exit(0);
-}