diff options
-rw-r--r-- | newlib/ChangeLog | 7 | ||||
-rw-r--r-- | newlib/libc/reent/reent.c | 16 | ||||
-rw-r--r-- | newlib/libc/reent/sbrkr.c | 5 |
3 files changed, 24 insertions, 4 deletions
diff --git a/newlib/ChangeLog b/newlib/ChangeLog index e44836866..617a39655 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 749a5bf6b..f35d95711 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 7f6930ead..31c9de3d5 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 |