summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRalf Corsepius <ralf.corsepius@rtems.org>2007-04-10 05:37:55 +0000
committerRalf Corsepius <ralf.corsepius@rtems.org>2007-04-10 05:37:55 +0000
commit4449c8af71166c30e3f0a28aae74b35acd7a4ac3 (patch)
tree52f051d2388f28817de18b49fce942070ae4f6d1
parent2007-04-10 Ralf Corsépius <ralf.corsepius@rtems.org> (diff)
downloadrtems-4449c8af71166c30e3f0a28aae74b35acd7a4ac3.tar.bz2
2007-04-10 Ralf Corsépius <ralf.corsepius@rtems.org>
* libcsupport/src/newlibc.c: Add __ATTRIBUTE_IMPURE_PTR__ (Fixes "relocation truncated to fit: R_MIPS_GPREL16" against _impure_ptr bug). Fix abuse of _REENT_INIT().
-rw-r--r--cpukit/ChangeLog7
-rw-r--r--cpukit/libcsupport/src/newlibc.c4
2 files changed, 9 insertions, 2 deletions
diff --git a/cpukit/ChangeLog b/cpukit/ChangeLog
index 6adf54e937..e4143c90c4 100644
--- a/cpukit/ChangeLog
+++ b/cpukit/ChangeLog
@@ -1,3 +1,10 @@
+2007-04-10 Ralf Corsépius <ralf.corsepius@rtems.org>
+
+ * libcsupport/src/newlibc.c: Add __ATTRIBUTE_IMPURE_PTR__
+ (Fixes "relocation truncated to fit: R_MIPS_GPREL16" against
+ _impure_ptr bug).
+ Fix abuse of _REENT_INIT().
+
2007-04-02 Joel Sherrill <joel@OARcorp.com>
* libcsupport/src/printk.c: Add %p support.
diff --git a/cpukit/libcsupport/src/newlibc.c b/cpukit/libcsupport/src/newlibc.c
index ef151c6e81..35fa3ee1b5 100644
--- a/cpukit/libcsupport/src/newlibc.c
+++ b/cpukit/libcsupport/src/newlibc.c
@@ -51,7 +51,7 @@
int _fwalk(struct _reent *ptr, int (*function) (FILE *) );
int libc_reentrant; /* do we think we are reentrant? */
-struct _reent libc_global_reent;
+struct _reent libc_global_reent __ATTRIBUTE_IMPURE_PTR__ = _REENT_INIT(libc_global_reent);
/*
* CYGNUS newlib routine that does atexit() processing and flushes
@@ -305,7 +305,7 @@ libc_init(int reentrant)
rtems_status_code rc;
rtems_id extension_id;
- libc_global_reent = (struct _reent) _REENT_INIT((libc_global_reent));
+/* libc_global_reent = _REENT_INIT(libc_global_reent); */
_REENT = &libc_global_reent;
if (reentrant) {