diff options
Diffstat (limited to 'newlib/libc/sys/cygwin/crt0.c')
-rw-r--r-- | newlib/libc/sys/cygwin/crt0.c | 49 |
1 files changed, 0 insertions, 49 deletions
diff --git a/newlib/libc/sys/cygwin/crt0.c b/newlib/libc/sys/cygwin/crt0.c deleted file mode 100644 index d6bdd5a..0000000 --- a/newlib/libc/sys/cygwin/crt0.c +++ /dev/null @@ -1,49 +0,0 @@ - -#ifdef __PPC__ -/* For the PowerPC, we want to make this function have its structured - exception table exception function point to something we control. */ - -extern void __cygwin_exception_handler(); -extern void mainCRTStartup(void) __attribute__((__exception__(__cygwin_exception_handler))); -#endif - -/* In the following ifdef'd i386 code, the FPU precision is set to 80 bits - and all FPU exceptions are masked. The former is needed to make long - doubles work correctly. The latter causes the FPU to generate NaNs and - Infinities instead of signals for certain operations. -*/ - -#ifdef __i386__ -#define FPU_RESERVED 0xF0C0 -#define FPU_DEFAULT 0x033f - -/* For debugging on *#!$@ windbg. bp for breakpoint. */ -int __cygwin_crt0_bp = 0; -#endif - -extern int main (int argc, char **argv); - -void -mainCRTStartup () -{ -#ifdef __i386__ - if (__cygwin_crt0_bp) - asm volatile ("int3"); - - { - volatile unsigned short cw; - - /* Get Control Word */ - __asm__ volatile ("fnstcw %0" : "=m" (cw) : ); - - /* mask in */ - cw &= FPU_RESERVED; - cw |= FPU_DEFAULT; - - /* set cw */ - __asm__ volatile ("fldcw %0" :: "m" (cw)); - } -#endif - - cygwin_crt0 (main); -} |