diff options
author | Jeff Johnston <jjohnstn@redhat.com> | 2001-03-21 21:47:31 +0000 |
---|---|---|
committer | Jeff Johnston <jjohnstn@redhat.com> | 2001-03-21 21:47:31 +0000 |
commit | 4833b38c4e0568a6b3f063c6eaee6ccf655b3312 (patch) | |
tree | 9192f22fe6ea92ee16b47eb25c7e4a58c1228aee /newlib | |
parent | c0fb395ff347d5e46552c626b6684d0db53ae7f7 (diff) | |
download | newlib-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/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 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 |