]> sourceware.org Git - newlib-cygwin.git/commitdiff
2008-11-24 Jeff Johnston <jjohnstn@redhat.com>
authorJeff Johnston <jjohnstn@redhat.com>
Mon, 24 Nov 2008 21:16:06 +0000 (21:16 +0000)
committerJeff Johnston <jjohnstn@redhat.com>
Mon, 24 Nov 2008 21:16:06 +0000 (21:16 +0000)
        * libc/search/hash_func.c: Comment out unused static hash functions.
        * libc/reent/stat64r.c: New file.
        * libc/reent/Makefile.am: Add stat64r.c support.
        * libc/reent/Makefile.in: Regenerated.

newlib/ChangeLog
newlib/libc/reent/Makefile.am
newlib/libc/reent/Makefile.in
newlib/libc/reent/stat64r.c [new file with mode: 0644]
newlib/libc/search/hash_func.c

index 87ce248ad2d18b84ecd1ea1a4ba2322f9df94f4b..37e1d6e76dba5a2159a4f4d22973d6fa9670dfec 100644 (file)
@@ -1,3 +1,10 @@
+2008-11-24  Jeff Johnston  <jjohnstn@redhat.com>
+
+       * libc/search/hash_func.c: Comment out unused static hash functions.
+       * libc/reent/stat64r.c: New file.
+       * libc/reent/Makefile.am: Add stat64r.c support.
+       * libc/reent/Makefile.in: Regenerated.
+
 2008-11-24  Joel Sherrill <joel.sherrill@oarcorp.com>
 
        * libc/posix/scandir.c: Fix memory leaks. 
index 0d21285a1368116834eb04abdba7ea79885899f3..e61153c6872496065f6325f99f5d787d33991af2 100644 (file)
@@ -8,11 +8,13 @@ if HAVE_STDIO64_DIR
 STDIO64_SOURCES = \
        fstat64r.c \
        lseek64r.c \
+       stat64r.c \
        open64r.c
 
 STDIO64_DEFS = \
        fstat64r.def \
        lseek64r.def \
+       stat64r.def \
        open64r.def
 endif
 
index 9c05a57f607430c79259d85e6bf427c401d4b68d..171c71ac771b963999d5ad4d032edaa061fc0ae8 100644 (file)
@@ -69,6 +69,7 @@ am__objects_1 = lib_a-closer.$(OBJEXT) lib_a-reent.$(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) \
 @HAVE_STDIO64_DIR_TRUE@        lib_a-open64r.$(OBJEXT)
 am__objects_3 = $(am__objects_2)
 am__objects_4 = lib_a-execr.$(OBJEXT)
@@ -87,7 +88,7 @@ am__objects_6 = closer.lo reent.lo impure.lo fcntlr.lo fstatr.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@        open64r.lo
+@HAVE_STDIO64_DIR_TRUE@        stat64r.lo open64r.lo
 am__objects_8 = $(am__objects_7)
 am__objects_9 = execr.lo
 @ELIX_LEVEL_1_FALSE@@ELIX_LEVEL_2_FALSE@am__objects_10 =  \
@@ -287,11 +288,13 @@ INCLUDES = $(NEWLIB_CFLAGS) $(CROSS_CFLAGS) $(TARGET_CFLAGS)
 @HAVE_STDIO64_DIR_TRUE@STDIO64_SOURCES = \
 @HAVE_STDIO64_DIR_TRUE@        fstat64r.c \
 @HAVE_STDIO64_DIR_TRUE@        lseek64r.c \
+@HAVE_STDIO64_DIR_TRUE@        stat64r.c \
 @HAVE_STDIO64_DIR_TRUE@        open64r.c
 
 @HAVE_STDIO64_DIR_TRUE@STDIO64_DEFS = \
 @HAVE_STDIO64_DIR_TRUE@        fstat64r.def \
 @HAVE_STDIO64_DIR_TRUE@        lseek64r.def \
+@HAVE_STDIO64_DIR_TRUE@        stat64r.def \
 @HAVE_STDIO64_DIR_TRUE@        open64r.def
 
 ELIX_2_SOURCES = $(STDIO64_SOURCES)
@@ -552,6 +555,12 @@ lib_a-lseek64r.o: lseek64r.c
 lib_a-lseek64r.obj: lseek64r.c
        $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-lseek64r.obj `if test -f 'lseek64r.c'; then $(CYGPATH_W) 'lseek64r.c'; else $(CYGPATH_W) '$(srcdir)/lseek64r.c'; fi`
 
+lib_a-stat64r.o: stat64r.c
+       $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-stat64r.o `test -f 'stat64r.c' || echo '$(srcdir)/'`stat64r.c
+
+lib_a-stat64r.obj: stat64r.c
+       $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-stat64r.obj `if test -f 'stat64r.c'; then $(CYGPATH_W) 'stat64r.c'; else $(CYGPATH_W) '$(srcdir)/stat64r.c'; fi`
+
 lib_a-open64r.o: open64r.c
        $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(lib_a_CFLAGS) $(CFLAGS) -c -o lib_a-open64r.o `test -f 'open64r.c' || echo '$(srcdir)/'`open64r.c
 
diff --git a/newlib/libc/reent/stat64r.c b/newlib/libc/reent/stat64r.c
new file mode 100644 (file)
index 0000000..695b7f8
--- /dev/null
@@ -0,0 +1,68 @@
+/* Reentrant versions of stat64 system call.  This implementation just
+   calls the stat64 system call.  */
+
+#include <reent.h>
+#include <unistd.h>
+#include <sys/stat.h>
+#include <_syslist.h>
+
+/* Some targets provides their own versions of these functions.  Those
+   targets should define REENTRANT_SYSCALLS_PROVIDED in
+   TARGET_CFLAGS.  */
+
+#ifdef _REENT_ONLY
+#ifndef REENTRANT_SYSCALLS_PROVIDED
+#define REENTRANT_SYSCALLS_PROVIDED
+#endif
+#endif
+
+#ifdef REENTRANT_SYSCALLS_PROVIDED
+
+int _dummy_stat64_syscalls = 1;
+
+#else
+
+/* We use the errno variable used by the system dependent layer.  */
+#undef errno
+extern int errno;
+
+/*
+FUNCTION
+       <<_stat64_r>>---Reentrant version of stat64
+       
+INDEX
+       _stat64_r
+
+ANSI_SYNOPSIS
+       #include <reent.h>
+       int _stat64_r(struct _reent *<[ptr]>,
+                   const char *<[file]>, struct stat64 *<[pstat]>);
+
+TRAD_SYNOPSIS
+       #include <reent.h>
+       int _stat64_r(<[ptr]>, <[file]>, <[pstat]>)
+       struct _reent *<[ptr]>;
+       char *<[file]>;
+       struct stat64 *<[pstat]>;
+
+DESCRIPTION
+       This is a reentrant version of <<stat64>>.  It
+       takes a pointer to the global data block, which holds
+       <<errno>>.
+*/
+
+int
+_DEFUN (_stat64_r, (ptr, file, pstat),
+     struct _reent *ptr _AND
+     _CONST char *file _AND
+     struct stat64 *pstat)
+{
+  int ret;
+
+  errno = 0;
+  if ((ret = _stat64 (file, pstat)) == -1 && errno != 0)
+    ptr->_errno = errno;
+  return ret;
+}
+
+#endif /* ! defined (REENTRANT_SYSCALLS_PROVIDED) */
index 52cb31ccb0acd5c6f5d6555e09561ba9645c6f9c..355f0b592fc7fe8b19b3a957c99e6a6e3796d777 100644 (file)
@@ -45,9 +45,11 @@ static char sccsid[] = "@(#)hash_func.c      8.2 (Berkeley) 2/21/94";
 #include "page.h"
 #include "extern.h"
 
+#if 0
 static __uint32_t hash1(const void *, size_t);
 static __uint32_t hash2(const void *, size_t);
 static __uint32_t hash3(const void *, size_t);
+#endif
 static __uint32_t hash4(const void *, size_t);
 
 /* Global default hash function */
@@ -65,6 +67,7 @@ __uint32_t (*__default_hash)(const void *, size_t) = hash4;
 #define PRIME1         37
 #define PRIME2         1048583
 
+#if 0
 static __uint32_t
 hash1(keyarg, len)
        const void *keyarg;
@@ -79,12 +82,14 @@ hash1(keyarg, len)
        h %= PRIME2;
        return (h);
 }
+#endif
 
 /*
  * Phong's linear congruential hash
  */
 #define dcharhash(h, c)        ((h) = 0x63c63cd9*(h) + 0x9c39c33d + (c))
 
+#if 0
 static __uint32_t
 hash2(keyarg, len)
        const void *keyarg;
@@ -104,6 +109,7 @@ hash2(keyarg, len)
        }
        return (h);
 }
+#endif
 
 /*
  * This is INCREDIBLY ugly, but fast.  We break the string up into 8 byte
@@ -114,6 +120,7 @@ hash2(keyarg, len)
  *
  * OZ's original sdbm hash
  */
+#if 0
 static __uint32_t
 hash3(keyarg, len)
        const void *keyarg;
@@ -160,6 +167,7 @@ hash3(keyarg, len)
        }
        return (h);
 }
+#endif
 
 /* Hash function from Chris Torek. */
 static __uint32_t
This page took 0.054524 seconds and 5 git commands to generate.