summaryrefslogtreecommitdiffstats
path: root/cpukit/sapi/include/confdefs.h
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>2007-05-09 18:27:26 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>2007-05-09 18:27:26 +0000
commitc3db01d0f37921ba809825e9c6b7fbe86b8fae5d (patch)
tree0f7adb0ea85567c63adf99d5cf0e67b7598aa61b /cpukit/sapi/include/confdefs.h
parent2007-05-09 Joel Sherrill <joel.sherrill@OARcorp.com> (diff)
downloadrtems-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.h77
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