From 1b61a7060f7d51c9c8db162200d6b94b3404c904 Mon Sep 17 00:00:00 2001 From: Jeff Johnston Date: Mon, 4 Dec 2000 18:34:49 +0000 Subject: 2000-12-04 Joel Sherrill * libc/sys/rtems/crt0.c: Add stubs for functions implicitly referenced by code generated by gcc 2.8.1. (a29k): Add stubs for V_SPILL, V_FILL, V_BSD_OS, V_EPI_OS to satisfy gcc. --- newlib/ChangeLog | 7 +++++++ newlib/libc/sys/rtems/crt0.c | 28 +++++++++++++++++++++++++++- 2 files changed, 34 insertions(+), 1 deletion(-) (limited to 'newlib') diff --git a/newlib/ChangeLog b/newlib/ChangeLog index 7d381f3..2a40572 100644 --- a/newlib/ChangeLog +++ b/newlib/ChangeLog @@ -1,5 +1,12 @@ 2000-12-04 Joel Sherrill + * libc/sys/rtems/crt0.c: Add stubs for functions implicitly + referenced by code generated by gcc 2.8.1. + (a29k): Add stubs for V_SPILL, V_FILL, V_BSD_OS, V_EPI_OS to + satisfy gcc. + +2000-12-04 Joel Sherrill + * libc/stdlib/system.c: Avoid compiling do_system() for RTEMS. 2000-12-04 Joel Sherrill diff --git a/newlib/libc/sys/rtems/crt0.c b/newlib/libc/sys/rtems/crt0.c index 5c5b0f6..e77b52e 100644 --- a/newlib/libc/sys/rtems/crt0.c +++ b/newlib/libc/sys/rtems/crt0.c @@ -18,7 +18,18 @@ void *realloc() { return 0; } void free() { ; } void abort() { ; } int raise() { return -1; } - + +/* gcc 2.8.1 implicitly can generate references to these for at + * least sparc-elf */ +#if (__GNUC__ == 2) && (__GNUC_MINOR__ == 8) +strcmp() {} +strcpy() {} +strlen() {} +memcmp() {} +memcpy() {} +memset() {} +#endif + /* The PowerPC expects certain symbols to be defined in the linker script. */ #if defined(__PPC__) @@ -46,3 +57,18 @@ int raise() { return -1; } int atexit(void (*function)(void)) { return 0; } #endif + +/* + * The AMD a29k generates code expecting the following. + */ + +#if defined(_AM29000) || defined(_AM29K) +asm (".global V_SPILL, V_FILL" ); +asm (".global V_EPI_OS, V_BSD_OS" ); + +asm (".equ V_SPILL, 64" ); +asm (".equ V_FILL, 65" ); + +asm (".equ V_BSD_OS, 66" ); +asm (".equ V_EPI_OS, 69" ); +#endif -- cgit v1.1