diff options
author | Joel Sherrill <joel.sherrill@OARcorp.com> | 2004-03-05 17:58:51 +0000 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@OARcorp.com> | 2004-03-05 17:58:51 +0000 |
commit | b2b143f402b30c7bbe4ee98c58221b0cc78a1e9e (patch) | |
tree | 07d852d08ed4fe4c745ada0c7bbca69eaae85a58 /cpukit/libcsupport/src/newlibc.c | |
parent | 2004-03-05 Joel Sherrill <joel@OARcorp.com> (diff) | |
download | rtems-b2b143f402b30c7bbe4ee98c58221b0cc78a1e9e.tar.bz2 |
2004-03-05 Joel Sherrill <joel@OARcorp.com>
* libblock/src/bdbuf.c, libblock/src/ramdisk.c,
libcsupport/src/newlibc.c, libcsupport/src/sync.c,
libmisc/cpuuse/cpuuse.c, libmisc/monitor/mon-symbols.c,
libmisc/shell/cmds.c, libmisc/shell/shell.c,
libnetworking/kern/kern_sysctl.c, libnetworking/lib/ftpfs.c,
libnetworking/lib/tftpDriver.c, libnetworking/libc/gethostbydns.c,
libnetworking/libc/gethostbyht.c, libnetworking/libc/gethostnamadr.c,
libnetworking/libc/getnetbyht.c, libnetworking/libc/getnetnamadr.c,
libnetworking/libc/inet_addr.c, libnetworking/libc/linkaddr.c,
libnetworking/libc/map_v4v6.c, libnetworking/libc/ns_print.c,
libnetworking/libc/ns_ttl.c, libnetworking/libc/nsap_addr.c,
libnetworking/libc/rcmd.c, libnetworking/libc/res_debug.c,
libnetworking/libc/res_mkupdate.c, libnetworking/libc/res_query.c,
libnetworking/libc/res_send.c, libnetworking/libc/res_update.c,
libnetworking/net/radix.c, libnetworking/rtems/mkrootfs.c,
librpc/src/rpc/clnt_perror.c, librpc/src/rpc/rtems_rpc.c,
librpc/src/rpc/svc.c, sapi/include/confdefs.h,
score/macros/rtems/score/chain.inl, score/src/objectidtoname.c:
Diffstat (limited to 'cpukit/libcsupport/src/newlibc.c')
-rw-r--r-- | cpukit/libcsupport/src/newlibc.c | 43 |
1 files changed, 24 insertions, 19 deletions
diff --git a/cpukit/libcsupport/src/newlibc.c b/cpukit/libcsupport/src/newlibc.c index dcd7dae3b2..b9ba3f8355 100644 --- a/cpukit/libcsupport/src/newlibc.c +++ b/cpukit/libcsupport/src/newlibc.c @@ -22,6 +22,12 @@ #if defined(RTEMS_NEWLIB) #include <rtems/libcsupport.h> + +/* Since we compile with strict ANSI we need to undef it to get + * prototypes for extensions + */ +#undef __STRICT_ANSI__ + #include <stdlib.h> /* for free() */ #include <string.h> /* for memset() */ @@ -126,26 +132,26 @@ rtems_boolean libc_create_hook( { #ifdef __GNUC__ - /* GCC extension: structure constants */ - _REENT_INIT_PTR((ptr)); + /* GCC extension: structure constants */ + _REENT_INIT_PTR((ptr)); #else - /* - * WARNING: THIS IS VERY DEPENDENT ON NEWLIB!!! - * Last visual check was against newlib 1.8.2 but last known - * use was against 1.7.0. This is basically an exansion of - * REENT_INIT() in <sys/reent.h>. - */ - memset(ptr, 0, sizeof(*ptr)); - ptr->_stdin = &ptr->__sf[0]; - ptr->_stdout = &ptr->__sf[1]; - ptr->_stderr = &ptr->__sf[2]; - ptr->_current_locale = "C"; - ptr->_new._reent._rand_next = 1; + /* + * WARNING: THIS IS VERY DEPENDENT ON NEWLIB!!! + * Last visual check was against newlib 1.8.2 but last known + * use was against 1.7.0. This is basically an exansion of + * REENT_INIT() in <sys/reent.h>. + */ + memset(ptr, 0, sizeof(*ptr)); + ptr->_stdin = &ptr->__sf[0]; + ptr->_stdout = &ptr->__sf[1]; + ptr->_stderr = &ptr->__sf[2]; + ptr->_current_locale = "C"; + ptr->_new._reent._rand_next = 1; #endif - creating_task->libc_reent = ptr; - return TRUE; - } + creating_task->libc_reent = ptr; + return TRUE; + } else return FALSE; @@ -235,7 +241,6 @@ rtems_extension libc_delete_hook( ptr = deleted_task->libc_reent; } - /* if (ptr) */ if (ptr && ptr != &libc_global_reent) { /* _wrapup_reent(ptr); @@ -248,7 +253,7 @@ rtems_extension libc_delete_hook( #if REENT_MALLOCED free(ptr); #else - _Workspace_Free(ptr); + _Workspace_Free(ptr); #endif } |