Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristopher Faylor <me@cgf.cx>2000-02-17 22:39:52 +0300
committerChristopher Faylor <me@cgf.cx>2000-02-17 22:39:52 +0300
commit8a0efa53e44919bcf5ccb1d3353618a82afdf8bc (patch)
tree68c3dbf3f2c6fd5d49777def9914d77b5cd4589d /newlib/libc/syscalls
parent1fd5e000ace55b323124c7e556a7a864b972a5c4 (diff)
import newlib-2000-02-17 snapshot
Diffstat (limited to 'newlib/libc/syscalls')
-rw-r--r--newlib/libc/syscalls/Makefile.am44
-rw-r--r--newlib/libc/syscalls/Makefile.in319
-rw-r--r--newlib/libc/syscalls/sysclose.c14
-rw-r--r--newlib/libc/syscalls/sysexecve.c16
-rw-r--r--newlib/libc/syscalls/sysfcntl.c17
-rw-r--r--newlib/libc/syscalls/sysfork.c19
-rw-r--r--newlib/libc/syscalls/sysfstat.c16
-rw-r--r--newlib/libc/syscalls/sysgetpid.c13
-rw-r--r--newlib/libc/syscalls/sysgettod.c20
-rw-r--r--newlib/libc/syscalls/syskill.c15
-rw-r--r--newlib/libc/syscalls/syslink.c15
-rw-r--r--newlib/libc/syscalls/syslseek.c17
-rw-r--r--newlib/libc/syscalls/sysopen.c43
-rw-r--r--newlib/libc/syscalls/sysread.c17
-rw-r--r--newlib/libc/syscalls/syssbrk.c18
-rw-r--r--newlib/libc/syscalls/sysstat.c16
-rw-r--r--newlib/libc/syscalls/systimes.c15
-rw-r--r--newlib/libc/syscalls/sysunlink.c14
-rw-r--r--newlib/libc/syscalls/syswait.c14
-rw-r--r--newlib/libc/syscalls/syswrite.c17
20 files changed, 679 insertions, 0 deletions
diff --git a/newlib/libc/syscalls/Makefile.am b/newlib/libc/syscalls/Makefile.am
new file mode 100644
index 000000000..0a781e9fd
--- /dev/null
+++ b/newlib/libc/syscalls/Makefile.am
@@ -0,0 +1,44 @@
+## Process this file with automake to generate Makefile.in
+
+AUTOMAKE_OPTIONS = cygnus
+
+INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
+
+noinst_LIBRARIES = lib.a
+
+lib_a_SOURCES = \
+ sysclose.c \
+ sysexecve.c \
+ sysfcntl.c \
+ sysfork.c \
+ sysfstat.c \
+ sysgetpid.c \
+ sysgettod.c \
+ syskill.c \
+ syslink.c \
+ syslseek.c \
+ sysopen.c \
+ sysread.c \
+ syssbrk.c \
+ sysstat.c \
+ systimes.c \
+ sysunlink.c \
+ syswait.c \
+ syswrite.c
+
+CHEWOUT_FILES =
+
+SUFFIXES = .def
+
+CHEW = ../../doc/makedoc -f $(srcdir)/../../doc/doc.str
+
+.c.def:
+ $(CHEW) < $< > $*.def 2> $*.ref
+ touch stmp-def
+
+TARGETDOC = ../tmp.texi
+
+# No doc for syscalls.
+doc:
+
+CLEANFILES = $(CHEWOUT_FILES) *.ref
diff --git a/newlib/libc/syscalls/Makefile.in b/newlib/libc/syscalls/Makefile.in
new file mode 100644
index 000000000..160f61e4c
--- /dev/null
+++ b/newlib/libc/syscalls/Makefile.in
@@ -0,0 +1,319 @@
+# Makefile.in generated automatically by automake 1.4 from Makefile.am
+
+# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+
+SHELL = @SHELL@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+
+bindir = @bindir@
+sbindir = @sbindir@
+libexecdir = @libexecdir@
+datadir = @datadir@
+sysconfdir = @sysconfdir@
+sharedstatedir = @sharedstatedir@
+localstatedir = @localstatedir@
+libdir = @libdir@
+infodir = @infodir@
+mandir = @mandir@
+includedir = @includedir@
+oldincludedir = /usr/include
+
+DESTDIR =
+
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+
+top_builddir = ..
+
+ACLOCAL = @ACLOCAL@
+AUTOCONF = @AUTOCONF@
+AUTOMAKE = @AUTOMAKE@
+AUTOHEADER = @AUTOHEADER@
+
+INSTALL = @INSTALL@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+transform = @program_transform_name@
+
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+host_alias = @host_alias@
+host_triplet = @host@
+AR = @AR@
+AS = @AS@
+CC = @CC@
+CPP = @CPP@
+CRT0 = @CRT0@
+EXEEXT = @EXEEXT@
+LIBC_MACHINE_LIB = @LIBC_MACHINE_LIB@
+LIBC_POSIX_LIB = @LIBC_POSIX_LIB@
+LIBC_SIGNAL_DEF = @LIBC_SIGNAL_DEF@
+LIBC_SIGNAL_LIB = @LIBC_SIGNAL_LIB@
+LIBC_SYSCALL_LIB = @LIBC_SYSCALL_LIB@
+LIBC_SYS_LIB = @LIBC_SYS_LIB@
+LIBC_UNIX_LIB = @LIBC_UNIX_LIB@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+NEWLIB_CFLAGS = @NEWLIB_CFLAGS@
+PACKAGE = @PACKAGE@
+RANLIB = @RANLIB@
+VERSION = @VERSION@
+machine_dir = @machine_dir@
+newlib_basedir = @newlib_basedir@
+sys_dir = @sys_dir@
+
+AUTOMAKE_OPTIONS = cygnus
+
+INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
+
+noinst_LIBRARIES = lib.a
+
+lib_a_SOURCES = \
+ sysclose.c \
+ sysexecve.c \
+ sysfcntl.c \
+ sysfork.c \
+ sysfstat.c \
+ sysgetpid.c \
+ sysgettod.c \
+ syskill.c \
+ syslink.c \
+ syslseek.c \
+ sysopen.c \
+ sysread.c \
+ syssbrk.c \
+ sysstat.c \
+ systimes.c \
+ sysunlink.c \
+ syswait.c \
+ syswrite.c
+
+
+CHEWOUT_FILES =
+
+SUFFIXES = .def
+
+CHEW = ../../doc/makedoc -f $(srcdir)/../../doc/doc.str
+
+TARGETDOC = ../tmp.texi
+
+CLEANFILES = $(CHEWOUT_FILES) *.ref
+mkinstalldirs = $(SHELL) $(top_srcdir)/../../mkinstalldirs
+CONFIG_CLEAN_FILES =
+LIBRARIES = $(noinst_LIBRARIES)
+
+
+DEFS = @DEFS@ -I. -I$(srcdir)
+CPPFLAGS = @CPPFLAGS@
+LDFLAGS = @LDFLAGS@
+LIBS = @LIBS@
+lib_a_LIBADD =
+lib_a_OBJECTS = sysclose.o sysexecve.o sysfcntl.o sysfork.o sysfstat.o \
+sysgetpid.o sysgettod.o syskill.o syslink.o syslseek.o sysopen.o \
+sysread.o syssbrk.o sysstat.o systimes.o sysunlink.o syswait.o \
+syswrite.o
+CFLAGS = @CFLAGS@
+COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+CCLD = $(CC)
+LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@
+DIST_COMMON = Makefile.am Makefile.in
+
+
+DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
+
+TAR = tar
+GZIP_ENV = --best
+SOURCES = $(lib_a_SOURCES)
+OBJECTS = $(lib_a_OBJECTS)
+
+all: all-redirect
+.SUFFIXES:
+.SUFFIXES: .S .c .def .o .s
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
+ cd $(top_srcdir) && $(AUTOMAKE) --cygnus syscalls/Makefile
+
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ cd $(top_builddir) \
+ && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
+
+
+mostlyclean-noinstLIBRARIES:
+
+clean-noinstLIBRARIES:
+ -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
+
+distclean-noinstLIBRARIES:
+
+maintainer-clean-noinstLIBRARIES:
+
+.c.o:
+ $(COMPILE) -c $<
+
+.s.o:
+ $(COMPILE) -c $<
+
+.S.o:
+ $(COMPILE) -c $<
+
+mostlyclean-compile:
+ -rm -f *.o core *.core
+
+clean-compile:
+
+distclean-compile:
+ -rm -f *.tab.c
+
+maintainer-clean-compile:
+
+lib.a: $(lib_a_OBJECTS) $(lib_a_DEPENDENCIES)
+ -rm -f lib.a
+ $(AR) cru lib.a $(lib_a_OBJECTS) $(lib_a_LIBADD)
+ $(RANLIB) lib.a
+
+tags: TAGS
+
+ID: $(HEADERS) $(SOURCES) $(LISP)
+ list='$(SOURCES) $(HEADERS)'; \
+ unique=`for i in $$list; do echo $$i; done | \
+ awk ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ here=`pwd` && cd $(srcdir) \
+ && mkid -f$$here/ID $$unique $(LISP)
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SOURCES) $(HEADERS)'; \
+ unique=`for i in $$list; do echo $$i; done | \
+ awk ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
+ || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -o $$here/TAGS)
+
+mostlyclean-tags:
+
+clean-tags:
+
+distclean-tags:
+ -rm -f TAGS ID
+
+maintainer-clean-tags:
+
+distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
+
+subdir = syscalls
+
+distdir: $(DISTFILES)
+ @for file in $(DISTFILES); do \
+ if test -f $$file; then d=.; else d=$(srcdir); fi; \
+ if test -d $$d/$$file; then \
+ cp -pr $$/$$file $(distdir)/$$file; \
+ else \
+ test -f $(distdir)/$$file \
+ || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
+ || cp -p $$d/$$file $(distdir)/$$file || :; \
+ fi; \
+ done
+info-am:
+info: info-am
+dvi-am:
+dvi: dvi-am
+check-am:
+check: check-am
+installcheck-am:
+installcheck: installcheck-am
+install-info-am:
+install-info: install-info-am
+install-exec-am:
+install-exec: install-exec-am
+
+install-data-am:
+install-data: install-data-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+install: install-am
+uninstall-am:
+uninstall: uninstall-am
+all-am: Makefile $(LIBRARIES)
+all-redirect: all-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
+installdirs:
+
+
+mostlyclean-generic:
+
+clean-generic:
+ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+ -rm -f Makefile $(CONFIG_CLEAN_FILES)
+ -rm -f config.cache config.log stamp-h stamp-h[0-9]*
+
+maintainer-clean-generic:
+mostlyclean-am: mostlyclean-noinstLIBRARIES mostlyclean-compile \
+ mostlyclean-tags mostlyclean-generic
+
+mostlyclean: mostlyclean-am
+
+clean-am: clean-noinstLIBRARIES clean-compile clean-tags clean-generic \
+ mostlyclean-am
+
+clean: clean-am
+
+distclean-am: distclean-noinstLIBRARIES distclean-compile \
+ distclean-tags distclean-generic clean-am
+
+distclean: distclean-am
+
+maintainer-clean-am: maintainer-clean-noinstLIBRARIES \
+ maintainer-clean-compile maintainer-clean-tags \
+ maintainer-clean-generic distclean-am
+ @echo "This command is intended for maintainers to use;"
+ @echo "it deletes files that may require special tools to rebuild."
+
+maintainer-clean: maintainer-clean-am
+
+.PHONY: mostlyclean-noinstLIBRARIES distclean-noinstLIBRARIES \
+clean-noinstLIBRARIES maintainer-clean-noinstLIBRARIES \
+mostlyclean-compile distclean-compile clean-compile \
+maintainer-clean-compile tags mostlyclean-tags distclean-tags \
+clean-tags maintainer-clean-tags distdir info-am info dvi-am dvi check \
+check-am installcheck-am installcheck install-info-am install-info \
+install-exec-am install-exec install-data-am install-data install-am \
+install uninstall-am uninstall all-redirect all-am all installdirs \
+mostlyclean-generic distclean-generic clean-generic \
+maintainer-clean-generic clean mostlyclean distclean maintainer-clean
+
+
+.c.def:
+ $(CHEW) < $< > $*.def 2> $*.ref
+ touch stmp-def
+
+# No doc for syscalls.
+doc:
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/newlib/libc/syscalls/sysclose.c b/newlib/libc/syscalls/sysclose.c
new file mode 100644
index 000000000..632364ac1
--- /dev/null
+++ b/newlib/libc/syscalls/sysclose.c
@@ -0,0 +1,14 @@
+/* connector for close */
+
+#include <reent.h>
+
+int
+close (fd)
+ int fd;
+{
+#ifdef REENTRANT_SYSCALLS_PROVIDED
+ return _close_r (_REENT, fd);
+#else
+ return _close (fd);
+#endif
+}
diff --git a/newlib/libc/syscalls/sysexecve.c b/newlib/libc/syscalls/sysexecve.c
new file mode 100644
index 000000000..c5050472c
--- /dev/null
+++ b/newlib/libc/syscalls/sysexecve.c
@@ -0,0 +1,16 @@
+/* connector for execve */
+
+#include <reent.h>
+
+int
+execve (name, argv, env)
+ char *name;
+ char **argv;
+ char **env;
+{
+#ifdef REENTRANT_SYSCALLS_PROVIDED
+ return _execve_r (_REENT, name, argv, env);
+#else
+ return _execve (name, argv, env);
+#endif
+}
diff --git a/newlib/libc/syscalls/sysfcntl.c b/newlib/libc/syscalls/sysfcntl.c
new file mode 100644
index 000000000..23e1d837a
--- /dev/null
+++ b/newlib/libc/syscalls/sysfcntl.c
@@ -0,0 +1,17 @@
+/* connector for fcntl */
+/* only called from stdio/fdopen.c, so arg can be int. */
+
+#include <reent.h>
+
+int
+fcntl (fd, flag, arg)
+ int fd;
+ int flag;
+ int arg;
+{
+#ifdef REENTRANT_SYSCALLS_PROVIDED
+ return _fcntl_r (_REENT, fd, flag, arg);
+#else
+ return _fcntl (fd, flag, arg);
+#endif
+}
diff --git a/newlib/libc/syscalls/sysfork.c b/newlib/libc/syscalls/sysfork.c
new file mode 100644
index 000000000..9fe319ff0
--- /dev/null
+++ b/newlib/libc/syscalls/sysfork.c
@@ -0,0 +1,19 @@
+/* connector for fork */
+
+/* Don't define this if NO_FORK. See for example libc/sys/win32/spawn.c. */
+
+#ifndef NO_FORK
+
+#include <reent.h>
+
+int
+fork ()
+{
+#ifdef REENTRANT_SYSCALLS_PROVIDED
+ return _fork_r (_REENT);
+#else
+ return _fork ();
+#endif
+}
+
+#endif
diff --git a/newlib/libc/syscalls/sysfstat.c b/newlib/libc/syscalls/sysfstat.c
new file mode 100644
index 000000000..f167b3cd8
--- /dev/null
+++ b/newlib/libc/syscalls/sysfstat.c
@@ -0,0 +1,16 @@
+/* connector for fstat */
+
+#include <reent.h>
+#include <unistd.h>
+
+int
+fstat (fd, pstat)
+ int fd;
+ struct stat *pstat;
+{
+#ifdef REENTRANT_SYSCALLS_PROVIDED
+ return _fstat_r (_REENT, fd, pstat);
+#else
+ return _fstat (fd, pstat);
+#endif
+}
diff --git a/newlib/libc/syscalls/sysgetpid.c b/newlib/libc/syscalls/sysgetpid.c
new file mode 100644
index 000000000..d7f75064d
--- /dev/null
+++ b/newlib/libc/syscalls/sysgetpid.c
@@ -0,0 +1,13 @@
+/* connector for getpid */
+
+#include <reent.h>
+
+int
+getpid ()
+{
+#ifdef REENTRANT_SYSCALLS_PROVIDED
+ return _getpid_r (_REENT);
+#else
+ return _getpid ();
+#endif
+}
diff --git a/newlib/libc/syscalls/sysgettod.c b/newlib/libc/syscalls/sysgettod.c
new file mode 100644
index 000000000..24849d5ce
--- /dev/null
+++ b/newlib/libc/syscalls/sysgettod.c
@@ -0,0 +1,20 @@
+/* connector for gettimeofday */
+
+#include <reent.h>
+#include <sys/types.h>
+#include <sys/times.h>
+
+struct timeval;
+struct timezone;
+
+int
+gettimeofday (ptimeval, ptimezone)
+ struct timeval *ptimeval;
+ struct timezone *ptimezone;
+{
+#ifdef REENTRANT_SYSCALLS_PROVIDED
+ return _gettimeofday_r (_REENT, ptimeval, ptimezone);
+#else
+ return _gettimeofday (ptimeval, ptimezone);
+#endif
+}
diff --git a/newlib/libc/syscalls/syskill.c b/newlib/libc/syscalls/syskill.c
new file mode 100644
index 000000000..4ee2f64df
--- /dev/null
+++ b/newlib/libc/syscalls/syskill.c
@@ -0,0 +1,15 @@
+/* connector for kill */
+
+#include <reent.h>
+
+int
+kill (pid, sig)
+ int pid;
+ int sig;
+{
+#ifdef REENTRANT_SYSCALLS_PROVIDED
+ return _kill_r (_REENT, pid, sig);
+#else
+ return _kill (pid, sig);
+#endif
+}
diff --git a/newlib/libc/syscalls/syslink.c b/newlib/libc/syscalls/syslink.c
new file mode 100644
index 000000000..6abe184ea
--- /dev/null
+++ b/newlib/libc/syscalls/syslink.c
@@ -0,0 +1,15 @@
+/* connector for link */
+
+#include <reent.h>
+
+int
+link (old, new)
+ char *old;
+ char *new;
+{
+#ifdef REENTRANT_SYSCALLS_PROVIDED
+ return _link_r (_REENT, old, new);
+#else
+ return _link (old, new);
+#endif
+}
diff --git a/newlib/libc/syscalls/syslseek.c b/newlib/libc/syscalls/syslseek.c
new file mode 100644
index 000000000..57d6423e9
--- /dev/null
+++ b/newlib/libc/syscalls/syslseek.c
@@ -0,0 +1,17 @@
+/* connector for lseek */
+
+#include <reent.h>
+#include <unistd.h>
+
+off_t
+lseek (fd, pos, whence)
+ int fd;
+ off_t pos;
+ int whence;
+{
+#ifdef REENTRANT_SYSCALLS_PROVIDED
+ return _lseek_r (_REENT, fd, pos, whence);
+#else
+ return _lseek (fd, pos, whence);
+#endif
+}
diff --git a/newlib/libc/syscalls/sysopen.c b/newlib/libc/syscalls/sysopen.c
new file mode 100644
index 000000000..6b3836f24
--- /dev/null
+++ b/newlib/libc/syscalls/sysopen.c
@@ -0,0 +1,43 @@
+/* connector for open */
+
+#include <reent.h>
+#include <fcntl.h>
+
+#ifdef _HAVE_STDC
+
+/* The prototype in <fcntl.h> uses ..., so we must correspond. */
+
+#include <stdarg.h>
+
+int
+open (const char *file, int flags, ...)
+{
+ va_list ap;
+ int ret;
+
+ va_start (ap, flags);
+#ifdef REENTRANT_SYSCALLS_PROVIDED
+ ret = _open_r (_REENT, file, flags, va_arg (ap, int));
+#else
+ ret = _open (file, flags, va_arg (ap, int));
+#endif
+ va_end (ap);
+ return ret;
+}
+
+#else /* ! _HAVE_STDC */
+
+int
+open (file, flags, mode)
+ const char *file;
+ int flags;
+ int mode;
+{
+#ifdef REENTRANT_SYSCALLS_PROVIDED
+ return _open_r (_REENT, file, flags, mode);
+#else
+ return _open (file, flags, mode);
+#endif
+}
+
+#endif /* ! _HAVE_STDC */
diff --git a/newlib/libc/syscalls/sysread.c b/newlib/libc/syscalls/sysread.c
new file mode 100644
index 000000000..821a91a07
--- /dev/null
+++ b/newlib/libc/syscalls/sysread.c
@@ -0,0 +1,17 @@
+/* connector for read */
+
+#include <reent.h>
+#include <unistd.h>
+
+int
+read (fd, buf, cnt)
+ int fd;
+ void *buf;
+ size_t cnt;
+{
+#ifdef REENTRANT_SYSCALLS_PROVIDED
+ return _read_r (_REENT, fd, buf, cnt);
+#else
+ return _read (fd, buf, cnt);
+#endif
+}
diff --git a/newlib/libc/syscalls/syssbrk.c b/newlib/libc/syscalls/syssbrk.c
new file mode 100644
index 000000000..cee7ee13e
--- /dev/null
+++ b/newlib/libc/syscalls/syssbrk.c
@@ -0,0 +1,18 @@
+/* connector for sbrk */
+
+#include <reent.h>
+#include <unistd.h>
+
+extern void *_sbrk_r (struct _reent *, size_t);
+extern void *_sbrk (size_t);
+
+void *
+sbrk (incr)
+ size_t incr;
+{
+#ifdef REENTRANT_SYSCALLS_PROVIDED
+ return _sbrk_r (_REENT, incr);
+#else
+ return _sbrk (incr);
+#endif
+}
diff --git a/newlib/libc/syscalls/sysstat.c b/newlib/libc/syscalls/sysstat.c
new file mode 100644
index 000000000..39a506169
--- /dev/null
+++ b/newlib/libc/syscalls/sysstat.c
@@ -0,0 +1,16 @@
+/* connector for stat */
+
+#include <reent.h>
+#include <unistd.h>
+
+int
+stat (file, pstat)
+ char *file;
+ struct stat *pstat;
+{
+#ifdef REENTRANT_SYSCALLS_PROVIDED
+ return _stat_r (_REENT, file, pstat);
+#else
+ return _stat (file, pstat);
+#endif
+}
diff --git a/newlib/libc/syscalls/systimes.c b/newlib/libc/syscalls/systimes.c
new file mode 100644
index 000000000..f74d6fa15
--- /dev/null
+++ b/newlib/libc/syscalls/systimes.c
@@ -0,0 +1,15 @@
+/* connector for times */
+
+#include <reent.h>
+#include <sys/times.h>
+
+clock_t
+times (buf)
+ struct tms *buf;
+{
+#ifdef REENTRANT_SYSCALLS_PROVIDED
+ return _times_r (_REENT, buf);
+#else
+ return _times (buf);
+#endif
+}
diff --git a/newlib/libc/syscalls/sysunlink.c b/newlib/libc/syscalls/sysunlink.c
new file mode 100644
index 000000000..a910f96c2
--- /dev/null
+++ b/newlib/libc/syscalls/sysunlink.c
@@ -0,0 +1,14 @@
+/* connector for unlink */
+
+#include <reent.h>
+
+int
+unlink (file)
+ char *file;
+{
+#ifdef REENTRANT_SYSCALLS_PROVIDED
+ return _unlink_r (_REENT, file);
+#else
+ return _unlink (file);
+#endif
+}
diff --git a/newlib/libc/syscalls/syswait.c b/newlib/libc/syscalls/syswait.c
new file mode 100644
index 000000000..86544fa0b
--- /dev/null
+++ b/newlib/libc/syscalls/syswait.c
@@ -0,0 +1,14 @@
+/* connector for wait */
+
+#include <reent.h>
+
+int
+wait (status)
+ int *status;
+{
+#ifdef REENTRANT_SYSCALLS_PROVIDED
+ return _wait_r (_REENT, status);
+#else
+ return _wait (status);
+#endif
+}
diff --git a/newlib/libc/syscalls/syswrite.c b/newlib/libc/syscalls/syswrite.c
new file mode 100644
index 000000000..e73028ea7
--- /dev/null
+++ b/newlib/libc/syscalls/syswrite.c
@@ -0,0 +1,17 @@
+/* connector for write */
+
+#include <reent.h>
+#include <unistd.h>
+
+int
+write (fd, buf, cnt)
+ int fd;
+ const void *buf;
+ size_t cnt;
+{
+#ifdef REENTRANT_SYSCALLS_PROVIDED
+ return _write_r (_REENT, fd, buf, cnt);
+#else
+ return _write (fd, buf, cnt);
+#endif
+}