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 'newlib/libc/sys/rtems/crt0.c')
-rw-r--r--newlib/libc/sys/rtems/crt0.c95
1 files changed, 10 insertions, 85 deletions
diff --git a/newlib/libc/sys/rtems/crt0.c b/newlib/libc/sys/rtems/crt0.c
index 47332b752..e77b52eaf 100644
--- a/newlib/libc/sys/rtems/crt0.c
+++ b/newlib/libc/sys/rtems/crt0.c
@@ -1,3 +1,4 @@
+void rtems_provides_crt0( void ) {}
/*
* RTEMS Fake crt0
*
@@ -10,10 +11,6 @@
* but this is enough to satisfy the autoconf macro AC_PROG_CC.
*/
-#include <reent.h>
-
-void rtems_provides_crt0( void ) {} /* dummy symbol so file always has one */
-
/* RTEMS provides some of its own routines including a Malloc family */
void *malloc() { return 0; }
@@ -22,68 +19,16 @@ void free() { ; }
void abort() { ; }
int raise() { return -1; }
-#if defined(__GNUC__)
-/*
- * stubs for libstdc++ rtems-threads support functions from gcc/gthr-rtems.h
- */
-int rtems_gxx_once() { return -1; }
-int rtems_gxx_key_create() { return -1; }
-int rtems_gxx_key_delete() { return -1; }
-void *rtems_gxx_getspecific() { return 0; }
-int rtems_gxx_setspecific() { return -1; }
-
-void rtems_gxx_mutex_init() { }
-int rtems_gxx_mutex_lock() { return -1; }
-int rtems_gxx_mutex_trylock() { return -1; }
-int rtems_gxx_mutex_unlock() { return -1; }
-
-void rtems_gxx_recursive_mutex_init() { }
-int rtems_gxx_recursive_mutex_lock() { return -1; }
-int rtems_gxx_recursive_mutex_trylock() { return -1; }
-int rtems_gxx_recursive_mutex_unlock() { return -1; }
-#endif
-
-/* stubs for functions from reent.h */
-int _close_r (struct _reent *r, int fd) { return -1; }
-#if NOT_USED_BY_RTEMS
-int _execve_r (struct _reent *r, char *, char **, char **) { return -1; }
-#endif
-int _fcntl_r ( struct _reent *ptr, int fd, int cmd, int arg ) { return -1;}
-#if NOT_USED_BY_RTEMS
-int _fork_r (struct _reent *r) { return -1; }
-#endif
-int _fstat_r (struct _reent *r, int fd, struct stat *buf) { return -1; }
-int _getpid_r (struct _reent *r) { return -1; }
-int _kill_r ( struct _reent *r, int pid, int sig ) { return -1; }
-int _link_r ( struct _reent *ptr, const char *existing, const char *new) { return -1; }
-_off_t _lseek_r ( struct _reent *ptr, int fd, _off_t offset, int whence ) { return -1; }
-int _open_r (struct _reent *r, const char *buf, int flags, int mode) { return -1; }
-_ssize_t _read_r (struct _reent *r, int fd, void *buf, size_t nbytes) { return -1; }
-#if NOT_USED_BY_RTEMS
-void *_sbrk_r (struct _reent *r, ptrdiff_t) { return -1; }
-#endif
-int _stat_r (struct _reent *r, const char *path, struct stat *buf) { return -1; }
-_CLOCK_T_ _times_r (struct _reent *r, struct tms *ptms) { return -1; }
-int _unlink_r (struct _reent *r, const char *path) { return -1; }
-#if NOT_USED_BY_RTEMS
-int _wait_r (struct _reent *r, int *) { 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
-_ssize_t _write_r (struct _reent *r, int fd, const void *buf, size_t nbytes) { return -1; }
-
-int isatty( int fd ) { return -1; }
-
-_realloc_r() {}
-_calloc_r() {}
-_malloc_r() {}
-_free_r() {}
-
-/* gcc can implicitly generate references to these */
-/* strcmp() {} */
-/* strcpy() {} */
-/* strlen() {} */
-/* memcmp() {} */
-/* memcpy() {} */
-/* memset() {} */
/* The PowerPC expects certain symbols to be defined in the linker script. */
@@ -95,14 +40,6 @@ _free_r() {}
int __FIXUP_START__; int __FIXUP_END__;
int __EXCEPT_START__; int __EXCEPT_END__;
int __init; int __fini;
- int __CTOR_LIST__; int __CTOR_END__;
- int __DTOR_LIST__; int __DTOR_END__;
-#endif
-
-/* The SH expects certain symbols to be defined in the linker script. */
-
-#if defined(__sh__)
-int __EH_FRAME_BEGIN__;
#endif
/* The hppa expects this to be defined in the real crt0.s.
@@ -117,10 +54,6 @@ int __EH_FRAME_BEGIN__;
asm ( "\$global\$:");
*/
- asm (".text");
- asm (".global");
- asm (".EXPORT $$dyncall,ENTRY");
- asm ("$$dyncall:");
int atexit(void (*function)(void)) { return 0; }
#endif
@@ -139,11 +72,3 @@ asm (".equ V_FILL, 65" );
asm (".equ V_BSD_OS, 66" );
asm (".equ V_EPI_OS, 69" );
#endif
-
-#if defined(__AVR__)
-/*
- * Initial stack pointer address "__stack"
- * hard coded into GCC instead of providing it through ldscripts
- */
-const char* __stack ;
-#endif