This is the mail archive of the
newlib@sources.redhat.com
mailing list for the newlib project.
New (fake) functions to support libstdc++-v3 on mn10300-elf
- To: newlib at sources dot redhat dot com
- Subject: New (fake) functions to support libstdc++-v3 on mn10300-elf
- From: Alexandre Oliva <aoliva at redhat dot com>
- Date: 26 Apr 2001 10:38:15 -0300
- Cc: bkoz at redhat dot com
- Organization: GCC Team, Red Hat
Some functions in libstdc++-v3 call dup() and fcntl(), so I had to
define them to get some programs linked, even though the functions are
never actually called. They're in the same translation unit of some
other functions that are. Perhaps they could be moved into separate
ones? It would at least solve the problem in case of static
libraries. Shared libraries would still be a problem, but I doubt any
platform that supports shared libraries doesn't support dup() and
fcntl().
Meanwhile, this patch gets the pass rate of C++ tests much better for
mn10300-elf. Ok to install?
Index: libgloss/ChangeLog
from Alexandre Oliva <aoliva@redhat.com>
* mn10300/Makefile.in (GENOBJS): Added dup.o and fcntl.o.
* mn10300/dup.c, mn10300/fcntl.c: New files.
Index: libgloss/mn10300/Makefile.in
===================================================================
RCS file: /cvs/src/src/libgloss/mn10300/Makefile.in,v
retrieving revision 1.1
diff -u -p -r1.1 Makefile.in
--- libgloss/mn10300/Makefile.in 2000/03/17 22:48:51 1.1
+++ libgloss/mn10300/Makefile.in 2001/04/26 13:33:31
@@ -1,4 +1,4 @@
-# Copyright (c) 1998 Cygnus Support
+# Copyright (c) 1998, 2001 Cygnus Support
#
# The authors hereby grant permission to use, copy, modify, distribute,
# and license this software and its documentation for any purpose, provided
@@ -67,7 +67,7 @@ CRT0 = crt0.o
# Generic object files common to all targets.
GENOBJS = _exit.o access.o chmod.o close.o crt1.o \
- fstat.o getpid.o isatty.o \
+ dup.o fcntl.o fstat.o getpid.o isatty.o \
kill.o lseek.o open.o read.o \
sbrk.o stat.o time.o trap.o unlink.o utime.o write.o
Index: libgloss/mn10300/dup.c
===================================================================
RCS file: dup.c
diff -N dup.c
--- /dev/null Tue May 5 13:32:27 1998
+++ libgloss/mn10300/dup.c Thu Apr 26 06:33:31 2001
@@ -0,0 +1,7 @@
+/* Fake it by default, since libstdc++-v3 may call it. */
+
+int
+dup (int fd)
+{
+ return -1;
+}
Index: libgloss/mn10300/fcntl.c
===================================================================
RCS file: fcntl.c
diff -N fcntl.c
--- /dev/null Tue May 5 13:32:27 1998
+++ libgloss/mn10300/fcntl.c Thu Apr 26 06:33:31 2001
@@ -0,0 +1,7 @@
+/* Fake it by default, since libstdc++-v3 may call it. */
+
+int
+_fcntl (int fd, int cmd)
+{
+ return -1;
+}
--
Alexandre Oliva Enjoy Guarana', see http://www.ic.unicamp.br/~oliva/
Red Hat GCC Developer aoliva@{cygnus.com, redhat.com}
CS PhD student at IC-Unicamp oliva@{lsd.ic.unicamp.br, gnu.org}
Free Software Evangelist *Please* write to mailing lists, not to me