[PATCH] Delete default __getreent() implementation
Sebastian Huber
sebastian.huber@embedded-brains.de
Tue Nov 7 11:56:00 GMT 2017
Systems defining __DYNAMIC_REENT__ have to provide a proper
implementation of __getreent(). Do not include a default implementation
to avoid a potential link time issue (real vs. default implementation of
__getreent()).
Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de>
---
newlib/libc/reent/Makefile.am | 1 -
newlib/libc/reent/Makefile.in | 30 +++++++++++-------------------
newlib/libc/reent/getreent.c | 14 --------------
newlib/libc/sys/rtems/crt0.c | 2 +-
4 files changed, 12 insertions(+), 35 deletions(-)
delete mode 100644 newlib/libc/reent/getreent.c
diff --git a/newlib/libc/reent/Makefile.am b/newlib/libc/reent/Makefile.am
index ee11e864a..cc6041027 100644
--- a/newlib/libc/reent/Makefile.am
+++ b/newlib/libc/reent/Makefile.am
@@ -37,7 +37,6 @@ GENERAL_SOURCES = \
impure.c \
fcntlr.c \
fstatr.c \
- getreent.c \
gettimeofdayr.c \
isattyr.c \
linkr.c \
diff --git a/newlib/libc/reent/Makefile.in b/newlib/libc/reent/Makefile.in
index 62b8500d4..9555b7fe7 100644
--- a/newlib/libc/reent/Makefile.in
+++ b/newlib/libc/reent/Makefile.in
@@ -74,15 +74,14 @@ lib_a_AR = $(AR) $(ARFLAGS)
lib_a_LIBADD =
am__objects_1 = lib_a-closer.$(OBJEXT) lib_a-reent.$(OBJEXT) \
lib_a-impure.$(OBJEXT) lib_a-fcntlr.$(OBJEXT) \
- lib_a-fstatr.$(OBJEXT) lib_a-getreent.$(OBJEXT) \
- lib_a-gettimeofdayr.$(OBJEXT) lib_a-isattyr.$(OBJEXT) \
- lib_a-linkr.$(OBJEXT) lib_a-lseekr.$(OBJEXT) \
- lib_a-mkdirr.$(OBJEXT) lib_a-openr.$(OBJEXT) \
- lib_a-readr.$(OBJEXT) lib_a-renamer.$(OBJEXT) \
- lib_a-signalr.$(OBJEXT) lib_a-signgam.$(OBJEXT) \
- lib_a-sbrkr.$(OBJEXT) lib_a-statr.$(OBJEXT) \
- lib_a-timesr.$(OBJEXT) lib_a-unlinkr.$(OBJEXT) \
- lib_a-writer.$(OBJEXT)
+ lib_a-fstatr.$(OBJEXT) lib_a-gettimeofdayr.$(OBJEXT) \
+ lib_a-isattyr.$(OBJEXT) lib_a-linkr.$(OBJEXT) \
+ lib_a-lseekr.$(OBJEXT) lib_a-mkdirr.$(OBJEXT) \
+ lib_a-openr.$(OBJEXT) lib_a-readr.$(OBJEXT) \
+ lib_a-renamer.$(OBJEXT) lib_a-signalr.$(OBJEXT) \
+ lib_a-signgam.$(OBJEXT) lib_a-sbrkr.$(OBJEXT) \
+ lib_a-statr.$(OBJEXT) lib_a-timesr.$(OBJEXT) \
+ lib_a-unlinkr.$(OBJEXT) lib_a-writer.$(OBJEXT)
@HAVE_STDIO64_DIR_TRUE@am__objects_2 = lib_a-fstat64r.$(OBJEXT) \
@HAVE_STDIO64_DIR_TRUE@ lib_a-lseek64r.$(OBJEXT) \
@HAVE_STDIO64_DIR_TRUE@ lib_a-stat64r.$(OBJEXT) \
@@ -100,9 +99,9 @@ lib_a_OBJECTS = $(am_lib_a_OBJECTS)
LTLIBRARIES = $(noinst_LTLIBRARIES)
libreent_la_LIBADD =
am__objects_6 = closer.lo reent.lo impure.lo fcntlr.lo fstatr.lo \
- getreent.lo gettimeofdayr.lo isattyr.lo linkr.lo lseekr.lo \
- mkdirr.lo openr.lo readr.lo renamer.lo signalr.lo signgam.lo \
- sbrkr.lo statr.lo timesr.lo unlinkr.lo writer.lo
+ gettimeofdayr.lo isattyr.lo linkr.lo lseekr.lo mkdirr.lo \
+ openr.lo readr.lo renamer.lo signalr.lo signgam.lo sbrkr.lo \
+ statr.lo timesr.lo unlinkr.lo writer.lo
@HAVE_STDIO64_DIR_TRUE@am__objects_7 = fstat64r.lo lseek64r.lo \
@HAVE_STDIO64_DIR_TRUE@ stat64r.lo open64r.lo
am__objects_8 = $(am__objects_7)
@@ -309,7 +308,6 @@ GENERAL_SOURCES = \
impure.c \
fcntlr.c \
fstatr.c \
- getreent.c \
gettimeofdayr.c \
isattyr.c \
linkr.c \
@@ -465,12 +463,6 @@ lib_a-fstatr.o: fstatr.c
lib_a-fstatr.obj: fstatr.c
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-fstatr.obj `if test -f 'fstatr.c'; then $(CYGPATH_W) 'fstatr.c'; else $(CYGPATH_W) '$(srcdir)/fstatr.c'; fi`
-lib_a-getreent.o: getreent.c
- $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-getreent.o `test -f 'getreent.c' || echo '$(srcdir)/'`getreent.c
-
-lib_a-getreent.obj: getreent.c
- $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-getreent.obj `if test -f 'getreent.c'; then $(CYGPATH_W) 'getreent.c'; else $(CYGPATH_W) '$(srcdir)/getreent.c'; fi`
-
lib_a-gettimeofdayr.o: gettimeofdayr.c
$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-gettimeofdayr.o `test -f 'gettimeofdayr.c' || echo '$(srcdir)/'`gettimeofdayr.c
diff --git a/newlib/libc/reent/getreent.c b/newlib/libc/reent/getreent.c
deleted file mode 100644
index 60ae6fbb7..000000000
--- a/newlib/libc/reent/getreent.c
+++ /dev/null
@@ -1,14 +0,0 @@
-/* default reentrant pointer when multithread enabled */
-
-#include <_ansi.h>
-#include <reent.h>
-
-#ifdef __getreent
-#undef __getreent
-#endif
-
-struct _reent *
-_DEFUN_VOID(__getreent)
-{
- return _impure_ptr;
-}
diff --git a/newlib/libc/sys/rtems/crt0.c b/newlib/libc/sys/rtems/crt0.c
index 0e9d426ec..6538f7d72 100644
--- a/newlib/libc/sys/rtems/crt0.c
+++ b/newlib/libc/sys/rtems/crt0.c
@@ -146,7 +146,7 @@ RTEMS_STUB(pid_t, getppid (), { return -1; })
RTEMS_STUB(pid_t, _getpid_r (struct _reent *r), { return -1; })
RTEMS_STUB(int, _gettimeofday_r(struct _reent *r, struct timeval *tp, void *tzp), { return 0; })
RTEMS_STUB(int, _isatty_r (struct _reent *r, int fd), { return isatty( fd ); })
-RTEMS_STUB(int, _kill_r (struct _reent *r, int pid, int sig ), { return -1; })
+RTEMS_STUB(struct _reent *, __getreent (void), { return 0; })
#if !defined(REENTRANT_SYSCALLS_PROVIDED)
/* cf. newlib/libc/reent/linkr.c */
RTEMS_STUB(int, _link_r (struct _reent *r, const char *oldpath, const char *newpath), { return -1; })
--
2.12.3
More information about the Newlib
mailing list