* libcsupport/src/newlibc_exit.c, score/src/threadhandler.c: Added
	init/fini array support for ARM EABI.  The __libc_init_array() and
	__libc_fini_array() functions are provided by Newlib.
This commit is contained in:
Sebastian Huber
2011-08-15 08:23:49 +00:00
parent 7b46d7a63d
commit 1f3585d1cb
3 changed files with 11 additions and 1 deletions

View File

@@ -1,3 +1,9 @@
2011-08-15 Sebastian Huber <sebastian.huber@embedded-brains.de>
* libcsupport/src/newlibc_exit.c, score/src/threadhandler.c: Added
init/fini array support for ARM EABI. The __libc_init_array() and
__libc_fini_array() functions are provided by Newlib.
2011-08-02 Joel Sherrill <joel.sherrill@oarcorp.com>
PR 1877/cpukit

View File

@@ -128,6 +128,8 @@ void libc_wrapup(void)
#if defined(__USE_INIT_FINI__)
#if defined(__m32r__)
#define FINI_SYMBOL __fini
#elif defined(__ARM_EABI__)
#define FINI_SYMBOL __libc_fini_array
#else
#define FINI_SYMBOL _fini
#endif
@@ -141,7 +143,7 @@ void EXIT_SYMBOL(int status)
* If the toolset uses init/fini sections, then we need to
* run the global destructors now.
*/
#if defined(__USE_INIT_FINI__)
#if defined(FINI_SYMBOL)
FINI_SYMBOL();
#endif

View File

@@ -37,6 +37,8 @@
#if defined(__USE_INIT_FINI__)
#if defined(__M32R__)
#define INIT_NAME __init
#elif defined(__ARM_EABI__)
#define INIT_NAME __libc_init_array
#else
#define INIT_NAME _init
#endif