aboutsummaryrefslogtreecommitdiff
path: root/newlib
diff options
context:
space:
mode:
authorJeff Johnston <jjohnstn@redhat.com>2001-03-21 21:47:31 +0000
committerJeff Johnston <jjohnstn@redhat.com>2001-03-21 21:47:31 +0000
commit4833b38c4e0568a6b3f063c6eaee6ccf655b3312 (patch)
tree9192f22fe6ea92ee16b47eb25c7e4a58c1228aee /newlib
parentc0fb395ff347d5e46552c626b6684d0db53ae7f7 (diff)
downloadnewlib-4833b38c4e0568a6b3f063c6eaee6ccf655b3312.zip
newlib-4833b38c4e0568a6b3f063c6eaee6ccf655b3312.tar.gz
newlib-4833b38c4e0568a6b3f063c6eaee6ccf655b3312.tar.bz2
2001-03-21 Egor Duda <deo@logos-m.ru>
Allow building internal stubs for non-reentrant syscalls if target provides its own malloc * libc/reent/reent.c (errno): Move definition here. * libc/reent/sbrkr.c: From here.
Diffstat (limited to 'newlib')
-rw-r--r--newlib/ChangeLog7
-rw-r--r--newlib/libc/reent/reent.c16
-rw-r--r--newlib/libc/reent/sbrkr.c5
3 files changed, 24 insertions, 4 deletions
diff --git a/newlib/ChangeLog b/newlib/ChangeLog
index e448368..617a396 100644
--- a/newlib/ChangeLog
+++ b/newlib/ChangeLog
@@ -1,3 +1,10 @@
+2001-03-21 Egor Duda <deo@logos-m.ru>
+
+ Allow building internal stubs for non-reentrant syscalls
+ if target provides its own malloc
+ * libc/reent/reent.c (errno): Move definition here.
+ * libc/reent/sbrkr.c: From here.
+
2001-03-20 Danny Smith <dannysmith@users.sourceforge.net>
* libc/include/sys/types.h (BSD int typedefs): Guard with
diff --git a/newlib/libc/reent/reent.c b/newlib/libc/reent/reent.c
index 749a5bf..f35d957 100644
--- a/newlib/libc/reent/reent.c
+++ b/newlib/libc/reent/reent.c
@@ -7,12 +7,26 @@ INDEX
DESCRIPTION
This module defines the impure data area used by the
- non-rentrant functions, such as strtok.
+ non-reentrant functions, such as strtok.
*/
#include <stdlib.h>
#include <reent.h>
+#ifdef _REENT_ONLY
+#ifndef REENTRANT_SYSCALLS_PROVIDED
+#define REENTRANT_SYSCALLS_PROVIDED
+#endif
+#endif
+
+#ifndef REENTRANT_SYSCALLS_PROVIDED
+
+/* We use the errno variable used by the system dependent layer. */
+#undef errno
+int errno;
+
+#endif
+
/* Interim cleanup code */
void
diff --git a/newlib/libc/reent/sbrkr.c b/newlib/libc/reent/sbrkr.c
index 7f6930e..31c9de3 100644
--- a/newlib/libc/reent/sbrkr.c
+++ b/newlib/libc/reent/sbrkr.c
@@ -1,5 +1,4 @@
-/* Reentrant versions of sbrk system call. This implementation just
- calls the stat system call. */
+/* Reentrant version of sbrk system call. */
#include <reent.h>
#include <unistd.h>
@@ -24,7 +23,7 @@ int _dummy_sbrk_syscalls = 1;
/* We use the errno variable used by the system dependent layer. */
#undef errno
-int errno;
+extern int errno;
/*
FUNCTION