diff options
author | Joel Sherrill <joel.sherrill@OARcorp.com> | 2007-05-09 18:27:26 +0000 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@OARcorp.com> | 2007-05-09 18:27:26 +0000 |
commit | c3db01d0f37921ba809825e9c6b7fbe86b8fae5d (patch) | |
tree | 0f7adb0ea85567c63adf99d5cf0e67b7598aa61b /cpukit/sapi/include/confdefs.h | |
parent | 2007-05-09 Joel Sherrill <joel.sherrill@OARcorp.com> (diff) | |
download | rtems-c3db01d0f37921ba809825e9c6b7fbe86b8fae5d.tar.bz2 |
2007-05-09 Joel Sherrill <joel.sherrill@OARcorp.com>
* libcsupport/include/rtems/libcsupport.h, libcsupport/src/newlibc.c,
sapi/Makefile.am, sapi/include/confdefs.h, sapi/src/exinit.c,
score/Makefile.am, score/preinstall.am,
score/include/rtems/score/userext.h, score/src/chain.c,
score/src/userext.c: Switch to newlib reentrancy extension being
installed in the initial set instead of using rtems_extension_create.
While implementing this, noticed that user extensions and chain code
had multiple functions in a single file which is not desirable in the
SuperCore and API portions of RTEMS, so split these into multiple
files with one function per file. Also noticed that some of user
extension code was inlined for no particular reason so moved that to
C bodies. Split executive shutdown from initialization since not
every application shuts down. Moved __fini call to executive shutdown
to be more symmetrical with where it is called at startup.
* sapi/src/exshutdown.c, score/src/chainappend.c,
score/src/chainextract.c, score/src/chainget.c,
score/src/chaininsert.c, score/src/userextaddapiset.c,
score/src/userextaddset.c, score/src/userextremoveset.c,
score/src/userextthreadbegin.c, score/src/userextthreadcreate.c,
score/src/userextthreaddelete.c, score/src/userextthreadrestart.c,
score/src/userextthreadstart.c, score/src/userextthreadswitch.c: New
files.
* score/inline/rtems/score/userext.inl: Removed.
Diffstat (limited to 'cpukit/sapi/include/confdefs.h')
-rw-r--r-- | cpukit/sapi/include/confdefs.h | 77 |
1 files changed, 40 insertions, 37 deletions
diff --git a/cpukit/sapi/include/confdefs.h b/cpukit/sapi/include/confdefs.h index 5eb86065e7..b32d9a84ac 100644 --- a/cpukit/sapi/include/confdefs.h +++ b/cpukit/sapi/include/confdefs.h @@ -64,10 +64,10 @@ extern itron_api_configuration_table Configuration_ITRON_API; * RTEMS C Library and Newlib support */ -#ifdef RTEMS_NEWLIB -#define CONFIGURE_NEWLIB_EXTENSION 1 +#if (defined(RTEMS_NEWLIB) && defined(CONFIGURE_DISABLE_NEWLIB_REENTRANCY)) + #define CONFIGURE_NEWLIB_EXTENSION 1 #else -#define CONFIGURE_NEWLIB_EXTENSION 0 + #define CONFIGURE_NEWLIB_EXTENSION 0 #endif /* @@ -130,26 +130,24 @@ extern int rtems_telnetd_maximum_ptys; #endif /* CONFIGURE_INIT */ #ifdef CONFIGURE_INIT -#ifndef CONFIGURE_HAS_OWN_MOUNT_TABLE -rtems_filesystem_mount_table_t configuration_mount_table = { -#ifdef CONFIGURE_USE_IMFS_AS_BASE_FILESYSTEM - &IMFS_ops, -#else /* using miniIMFS as base filesystem */ - &miniIMFS_ops, -#endif - RTEMS_FILESYSTEM_READ_WRITE, - NULL, - NULL -}; - -rtems_filesystem_mount_table_t - *rtems_filesystem_mount_table = &configuration_mount_table; -int rtems_filesystem_mount_table_size = 1; -#endif - + #ifndef CONFIGURE_HAS_OWN_MOUNT_TABLE + rtems_filesystem_mount_table_t configuration_mount_table = { + #ifdef CONFIGURE_USE_IMFS_AS_BASE_FILESYSTEM + &IMFS_ops, + #else /* using miniIMFS as base filesystem */ + &miniIMFS_ops, + #endif + RTEMS_FILESYSTEM_READ_WRITE, + NULL, + NULL + }; + + rtems_filesystem_mount_table_t + *rtems_filesystem_mount_table = &configuration_mount_table; + int rtems_filesystem_mount_table_size = 1; + #endif #endif - /* * Stack Checker Requirements * @@ -510,25 +508,30 @@ rtems_multiprocessing_table Multiprocessing_configuration = { #ifdef STACK_CHECKER_ON #include <rtems/stackchk.h> #endif +#include <rtems/libcsupport.h> #if defined(CONFIGURE_INITIAL_EXTENSIONS) || \ - defined(STACK_CHECKER_ON) -rtems_extensions_table Configuration_Initial_Extensions[] = { -#ifdef CONFIGURE_INITIAL_EXTENSIONS - CONFIGURE_INITIAL_EXTENSIONS, -#endif -#ifdef STACK_CHECKER_ON - RTEMS_STACK_CHECKER_EXTENSION, -#endif -}; - -#define CONFIGURE_INITIAL_EXTENSION_TABLE Configuration_Initial_Extensions -#define CONFIGURE_NUMBER_OF_INITIAL_EXTENSIONS \ - ((sizeof(Configuration_Initial_Extensions) / \ - sizeof(rtems_extensions_table))) + defined(STACK_CHECKER_ON) || \ + (defined(RTEMS_NEWLIB) && !defined(CONFIGURE_DISABLE_NEWLIB_REENTRANCY)) + rtems_extensions_table Configuration_Initial_Extensions[] = { + #if !defined(CONFIGURE_DISABLE_NEWLIB_REENTRANCY) + RTEMS_NEWLIB_EXTENSION, + #endif + #if defined(STACK_CHECKER_ON) + RTEMS_STACK_CHECKER_EXTENSION, + #endif + #if defined(CONFIGURE_INITIAL_EXTENSIONS) + CONFIGURE_INITIAL_EXTENSIONS, + #endif + }; + + #define CONFIGURE_INITIAL_EXTENSION_TABLE Configuration_Initial_Extensions + #define CONFIGURE_NUMBER_OF_INITIAL_EXTENSIONS \ + ((sizeof(Configuration_Initial_Extensions) / \ + sizeof(rtems_extensions_table))) #else -#define CONFIGURE_INITIAL_EXTENSION_TABLE NULL -#define CONFIGURE_NUMBER_OF_INITIAL_EXTENSIONS 0 + #define CONFIGURE_INITIAL_EXTENSION_TABLE NULL + #define CONFIGURE_NUMBER_OF_INITIAL_EXTENSIONS 0 #endif |