This is the mail archive of the glibc-cvs@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

GNU C Library master sources branch, master, updated. glibc-2.16-ports-merge-130-g8e49df1


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".

The branch, master has been updated
       via  8e49df1d656c393e913b6c9343f491c59bd527b2 (commit)
       via  03af952060fee063679864d82cdd76f94d56d263 (commit)
      from  c5757acd6e9aafcf042b6cd6d7f9e70d957e1e3a (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://sources.redhat.com/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=8e49df1d656c393e913b6c9343f491c59bd527b2

commit 8e49df1d656c393e913b6c9343f491c59bd527b2
Author: Roland McGrath <roland@hack.frob.com>
Date:   Mon Aug 6 16:47:58 2012 -0700

    Clean up {alphasort,versionsort,scandir,scandirat}{,64} for struct dirent == struct dirent64.

diff --git a/ChangeLog b/ChangeLog
index a631c00..4863547 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,48 @@
 2012-08-06  Roland McGrath  <roland@hack.frob.com>
 
+	* dirent/alphasort.c [_DIRENT_MATCHES_DIRENT64]:
+	Define alphasort64 as an alias.
+	* dirent/versionsort.c [_DIRENT_MATCHES_DIRENT64]:
+	Define versionsort64 as an alias.
+	* dirent/scandir.c [_DIRENT_MATCHES_DIRENT64]:
+	Define scandir64 as an alias.
+	* dirent/scandirat.c [_DIRENT_MATCHES_DIRENT64]:
+	Define scandirat64 as an alias.
+	* dirent/alphasort64.c (alphasort64):
+	Conditionalize on [!_DIRENT_MATCHES_DIRENT64].
+	* dirent/versionsort64.c: Likewise.
+	* dirent/scandir64.c: Likewise.
+	* dirent/scandirat64.c: Likewise.
+	* sysdeps/wordsize-64/alphasort.c: File removed.
+	* sysdeps/wordsize-64/alphasort64.c: File removed.
+	* sysdeps/wordsize-64/scandir.c: File removed.
+	* sysdeps/wordsize-64/scandir64.c: File removed.
+	* sysdeps/wordsize-64/scandirat.c: File removed.
+	* sysdeps/wordsize-64/scandirat64.c: File removed.
+	* sysdeps/wordsize-64/versionsort.c: File removed.
+	* sysdeps/wordsize-64/versionsort64.c: File removed.
+	* sysdeps/unix/sysv/linux/x86_64/x32/alphasort.c: File removed.
+	* sysdeps/unix/sysv/linux/x86_64/x32/alphasort64.c: File removed.
+	* sysdeps/unix/sysv/linux/x86_64/x32/scandir.c: File removed.
+	* sysdeps/unix/sysv/linux/x86_64/x32/scandir64.c: File removed.
+	* sysdeps/unix/sysv/linux/x86_64/x32/scandirat.c: File removed.
+	* sysdeps/unix/sysv/linux/x86_64/x32/scandirat64.c: File removed.
+	* sysdeps/unix/sysv/linux/x86_64/x32/versionsort.c: File removed.
+	* sysdeps/unix/sysv/linux/x86_64/x32/versionsort64.c: File removed.
+
+	* bits/typesizes.h [__LP64__] (__INO_T_MATCHES_INO64_T): New macros.
+	* sysdeps/unix/sysv/linux/s390/bits/typesizes.h:
+	[__s390x__] (__INO_T_MATCHES_INO64_T): New macro.
+	* sysdeps/unix/sysv/linux/sparc/bits/typesizes.h
+	[defined __arch64__ || defined __sparcv9]
+	(__INO_T_MATCHES_INO64_T): New macro.
+	* sysdeps/unix/sysv/linux/x86/bits/typesizes.h
+	[__x86_64__] (__INO_T_MATCHES_INO64_T): New macro.
+	* bits/dirent.h (_DIRENT_MATCHES_DIRENT64): New macro.
+	* sysdeps/unix/sysv/linux/bits/dirent.h
+	[defined __OFF_T_MATCHES_OFF64_T && defined __INO_T_MATCHES_INO64_T]
+	(_DIRENT_MATCHES_DIRENT64): New macro.
+
 	* io/lockf.c [__OFF_T_MATCHES_OFF64_T]:
 	Define lockf64 as an alias.
 	* libio/fseeko.c [__OFF_T_MATCHES_OFF64_T]:
diff --git a/bits/dirent.h b/bits/dirent.h
index ac1928d..5b803c6 100644
--- a/bits/dirent.h
+++ b/bits/dirent.h
@@ -1,5 +1,5 @@
 /* Directory entry structure `struct dirent'.  Stub version.
-   Copyright (C) 1996, 1997 Free Software Foundation, Inc.
+   Copyright (C) 1996-2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -33,3 +33,6 @@ struct dirent64
     int d_fileno;
   };
 #endif
+
+/* Inform libc code that these two types are identical.  */
+#define _DIRENT_MATCHES_DIRENT64	1
diff --git a/bits/typesizes.h b/bits/typesizes.h
index 09959f2..c3debd0 100644
--- a/bits/typesizes.h
+++ b/bits/typesizes.h
@@ -66,6 +66,9 @@
    for all ABI purposes, even if possibly expressed as different base types
    for C type-checking purposes.  */
 # define __OFF_T_MATCHES_OFF64_T	1
+
+/* Same for ino_t and ino64_t.  */
+# define __INO_T_MATCHES_INO64_T	1
 #endif
 
 /* Number of descriptors that can fit in an `fd_set'.  */
diff --git a/dirent/alphasort.c b/dirent/alphasort.c
index 5939322..6fab7f8 100644
--- a/dirent/alphasort.c
+++ b/dirent/alphasort.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1992, 1997, 1998, 2009 Free Software Foundation, Inc.
+/* Copyright (C) 1992-2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -15,7 +15,15 @@
    License along with the GNU C Library; if not, see
    <http://www.gnu.org/licenses/>.  */
 
+/* We need to avoid the header declaration of alphasort64, because
+   the types don't match alphasort and then the compiler will
+   complain about the mismatch when we do the alias below.  */
+#define alphasort64     __renamed_alphasort64
+
 #include <dirent.h>
+
+#undef  alphasort64
+
 #include <string.h>
 
 int
@@ -23,3 +31,7 @@ alphasort (const struct dirent **a, const struct dirent **b)
 {
   return strcoll ((*a)->d_name, (*b)->d_name);
 }
+
+#ifdef _DIRENT_MATCHES_DIRENT64
+weak_alias (alphasort, alphasort64)
+#endif
diff --git a/dirent/alphasort64.c b/dirent/alphasort64.c
index 4f5c1dd..a4d37ab 100644
--- a/dirent/alphasort64.c
+++ b/dirent/alphasort64.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1992, 1997, 1998, 2000, 2009 Free Software Foundation, Inc.
+/* Copyright (C) 1992-2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -18,8 +18,13 @@
 #include <dirent.h>
 #include <string.h>
 
+/* alphasort.c defines alphasort64 as an alias if _DIRENT_MATCHES_DIRENT64.  */
+#ifndef _DIRENT_MATCHES_DIRENT64
+
 int
 alphasort64 (const struct dirent64 **a, const struct dirent64 **b)
 {
   return strcoll ((*a)->d_name, (*b)->d_name);
 }
+
+#endif
diff --git a/dirent/scandir.c b/dirent/scandir.c
index 8b0a87b..6dce54d 100644
--- a/dirent/scandir.c
+++ b/dirent/scandir.c
@@ -1,5 +1,4 @@
-/* Copyright (C) 1992-1998,2000,2002,2003,2009,2011
-   Free Software Foundation, Inc.
+/* Copyright (C) 1992-2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -16,7 +15,15 @@
    License along with the GNU C Library; if not, see
    <http://www.gnu.org/licenses/>.  */
 
+/* We need to avoid the header declaration of scandir64, because
+   the types don't match scandir and then the compiler will
+   complain about the mismatch when we do the alias below.  */
+#define scandir64       __renamed_scandir64
+
 #include <dirent.h>
+
+#undef  scandir64
+
 #include <fcntl.h>
 
 #ifndef SCANDIR
@@ -35,3 +42,7 @@ SCANDIR (dir, namelist, select, cmp)
 {
   return SCANDIRAT (AT_FDCWD, dir, namelist, select, cmp);
 }
+
+#ifdef _DIRENT_MATCHES_DIRENT64
+weak_alias (scandir, scandir64)
+#endif
diff --git a/dirent/scandir64.c b/dirent/scandir64.c
index 78ac570..bba302f 100644
--- a/dirent/scandir64.c
+++ b/dirent/scandir64.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2000, 2009, 2011 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -17,8 +17,13 @@
 
 #include <dirent.h>
 
+/* scandir.c defines scandir64 as an alias if _DIRENT_MATCHES_DIRENT64.  */
+#ifndef _DIRENT_MATCHES_DIRENT64
+
 #define SCANDIR scandir64
 #define SCANDIRAT scandirat64
 #define DIRENT_TYPE struct dirent64
 
 #include <dirent/scandir.c>
+
+#endif
diff --git a/dirent/scandirat.c b/dirent/scandirat.c
index 13bd574..c2704ba 100644
--- a/dirent/scandirat.c
+++ b/dirent/scandirat.c
@@ -1,5 +1,4 @@
-/* Copyright (C) 1992-1998,2000,2002,2003,2009,2011
-   Free Software Foundation, Inc.
+/* Copyright (C) 1992-2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -16,7 +15,15 @@
    License along with the GNU C Library; if not, see
    <http://www.gnu.org/licenses/>.  */
 
+/* We need to avoid the header declaration of scandir64, because
+   the types don't match scandir and then the compiler will
+   complain about the mismatch when we do the alias below.  */
+#define scandirat64       __renamed_scandirat64
+
 #include <dirent.h>
+
+#undef  scandirat64
+
 #include <stdlib.h>
 #include <string.h>
 #include <errno.h>
@@ -141,3 +148,7 @@ SCANDIRAT (dfd, dir, namelist, select, cmp)
   return c.cnt;
 }
 libc_hidden_def (SCANDIRAT)
+
+#ifdef _DIRENT_MATCHES_DIRENT64
+weak_alias (scandirat, scandirat64)
+#endif
diff --git a/dirent/scandirat64.c b/dirent/scandirat64.c
index a816ee9..608ca33 100644
--- a/dirent/scandirat64.c
+++ b/dirent/scandirat64.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2000, 2009, 2011 Free Software Foundation, Inc.
+/* Copyright (C) 2000-2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -17,9 +17,14 @@
 
 #include <dirent.h>
 
+/* scandirat.c defines scandirat64 as an alias if _DIRENT_MATCHES_DIRENT64.  */
+#ifndef _DIRENT_MATCHES_DIRENT64
+
 #define SCANDIRAT scandirat64
 #define READDIR __readdir64
 #define DIRENT_TYPE struct dirent64
 #define SKIP_SCANDIR_CANCEL 1
 
 #include "scandirat.c"
+
+#endif
diff --git a/dirent/versionsort.c b/dirent/versionsort.c
index 47bda04..ee34659 100644
--- a/dirent/versionsort.c
+++ b/dirent/versionsort.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1992, 1997, 1998, 2009 Free Software Foundation, Inc.
+/* Copyright (C) 1992-2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -15,7 +15,15 @@
    License along with the GNU C Library; if not, see
    <http://www.gnu.org/licenses/>.  */
 
+/* We need to avoid the header declaration of versionsort64, because
+   the types don't match versionsort and then the compiler will
+   complain about the mismatch when we do the alias below.  */
+#define versionsort64     __renamed_versionsort64
+
 #include <dirent.h>
+
+#undef  versionsort64
+
 #include <string.h>
 
 int
@@ -23,3 +31,7 @@ versionsort (const struct dirent **a, const struct dirent **b)
 {
   return __strverscmp ((*a)->d_name, (*b)->d_name);
 }
+
+#ifdef _DIRENT_MATCHES_DIRENT64
+weak_alias (versionsort, versionsort64)
+#endif
diff --git a/dirent/versionsort64.c b/dirent/versionsort64.c
index 5b40e10..dca72e8 100644
--- a/dirent/versionsort64.c
+++ b/dirent/versionsort64.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1992, 1997, 1998, 2000, 2009 Free Software Foundation, Inc.
+/* Copyright (C) 1992-2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -18,8 +18,13 @@
 #include <dirent.h>
 #include <string.h>
 
+/* versionsort.c defines a versionsort64 alias if _DIRENT_MATCHES_DIRENT64.  */
+#ifndef _DIRENT_MATCHES_DIRENT64
+
 int
 versionsort64 (const struct dirent64 **a, const struct dirent64 **b)
 {
   return __strverscmp ((*a)->d_name, (*b)->d_name);
 }
+
+#endif
diff --git a/ports/ChangeLog.alpha b/ports/ChangeLog.alpha
index b13857f..eb178ea 100644
--- a/ports/ChangeLog.alpha
+++ b/ports/ChangeLog.alpha
@@ -1,5 +1,10 @@
 2012-08-02  Roland McGrath  <roland@hack.frob.com>
 
+	* sysdeps/unix/sysv/linux/alpha/bits/dirent.h
+	(_DIRENT_MATCHES_DIRENT64): New macro.
+
+2012-08-02  Roland McGrath  <roland@hack.frob.com>
+
 	* sysdeps/unix/sysv/linux/alpha/bits/typesizes.h
 	(__OFF_T_MATCHES_OFF64_T): New macro.
 
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/bits/dirent.h b/ports/sysdeps/unix/sysv/linux/alpha/bits/dirent.h
index f146466..487ad15 100644
--- a/ports/sysdeps/unix/sysv/linux/alpha/bits/dirent.h
+++ b/ports/sysdeps/unix/sysv/linux/alpha/bits/dirent.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1996, 1997 Free Software Foundation, Inc.
+/* Copyright (C) 1996-2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -51,4 +51,7 @@ struct dirent64
 #define _DIRENT_HAVE_D_OFF
 #define _DIRENT_HAVE_D_TYPE
 
+/* Inform libc code that these two types are effectively identical.  */
+#define _DIRENT_MATCHES_DIRENT64	1
+
 #endif /* bits/dirent.h */
diff --git a/ports/sysdeps/unix/sysv/linux/generic/bits/typesizes.h b/ports/sysdeps/unix/sysv/linux/generic/bits/typesizes.h
index 670c6d1..d7d2a5c 100644
--- a/ports/sysdeps/unix/sysv/linux/generic/bits/typesizes.h
+++ b/ports/sysdeps/unix/sysv/linux/generic/bits/typesizes.h
@@ -67,6 +67,9 @@
    for all ABI purposes, even if possibly expressed as different base types
    for C type-checking purposes.  */
 # define __OFF_T_MATCHES_OFF64_T	1
+
+/* Same for ino_t and ino64_t.  */
+# define __INO_T_MATCHES_INO64_T	1
 #endif
 
 /* Number of descriptors that can fit in an `fd_set'.  */
diff --git a/sysdeps/unix/sysv/linux/bits/dirent.h b/sysdeps/unix/sysv/linux/bits/dirent.h
index 5728618..11daabe 100644
--- a/sysdeps/unix/sysv/linux/bits/dirent.h
+++ b/sysdeps/unix/sysv/linux/bits/dirent.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1996, 1997 Free Software Foundation, Inc.
+/* Copyright (C) 1996-2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -50,3 +50,8 @@ struct dirent64
 #define _DIRENT_HAVE_D_RECLEN
 #define _DIRENT_HAVE_D_OFF
 #define _DIRENT_HAVE_D_TYPE
+
+#if defined __OFF_T_MATCHES_OFF64_T && defined __INO_T_MATCHES_INO64_T
+/* Inform libc code that these two types are effectively identical.  */
+# define _DIRENT_MATCHES_DIRENT64	1
+#endif
diff --git a/sysdeps/unix/sysv/linux/s390/bits/typesizes.h b/sysdeps/unix/sysv/linux/s390/bits/typesizes.h
index bf3d8b7..b630488 100644
--- a/sysdeps/unix/sysv/linux/s390/bits/typesizes.h
+++ b/sysdeps/unix/sysv/linux/s390/bits/typesizes.h
@@ -72,6 +72,9 @@
    for all ABI purposes, even if possibly expressed as different base types
    for C type-checking purposes.  */
 # define __OFF_T_MATCHES_OFF64_T	1
+
+/* Same for ino_t and ino64_t.  */
+# define __INO_T_MATCHES_INO64_T	1
 #endif
 
 /* Number of descriptors that can fit in an `fd_set'.  */
diff --git a/sysdeps/unix/sysv/linux/sparc/bits/typesizes.h b/sysdeps/unix/sysv/linux/sparc/bits/typesizes.h
index 7b1f191..e55d642 100644
--- a/sysdeps/unix/sysv/linux/sparc/bits/typesizes.h
+++ b/sysdeps/unix/sysv/linux/sparc/bits/typesizes.h
@@ -66,6 +66,9 @@
    for all ABI purposes, even if possibly expressed as different base types
    for C type-checking purposes.  */
 # define __OFF_T_MATCHES_OFF64_T	1
+
+/* Same for ino_t and ino64_t.  */
+# define __INO_T_MATCHES_INO64_T	1
 #endif
 
 /* Number of descriptors that can fit in an `fd_set'.  */
diff --git a/sysdeps/unix/sysv/linux/x86/bits/typesizes.h b/sysdeps/unix/sysv/linux/x86/bits/typesizes.h
index a477627..397e867 100644
--- a/sysdeps/unix/sysv/linux/x86/bits/typesizes.h
+++ b/sysdeps/unix/sysv/linux/x86/bits/typesizes.h
@@ -78,6 +78,9 @@
    for all ABI purposes, even if possibly expressed as different base types
    for C type-checking purposes.  */
 # define __OFF_T_MATCHES_OFF64_T	1
+
+/* Same for ino_t and ino64_t.  */
+# define __INO_T_MATCHES_INO64_T	1
 #endif
 
 /* Number of descriptors that can fit in an `fd_set'.  */
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/alphasort.c b/sysdeps/unix/sysv/linux/x86_64/x32/alphasort.c
deleted file mode 100644
index 69ec427..0000000
--- a/sysdeps/unix/sysv/linux/x86_64/x32/alphasort.c
+++ /dev/null
@@ -1 +0,0 @@
-#include <sysdeps/wordsize-64/alphasort.c>
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/alphasort64.c b/sysdeps/unix/sysv/linux/x86_64/x32/alphasort64.c
deleted file mode 100644
index 6c5b2a1..0000000
--- a/sysdeps/unix/sysv/linux/x86_64/x32/alphasort64.c
+++ /dev/null
@@ -1 +0,0 @@
-#include <sysdeps/wordsize-64/alphasort64.c>
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/scandir.c b/sysdeps/unix/sysv/linux/x86_64/x32/scandir.c
deleted file mode 100644
index 9288ca2..0000000
--- a/sysdeps/unix/sysv/linux/x86_64/x32/scandir.c
+++ /dev/null
@@ -1 +0,0 @@
-#include <sysdeps/wordsize-64/scandir.c>
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/scandir64.c b/sysdeps/unix/sysv/linux/x86_64/x32/scandir64.c
deleted file mode 100644
index 6d22057..0000000
--- a/sysdeps/unix/sysv/linux/x86_64/x32/scandir64.c
+++ /dev/null
@@ -1 +0,0 @@
-#include <sysdeps/wordsize-64/scandir64.c>
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/scandirat.c b/sysdeps/unix/sysv/linux/x86_64/x32/scandirat.c
deleted file mode 100644
index 5b88993..0000000
--- a/sysdeps/unix/sysv/linux/x86_64/x32/scandirat.c
+++ /dev/null
@@ -1 +0,0 @@
-#include <sysdeps/wordsize-64/scandirat.c>
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/scandirat64.c b/sysdeps/unix/sysv/linux/x86_64/x32/scandirat64.c
deleted file mode 100644
index 0d7893d..0000000
--- a/sysdeps/unix/sysv/linux/x86_64/x32/scandirat64.c
+++ /dev/null
@@ -1 +0,0 @@
-#include <sysdeps/wordsize-64/scandirat64.c>
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/versionsort.c b/sysdeps/unix/sysv/linux/x86_64/x32/versionsort.c
deleted file mode 100644
index af5a668..0000000
--- a/sysdeps/unix/sysv/linux/x86_64/x32/versionsort.c
+++ /dev/null
@@ -1 +0,0 @@
-#include <sysdeps/wordsize-64/versionsort.c>
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/versionsort64.c b/sysdeps/unix/sysv/linux/x86_64/x32/versionsort64.c
deleted file mode 100644
index fe220c9..0000000
--- a/sysdeps/unix/sysv/linux/x86_64/x32/versionsort64.c
+++ /dev/null
@@ -1 +0,0 @@
-#include <sysdeps/wordsize-64/versionsort64.c>
diff --git a/sysdeps/wordsize-64/alphasort.c b/sysdeps/wordsize-64/alphasort.c
deleted file mode 100644
index edc4101..0000000
--- a/sysdeps/wordsize-64/alphasort.c
+++ /dev/null
@@ -1,7 +0,0 @@
-#define alphasort64 rename_alphasort64
-
-#include "../../dirent/alphasort.c"
-
-#undef alphasort64
-
-weak_alias (alphasort, alphasort64)
diff --git a/sysdeps/wordsize-64/alphasort64.c b/sysdeps/wordsize-64/alphasort64.c
deleted file mode 100644
index 0850913..0000000
--- a/sysdeps/wordsize-64/alphasort64.c
+++ /dev/null
@@ -1 +0,0 @@
-/* Defined in alphasort.c.  */
diff --git a/sysdeps/wordsize-64/scandir.c b/sysdeps/wordsize-64/scandir.c
deleted file mode 100644
index 9af7e9b..0000000
--- a/sysdeps/wordsize-64/scandir.c
+++ /dev/null
@@ -1,6 +0,0 @@
-#define scandir64 scandir64_renamed
-
-#include "../../dirent/scandir.c"
-
-#undef scandir64
-weak_alias (scandir, scandir64)
diff --git a/sysdeps/wordsize-64/scandir64.c b/sysdeps/wordsize-64/scandir64.c
deleted file mode 100644
index 3c2c4a1..0000000
--- a/sysdeps/wordsize-64/scandir64.c
+++ /dev/null
@@ -1 +0,0 @@
-/* Defined in scandir.c.  */
diff --git a/sysdeps/wordsize-64/scandirat.c b/sysdeps/wordsize-64/scandirat.c
deleted file mode 100644
index 02b8fde..0000000
--- a/sysdeps/wordsize-64/scandirat.c
+++ /dev/null
@@ -1,6 +0,0 @@
-#define scandirat64 scandirat64_renamed
-
-#include "../../dirent/scandirat.c"
-
-#undef scandirat64
-weak_alias (scandirat, scandirat64)
diff --git a/sysdeps/wordsize-64/scandirat64.c b/sysdeps/wordsize-64/scandirat64.c
deleted file mode 100644
index fb93865..0000000
--- a/sysdeps/wordsize-64/scandirat64.c
+++ /dev/null
@@ -1 +0,0 @@
-/* Defined in scandirat.c.  */
diff --git a/sysdeps/wordsize-64/versionsort.c b/sysdeps/wordsize-64/versionsort.c
deleted file mode 100644
index bb25550..0000000
--- a/sysdeps/wordsize-64/versionsort.c
+++ /dev/null
@@ -1,7 +0,0 @@
-#define versionsort64 rename_versionsort64
-
-#include "../../dirent/versionsort.c"
-
-#undef versionsort64
-
-weak_alias (versionsort, versionsort64)
diff --git a/sysdeps/wordsize-64/versionsort64.c b/sysdeps/wordsize-64/versionsort64.c
deleted file mode 100644
index ac6c3c7..0000000
--- a/sysdeps/wordsize-64/versionsort64.c
+++ /dev/null
@@ -1 +0,0 @@
-/* Defined in versionsort.c.  */

http://sources.redhat.com/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=03af952060fee063679864d82cdd76f94d56d263

commit 03af952060fee063679864d82cdd76f94d56d263
Author: Roland McGrath <roland@hack.frob.com>
Date:   Mon Aug 6 16:48:14 2012 -0700

    Clean up lockf64, fseeko64, ftello64, fgetpos64, fsetpos64 for off64_t == off_t.

diff --git a/ChangeLog b/ChangeLog
index 81bc264..a631c00 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,53 @@
+2012-08-06  Roland McGrath  <roland@hack.frob.com>
+
+	* io/lockf.c [__OFF_T_MATCHES_OFF64_T]:
+	Define lockf64 as an alias.
+	* libio/fseeko.c [__OFF_T_MATCHES_OFF64_T]:
+	Define fseeko64 as an alias.
+	* libio/ftello.c [__OFF_T_MATCHES_OFF64_T]:
+	Define ftello64 as an alias.
+	* libio/iofgetpos.c [__OFF_T_MATCHES_OFF64_T]:
+	Define _IO_fgetpos64 and fgetpos64 as aliases.
+	* libio/iofsetpos.c [__OFF_T_MATCHES_OFF64_T]:
+	Define _IO_fsetpos64 and fsetpos64 as aliases.
+	* io/lockf64.c [!__OFF_T_MATCHES_OFF64_T]:
+	Conditionalize body on this.
+	* libio/fseeko64.c: Likewise.
+	* libio/ftello64.c: Likewise.
+	* libio/iofgetpos64.c: Likewise.
+	* libio/iofsetpos64.c: Likewise.
+	* sysdeps/wordsize-64/lockf.c: File removed.
+	* sysdeps/wordsize-64/lockf64.c: File removed.
+	* sysdeps/wordsize-64/fseeko.c: File removed.
+	* sysdeps/wordsize-64/fseeko64.c: File removed.
+	* sysdeps/wordsize-64/ftello.c: File removed.
+	* sysdeps/wordsize-64/ftello64.c: File removed.
+	* sysdeps/wordsize-64/iofgetpos.c: File removed.
+	* sysdeps/wordsize-64/iofgetpos64.c: File removed.
+	* sysdeps/wordsize-64/iofsetpos.c: File removed.
+	* sysdeps/wordsize-64/iofsetpos64.c: File removed.
+	* sysdeps/unix/sysv/linux/x86_64/x32/lockf.c: File removed.
+	* sysdeps/unix/sysv/linux/x86_64/x32/lockf64.c: File removed.
+	* sysdeps/unix/sysv/linux/x86_64/x32/fseeko.c: File removed.
+	* sysdeps/unix/sysv/linux/x86_64/x32/fseeko64.c: File removed.
+	* sysdeps/unix/sysv/linux/x86_64/x32/ftello.c: File removed.
+	* sysdeps/unix/sysv/linux/x86_64/x32/ftello64.c: File removed.
+	* sysdeps/unix/sysv/linux/x86_64/x32/iofgetpos.c: File removed.
+	* sysdeps/unix/sysv/linux/x86_64/x32/iofgetpos64.c: File removed.
+	* sysdeps/unix/sysv/linux/x86_64/x32/iofsetpos.c: File removed.
+	* sysdeps/unix/sysv/linux/x86_64/x32/iofsetpos64.c: File removed.
+
+	* bits/typesizes.h [__LP64__] (__OFF_T_MATCHES_OFF64_T): New macro.
+	* sysdeps/unix/sysv/linux/s390/bits/typesizes.h:
+	[__s390x__] (__OFF_T_MATCHES_OFF64_T): New macro.
+	* sysdeps/unix/sysv/linux/sparc/bits/typesizes.h
+	[defined __arch64__ || defined __sparcv9]
+	(__OFF_T_MATCHES_OFF64_T): New macro.
+	* sysdeps/unix/sysv/linux/x86/bits/typesizes.h
+	[__x86_64__] (__OFF_T_MATCHES_OFF64_T): New macro.
+	* sysdeps/unix/bsd/bsd4.4/freebsd/bits/typesizes.h
+	(__OFF_T_MATCHES_OFF64_T): New macro.
+
 2012-08-06  H.J. Lu  <hongjiu.lu@intel.com>
 
 	* stdlib/secure-getenv.c (__secure_getenv): Replace
diff --git a/bits/typesizes.h b/bits/typesizes.h
index 3fd4a2e..09959f2 100644
--- a/bits/typesizes.h
+++ b/bits/typesizes.h
@@ -61,6 +61,13 @@
 #define __SYSCALL_SLONG_TYPE	__SLONGWORD_TYPE
 #define __SYSCALL_ULONG_TYPE	__ULONGWORD_TYPE
 
+#ifdef __LP64__
+/* Tell the libc code that off_t and off64_t are actually the same type
+   for all ABI purposes, even if possibly expressed as different base types
+   for C type-checking purposes.  */
+# define __OFF_T_MATCHES_OFF64_T	1
+#endif
+
 /* Number of descriptors that can fit in an `fd_set'.  */
 #define	__FD_SETSIZE		1024
 
diff --git a/io/lockf.c b/io/lockf.c
index 42232d0..1ee9511 100644
--- a/io/lockf.c
+++ b/io/lockf.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1994,1996,1997,1998,2000,2003 Free Software Foundation, Inc.
+/* Copyright (C) 1994-2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -15,9 +15,17 @@
    License along with the GNU C Library; if not, see
    <http://www.gnu.org/licenses/>.  */
 
+/* We need to avoid the header declaration of lockf64, because
+   the types don't match lockf and then the compiler will
+   complain about the mismatch when we do the alias below.  */
+#define lockf64	__renamed_lockf64
+
+#include <fcntl.h>
+
+#undef	lockf64
+
 #include <sys/types.h>
 #include <unistd.h>
-#include <fcntl.h>
 #include <errno.h>
 #include <string.h>
 
@@ -71,3 +79,7 @@ lockf (int fd, int cmd, off_t len)
      the fcntl() function will take care of it.  */
   return __fcntl (fd, cmd, &fl);
 }
+
+#ifdef __OFF_T_MATCHES_OFF64_T
+weak_alias (lockf, lockf64)
+#endif
diff --git a/io/lockf64.c b/io/lockf64.c
index 80ca151..60516eb 100644
--- a/io/lockf64.c
+++ b/io/lockf64.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1994,96,97,98,99,2000 Free Software Foundation, Inc.
+/* Copyright (C) 1994-2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -21,6 +21,9 @@
 #include <errno.h>
 #include <string.h>
 
+/* lockf.c defines lockf64 as an lias if __OFF_T_MATCHES_OFF64_T.  */
+#ifndef __OFF_T_MATCHES_OFF64_T
+
 /* lockf is a simplified interface to fcntl's locking facilities.  */
 
 int
@@ -76,3 +79,5 @@ lockf64 (int fd, int cmd, off64_t len64)
 
   return __fcntl (fd, cmd, &fl);
 }
+
+#endif
diff --git a/libio/fseeko.c b/libio/fseeko.c
index 7a70636..6d37aea 100644
--- a/libio/fseeko.c
+++ b/libio/fseeko.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1993,1995,1996,1997,1998,2003 Free Software Foundation, Inc.
+/* Copyright (C) 1993-2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -40,3 +40,7 @@ fseeko (fp, offset, whence)
   _IO_release_lock (fp);
   return result;
 }
+
+#ifdef __OFF_T_MATCHES_OFF64_T
+weak_alias (fseeko, fseeko64)
+#endif
diff --git a/libio/fseeko64.c b/libio/fseeko64.c
index 2291f61..9fbe308 100644
--- a/libio/fseeko64.c
+++ b/libio/fseeko64.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1993,1995,1996,1997,1998,2003 Free Software Foundation, Inc.
+/* Copyright (C) 1993-2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -28,6 +28,9 @@
 #include "libioP.h"
 #include "stdio.h"
 
+/* fseeko.c defines this as an alias if __OFF_T_MATCHES_OFF64_T.  */
+#ifndef __OFF_T_MATCHES_OFF64_T
+
 int
 fseeko64 (fp, offset, whence)
      _IO_FILE* fp;
@@ -46,3 +49,5 @@ fseeko64 (fp, offset, whence)
   return -1;
 #endif
 }
+
+#endif
diff --git a/libio/ftello.c b/libio/ftello.c
index 1d85bc6..9052276 100644
--- a/libio/ftello.c
+++ b/libio/ftello.c
@@ -1,5 +1,4 @@
-/* Copyright (C) 1993, 1995-2001, 2002, 2003, 2004, 2007
-   Free Software Foundation, Inc.
+/* Copyright (C) 1993-2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -63,3 +62,7 @@ ftello (fp)
   return pos;
 }
 libc_hidden_def (ftello)
+
+#ifdef __OFF_T_MATCHES_OFF64_T
+weak_alias (ftello, ftello64)
+#endif
diff --git a/libio/ftello64.c b/libio/ftello64.c
index 0f70c66..852ef71 100644
--- a/libio/ftello64.c
+++ b/libio/ftello64.c
@@ -1,5 +1,4 @@
-/* Copyright (C) 1993, 1995-2001, 2002, 2003, 2004
-   Free Software Foundation, Inc.
+/* Copyright (C) 1993-2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -30,6 +29,7 @@
 #include <libioP.h>
 #include <errno.h>
 
+#ifndef __OFF_T_MATCHES_OFF64_T
 
 off64_t
 ftello64 (fp)
@@ -60,3 +60,5 @@ ftello64 (fp)
   return -1;
 #endif
 }
+
+#endif
diff --git a/libio/iofgetpos.c b/libio/iofgetpos.c
index 4338b50..a1d6bb6 100644
--- a/libio/iofgetpos.c
+++ b/libio/iofgetpos.c
@@ -1,5 +1,4 @@
-/* Copyright (C) 1993, 1995-2001, 2002, 2003, 2004
-   Free Software Foundation, Inc.
+/* Copyright (C) 1993-2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -25,7 +24,17 @@
    This exception applies to code released by its copyright holders
    in files containing the exception.  */
 
+/* We need to avoid the header declarations of these, because
+   the types don't match _IO_fgetpos and then the compiler will
+   complain about the mismatch when we do the alias below.  */
+#define _IO_new_fgetpos64 __renamed__IO_new_fgetpos64
+#define _IO_fgetpos64 __renamed__IO_fgetpos64
+
 #include "libioP.h"
+
+#undef _IO_new_fgetpos64
+#undef _IO_fgetpos64
+
 #include <errno.h>
 #include <stdlib.h>
 #include <shlib-compat.h>
@@ -78,3 +87,10 @@ _IO_new_fgetpos (fp, posp)
 strong_alias (_IO_new_fgetpos, __new_fgetpos)
 versioned_symbol (libc, _IO_new_fgetpos, _IO_fgetpos, GLIBC_2_2);
 versioned_symbol (libc, __new_fgetpos, fgetpos, GLIBC_2_2);
+
+#ifdef __OFF_T_MATCHES_OFF64_T
+strong_alias (_IO_new_fgetpos, _IO_new_fgetpos64)
+strong_alias (_IO_new_fgetpos64, __new_fgetpos64)
+versioned_symbol (libc, _IO_new_fgetpos64, _IO_fgetpos64, GLIBC_2_2);
+versioned_symbol (libc, __new_fgetpos64, fgetpos64, GLIBC_2_2);
+#endif
diff --git a/libio/iofgetpos64.c b/libio/iofgetpos64.c
index 0cb141b..9755c32 100644
--- a/libio/iofgetpos64.c
+++ b/libio/iofgetpos64.c
@@ -1,5 +1,4 @@
-/* Copyright (C) 1993, 1995-2001, 2002, 2003, 2004
-   Free Software Foundation, Inc.
+/* Copyright (C) 1993-2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -29,6 +28,7 @@
 #include <errno.h>
 #include <shlib-compat.h>
 
+#ifndef __OFF_T_MATCHES_OFF64_T
 
 int
 _IO_new_fgetpos64 (fp, posp)
@@ -75,3 +75,5 @@ _IO_new_fgetpos64 (fp, posp)
 strong_alias (_IO_new_fgetpos64, __new_fgetpos64)
 versioned_symbol (libc, _IO_new_fgetpos64, _IO_fgetpos64, GLIBC_2_2);
 versioned_symbol (libc, __new_fgetpos64, fgetpos64, GLIBC_2_2);
+
+#endif
diff --git a/libio/iofsetpos.c b/libio/iofsetpos.c
index 19bea3b..5e8d444 100644
--- a/libio/iofsetpos.c
+++ b/libio/iofsetpos.c
@@ -1,5 +1,4 @@
-/* Copyright (C) 1993, 1995, 1997, 1998, 1999, 2000, 2002, 2003
-   Free Software Foundation, Inc.
+/* Copyright (C) 1993-2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -25,7 +24,17 @@
    This exception applies to code released by its copyright holders
    in files containing the exception.  */
 
+/* We need to avoid the header declarations of these, because
+   the types don't match _IO_fsetpos and then the compiler will
+   complain about the mismatch when we do the alias below.  */
+#define _IO_new_fsetpos64 __renamed__IO_new_fsetpos64
+#define _IO_fsetpos64 __renamed__IO_fsetpos64
+
 #include <libioP.h>
+
+#undef _IO_new_fsetpos64
+#undef _IO_fsetpos64
+
 #include <errno.h>
 #include <shlib-compat.h>
 
@@ -63,3 +72,10 @@ _IO_new_fsetpos (fp, posp)
 strong_alias (_IO_new_fsetpos, __new_fsetpos)
 versioned_symbol (libc, _IO_new_fsetpos, _IO_fsetpos, GLIBC_2_2);
 versioned_symbol (libc, __new_fsetpos, fsetpos, GLIBC_2_2);
+
+#ifdef __OFF_T_MATCHES_OFF64_T
+strong_alias (_IO_new_fsetpos, _IO_new_fsetpos64)
+strong_alias (_IO_new_fsetpos64, __new_fsetpos64)
+versioned_symbol (libc, __new_fsetpos64, fsetpos64, GLIBC_2_2);
+versioned_symbol (libc, _IO_new_fsetpos64, _IO_fsetpos64, GLIBC_2_2);
+#endif
diff --git a/libio/iofsetpos64.c b/libio/iofsetpos64.c
index 9835c12..20edd8d 100644
--- a/libio/iofsetpos64.c
+++ b/libio/iofsetpos64.c
@@ -1,5 +1,4 @@
-/* Copyright (C) 1993, 1995, 1997, 1998, 1999, 2000, 2002, 2003
-   Free Software Foundation, Inc.
+/* Copyright (C) 1993-2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -29,6 +28,8 @@
 #include <errno.h>
 #include <shlib-compat.h>
 
+#ifndef __OFF_T_MATCHES_OFF64_T
+
 int
 _IO_new_fsetpos64 (fp, posp)
      _IO_FILE *fp;
@@ -68,3 +69,5 @@ _IO_new_fsetpos64 (fp, posp)
 strong_alias (_IO_new_fsetpos64, __new_fsetpos64)
 versioned_symbol (libc, __new_fsetpos64, fsetpos64, GLIBC_2_2);
 versioned_symbol (libc, _IO_new_fsetpos64, _IO_fsetpos64, GLIBC_2_2);
+
+#endif
diff --git a/ports/ChangeLog.alpha b/ports/ChangeLog.alpha
index b0d66ed..b13857f 100644
--- a/ports/ChangeLog.alpha
+++ b/ports/ChangeLog.alpha
@@ -1,3 +1,8 @@
+2012-08-02  Roland McGrath  <roland@hack.frob.com>
+
+	* sysdeps/unix/sysv/linux/alpha/bits/typesizes.h
+	(__OFF_T_MATCHES_OFF64_T): New macro.
+
 2012-08-03  Joseph Myers  <joseph@codesourcery.com>
 
 	* sysdeps/unix/sysv/linux/alpha/configure.in
diff --git a/ports/ChangeLog.linux-generic b/ports/ChangeLog.linux-generic
index 79d4612..b5774de 100644
--- a/ports/ChangeLog.linux-generic
+++ b/ports/ChangeLog.linux-generic
@@ -1,3 +1,8 @@
+2012-08-02  Roland McGrath  <roland@hack.frob.com>
+
+	* sysdeps/unix/sysv/linux/generic/bits/typesizes.h
+	[__LP64__] (__OFF_T_MATCHES_OFF64_T): New macro.
+
 2012-05-30  Chris Metcalf  <cmetcalf@tilera.com>
 
 	* sysdeps/unix/sysv/linux/generic/syscalls.list: Remove
diff --git a/ports/sysdeps/unix/sysv/linux/alpha/bits/typesizes.h b/ports/sysdeps/unix/sysv/linux/alpha/bits/typesizes.h
index 2dbeb42..31258e4 100644
--- a/ports/sysdeps/unix/sysv/linux/alpha/bits/typesizes.h
+++ b/ports/sysdeps/unix/sysv/linux/alpha/bits/typesizes.h
@@ -1,5 +1,5 @@
 /* bits/typesizes.h -- underlying types for *_t.  Linux/Alpha version.
-   Copyright (C) 2002, 2003 Free Software Foundation, Inc.
+   Copyright (C) 2002-2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -61,6 +61,10 @@
 #define __SYSCALL_ULONG_TYPE	__ULONGWORD_TYPE
 #define __FSWORD_T_TYPE		__S32_TYPE
 
+/* Tell the libc code that off_t and off64_t are actually the same type
+   for all ABI purposes, even if possibly expressed as different base types
+   for C type-checking purposes.  */
+#define __OFF_T_MATCHES_OFF64_T	1
 
 /* Number of descriptors that can fit in an `fd_set'.  */
 #define	__FD_SETSIZE		1024
diff --git a/ports/sysdeps/unix/sysv/linux/generic/bits/typesizes.h b/ports/sysdeps/unix/sysv/linux/generic/bits/typesizes.h
index 948edeb..670c6d1 100644
--- a/ports/sysdeps/unix/sysv/linux/generic/bits/typesizes.h
+++ b/ports/sysdeps/unix/sysv/linux/generic/bits/typesizes.h
@@ -62,6 +62,13 @@
 #define __SYSCALL_SLONG_TYPE	__SLONGWORD_TYPE
 #define __SYSCALL_ULONG_TYPE	__ULONGWORD_TYPE
 
+#ifdef __LP64__
+/* Tell the libc code that off_t and off64_t are actually the same type
+   for all ABI purposes, even if possibly expressed as different base types
+   for C type-checking purposes.  */
+# define __OFF_T_MATCHES_OFF64_T	1
+#endif
+
 /* Number of descriptors that can fit in an `fd_set'.  */
 #define	__FD_SETSIZE		1024
 
diff --git a/sysdeps/unix/bsd/bsd4.4/freebsd/bits/typesizes.h b/sysdeps/unix/bsd/bsd4.4/freebsd/bits/typesizes.h
index 02c24e4..67d82e6 100644
--- a/sysdeps/unix/bsd/bsd4.4/freebsd/bits/typesizes.h
+++ b/sysdeps/unix/bsd/bsd4.4/freebsd/bits/typesizes.h
@@ -61,6 +61,11 @@
 #define __SYSCALL_SLONG_TYPE	__SLONGWORD_TYPE
 #define __SYSCALL_ULONG_TYPE	__ULONGWORD_TYPE
 
+
+/* Tell the libc code that off_t and off64_t are actually the same type.  */
+#define __OFF_T_MATCHES_OFF64_T	1
+
+
 /* Number of descriptors that can fit in an `fd_set'.  */
 #define	__FD_SETSIZE		1024
 
diff --git a/sysdeps/unix/sysv/linux/s390/bits/typesizes.h b/sysdeps/unix/sysv/linux/s390/bits/typesizes.h
index def84cc..bf3d8b7 100644
--- a/sysdeps/unix/sysv/linux/s390/bits/typesizes.h
+++ b/sysdeps/unix/sysv/linux/s390/bits/typesizes.h
@@ -67,6 +67,13 @@
 #define __SYSCALL_SLONG_TYPE	__SLONGWORD_TYPE
 #define __SYSCALL_ULONG_TYPE	__ULONGWORD_TYPE
 
+#ifdef __s390x__
+/* Tell the libc code that off_t and off64_t are actually the same type
+   for all ABI purposes, even if possibly expressed as different base types
+   for C type-checking purposes.  */
+# define __OFF_T_MATCHES_OFF64_T	1
+#endif
+
 /* Number of descriptors that can fit in an `fd_set'.  */
 #define	__FD_SETSIZE		1024
 
diff --git a/sysdeps/unix/sysv/linux/sparc/bits/typesizes.h b/sysdeps/unix/sysv/linux/sparc/bits/typesizes.h
index b65a1a5..7b1f191 100644
--- a/sysdeps/unix/sysv/linux/sparc/bits/typesizes.h
+++ b/sysdeps/unix/sysv/linux/sparc/bits/typesizes.h
@@ -61,6 +61,13 @@
 #define __SYSCALL_SLONG_TYPE	__SLONGWORD_TYPE
 #define __SYSCALL_ULONG_TYPE	__ULONGWORD_TYPE
 
+#if defined __arch64__ || defined __sparcv9
+/* Tell the libc code that off_t and off64_t are actually the same type
+   for all ABI purposes, even if possibly expressed as different base types
+   for C type-checking purposes.  */
+# define __OFF_T_MATCHES_OFF64_T	1
+#endif
+
 /* Number of descriptors that can fit in an `fd_set'.  */
 #define	__FD_SETSIZE		1024
 
diff --git a/sysdeps/unix/sysv/linux/x86/bits/typesizes.h b/sysdeps/unix/sysv/linux/x86/bits/typesizes.h
index be8985b..a477627 100644
--- a/sysdeps/unix/sysv/linux/x86/bits/typesizes.h
+++ b/sysdeps/unix/sysv/linux/x86/bits/typesizes.h
@@ -73,6 +73,13 @@
 #define __FSID_T_TYPE		struct { int __val[2]; }
 #define __SSIZE_T_TYPE		__SWORD_TYPE
 
+#ifdef __x86_64__
+/* Tell the libc code that off_t and off64_t are actually the same type
+   for all ABI purposes, even if possibly expressed as different base types
+   for C type-checking purposes.  */
+# define __OFF_T_MATCHES_OFF64_T	1
+#endif
+
 /* Number of descriptors that can fit in an `fd_set'.  */
 #define __FD_SETSIZE		1024
 
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/fseeko.c b/sysdeps/unix/sysv/linux/x86_64/x32/fseeko.c
deleted file mode 100644
index dc47698..0000000
--- a/sysdeps/unix/sysv/linux/x86_64/x32/fseeko.c
+++ /dev/null
@@ -1 +0,0 @@
-#include <sysdeps/wordsize-64/fseeko.c>
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/fseeko64.c b/sysdeps/unix/sysv/linux/x86_64/x32/fseeko64.c
deleted file mode 100644
index 3e554ec..0000000
--- a/sysdeps/unix/sysv/linux/x86_64/x32/fseeko64.c
+++ /dev/null
@@ -1 +0,0 @@
-#include <sysdeps/wordsize-64/fseeko64.c>
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/ftello.c b/sysdeps/unix/sysv/linux/x86_64/x32/ftello.c
deleted file mode 100644
index 735e3e1..0000000
--- a/sysdeps/unix/sysv/linux/x86_64/x32/ftello.c
+++ /dev/null
@@ -1 +0,0 @@
-#include <sysdeps/wordsize-64/ftello.c>
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/ftello64.c b/sysdeps/unix/sysv/linux/x86_64/x32/ftello64.c
deleted file mode 100644
index eb155ed..0000000
--- a/sysdeps/unix/sysv/linux/x86_64/x32/ftello64.c
+++ /dev/null
@@ -1 +0,0 @@
-#include <sysdeps/wordsize-64/ftello64.c>
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/iofgetpos.c b/sysdeps/unix/sysv/linux/x86_64/x32/iofgetpos.c
deleted file mode 100644
index de2ff01..0000000
--- a/sysdeps/unix/sysv/linux/x86_64/x32/iofgetpos.c
+++ /dev/null
@@ -1 +0,0 @@
-#include <sysdeps/wordsize-64/iofgetpos.c>
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/iofgetpos64.c b/sysdeps/unix/sysv/linux/x86_64/x32/iofgetpos64.c
deleted file mode 100644
index 34aabfc..0000000
--- a/sysdeps/unix/sysv/linux/x86_64/x32/iofgetpos64.c
+++ /dev/null
@@ -1 +0,0 @@
-#include <sysdeps/wordsize-64/iofgetpos64.c>
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/iofsetpos.c b/sysdeps/unix/sysv/linux/x86_64/x32/iofsetpos.c
deleted file mode 100644
index a4c99c9..0000000
--- a/sysdeps/unix/sysv/linux/x86_64/x32/iofsetpos.c
+++ /dev/null
@@ -1 +0,0 @@
-#include <sysdeps/wordsize-64/iofsetpos.c>
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/iofsetpos64.c b/sysdeps/unix/sysv/linux/x86_64/x32/iofsetpos64.c
deleted file mode 100644
index e83fbba..0000000
--- a/sysdeps/unix/sysv/linux/x86_64/x32/iofsetpos64.c
+++ /dev/null
@@ -1 +0,0 @@
-#include <sysdeps/wordsize-64/iofsetpos64.c>
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/lockf.c b/sysdeps/unix/sysv/linux/x86_64/x32/lockf.c
deleted file mode 100644
index 42306a0..0000000
--- a/sysdeps/unix/sysv/linux/x86_64/x32/lockf.c
+++ /dev/null
@@ -1 +0,0 @@
-#include <sysdeps/wordsize-64/lockf.c>
diff --git a/sysdeps/unix/sysv/linux/x86_64/x32/lockf64.c b/sysdeps/unix/sysv/linux/x86_64/x32/lockf64.c
deleted file mode 100644
index 3b4b55a..0000000
--- a/sysdeps/unix/sysv/linux/x86_64/x32/lockf64.c
+++ /dev/null
@@ -1 +0,0 @@
-#include <sysdeps/wordsize-64/lockf64.c>
diff --git a/sysdeps/wordsize-64/fseeko.c b/sysdeps/wordsize-64/fseeko.c
deleted file mode 100644
index 692885a..0000000
--- a/sysdeps/wordsize-64/fseeko.c
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "../../libio/fseeko.c"
-
-weak_alias (fseeko, fseeko64)
diff --git a/sysdeps/wordsize-64/fseeko64.c b/sysdeps/wordsize-64/fseeko64.c
deleted file mode 100644
index 73e011a..0000000
--- a/sysdeps/wordsize-64/fseeko64.c
+++ /dev/null
@@ -1 +0,0 @@
-/* Defined in fseeko.c.  */
diff --git a/sysdeps/wordsize-64/ftello.c b/sysdeps/wordsize-64/ftello.c
deleted file mode 100644
index fa05cfc..0000000
--- a/sysdeps/wordsize-64/ftello.c
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "../../libio/ftello.c"
-
-weak_alias (ftello, ftello64)
diff --git a/sysdeps/wordsize-64/ftello64.c b/sysdeps/wordsize-64/ftello64.c
deleted file mode 100644
index 2cbbe63..0000000
--- a/sysdeps/wordsize-64/ftello64.c
+++ /dev/null
@@ -1 +0,0 @@
-/* Defined in ftello.c.  */
diff --git a/sysdeps/wordsize-64/iofgetpos.c b/sysdeps/wordsize-64/iofgetpos.c
deleted file mode 100644
index ba8df67..0000000
--- a/sysdeps/wordsize-64/iofgetpos.c
+++ /dev/null
@@ -1,12 +0,0 @@
-#define _IO_new_fgetpos64 __renamed__IO_new_fgetpos64
-#define _IO_fgetpos64 __renamed__IO_fgetpos64
-
-#include "../../libio/iofgetpos.c"
-
-#undef _IO_new_fgetpos64
-#undef _IO_fgetpos64
-
-strong_alias (_IO_new_fgetpos, _IO_new_fgetpos64)
-strong_alias (_IO_new_fgetpos64, __new_fgetpos64)
-versioned_symbol (libc, _IO_new_fgetpos64, _IO_fgetpos64, GLIBC_2_2);
-versioned_symbol (libc, __new_fgetpos64, fgetpos64, GLIBC_2_2);
diff --git a/sysdeps/wordsize-64/iofgetpos64.c b/sysdeps/wordsize-64/iofgetpos64.c
deleted file mode 100644
index 1748b81..0000000
--- a/sysdeps/wordsize-64/iofgetpos64.c
+++ /dev/null
@@ -1 +0,0 @@
-/* Defined in iofgetpos.c.  */
diff --git a/sysdeps/wordsize-64/iofsetpos.c b/sysdeps/wordsize-64/iofsetpos.c
deleted file mode 100644
index f2bb8ae..0000000
--- a/sysdeps/wordsize-64/iofsetpos.c
+++ /dev/null
@@ -1,12 +0,0 @@
-#define _IO_new_fsetpos64 __renamed__IO_new_fsetpos64
-#define _IO_fsetpos64 __renamed__IO_fsetpos64
-
-#include "../../libio/iofsetpos.c"
-
-#undef _IO_new_fsetpos64
-#undef _IO_fsetpos64
-
-strong_alias (_IO_new_fsetpos, _IO_new_fsetpos64)
-strong_alias (_IO_new_fsetpos64, __new_fsetpos64)
-versioned_symbol (libc, __new_fsetpos64, fsetpos64, GLIBC_2_2);
-versioned_symbol (libc, _IO_new_fsetpos64, _IO_fsetpos64, GLIBC_2_2);
diff --git a/sysdeps/wordsize-64/iofsetpos64.c b/sysdeps/wordsize-64/iofsetpos64.c
deleted file mode 100644
index 5fbc732..0000000
--- a/sysdeps/wordsize-64/iofsetpos64.c
+++ /dev/null
@@ -1 +0,0 @@
-/* Defined in iofsetpos.c.  */
diff --git a/sysdeps/wordsize-64/lockf.c b/sysdeps/wordsize-64/lockf.c
deleted file mode 100644
index 502472d..0000000
--- a/sysdeps/wordsize-64/lockf.c
+++ /dev/null
@@ -1,3 +0,0 @@
-#include "../../io/lockf.c"
-
-weak_alias (lockf, lockf64)
diff --git a/sysdeps/wordsize-64/lockf64.c b/sysdeps/wordsize-64/lockf64.c
deleted file mode 100644
index 8ef5fc6..0000000
--- a/sysdeps/wordsize-64/lockf64.c
+++ /dev/null
@@ -1 +0,0 @@
-/* Defined in lockf.c.  */

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog                                          |   93 ++++++++++++++++++++
 bits/dirent.h                                      |    5 +-
 bits/typesizes.h                                   |   10 ++
 dirent/alphasort.c                                 |   14 +++-
 dirent/alphasort64.c                               |    7 ++-
 dirent/scandir.c                                   |   15 +++-
 dirent/scandir64.c                                 |    7 ++-
 dirent/scandirat.c                                 |   15 +++-
 dirent/scandirat64.c                               |    7 ++-
 dirent/versionsort.c                               |   14 +++-
 dirent/versionsort64.c                             |    7 ++-
 io/lockf.c                                         |   16 +++-
 io/lockf64.c                                       |    7 ++-
 libio/fseeko.c                                     |    6 +-
 libio/fseeko64.c                                   |    7 ++-
 libio/ftello.c                                     |    7 +-
 libio/ftello64.c                                   |    6 +-
 libio/iofgetpos.c                                  |   20 ++++-
 libio/iofgetpos64.c                                |    6 +-
 libio/iofsetpos.c                                  |   20 ++++-
 libio/iofsetpos64.c                                |    7 +-
 ports/ChangeLog.alpha                              |   10 ++
 ports/ChangeLog.linux-generic                      |    5 +
 ports/sysdeps/unix/sysv/linux/alpha/bits/dirent.h  |    5 +-
 .../sysdeps/unix/sysv/linux/alpha/bits/typesizes.h |    6 +-
 .../unix/sysv/linux/generic/bits/typesizes.h       |   10 ++
 sysdeps/unix/bsd/bsd4.4/freebsd/bits/typesizes.h   |    5 +
 sysdeps/unix/sysv/linux/bits/dirent.h              |    7 ++-
 sysdeps/unix/sysv/linux/s390/bits/typesizes.h      |   10 ++
 sysdeps/unix/sysv/linux/sparc/bits/typesizes.h     |   10 ++
 sysdeps/unix/sysv/linux/x86/bits/typesizes.h       |   10 ++
 sysdeps/unix/sysv/linux/x86_64/x32/alphasort.c     |    1 -
 sysdeps/unix/sysv/linux/x86_64/x32/alphasort64.c   |    1 -
 sysdeps/unix/sysv/linux/x86_64/x32/fseeko.c        |    1 -
 sysdeps/unix/sysv/linux/x86_64/x32/fseeko64.c      |    1 -
 sysdeps/unix/sysv/linux/x86_64/x32/ftello.c        |    1 -
 sysdeps/unix/sysv/linux/x86_64/x32/ftello64.c      |    1 -
 sysdeps/unix/sysv/linux/x86_64/x32/iofgetpos.c     |    1 -
 sysdeps/unix/sysv/linux/x86_64/x32/iofgetpos64.c   |    1 -
 sysdeps/unix/sysv/linux/x86_64/x32/iofsetpos.c     |    1 -
 sysdeps/unix/sysv/linux/x86_64/x32/iofsetpos64.c   |    1 -
 sysdeps/unix/sysv/linux/x86_64/x32/lockf.c         |    1 -
 sysdeps/unix/sysv/linux/x86_64/x32/lockf64.c       |    1 -
 sysdeps/unix/sysv/linux/x86_64/x32/scandir.c       |    1 -
 sysdeps/unix/sysv/linux/x86_64/x32/scandir64.c     |    1 -
 sysdeps/unix/sysv/linux/x86_64/x32/scandirat.c     |    1 -
 sysdeps/unix/sysv/linux/x86_64/x32/scandirat64.c   |    1 -
 sysdeps/unix/sysv/linux/x86_64/x32/versionsort.c   |    1 -
 sysdeps/unix/sysv/linux/x86_64/x32/versionsort64.c |    1 -
 sysdeps/wordsize-64/alphasort.c                    |    7 --
 sysdeps/wordsize-64/alphasort64.c                  |    1 -
 sysdeps/wordsize-64/fseeko.c                       |    3 -
 sysdeps/wordsize-64/fseeko64.c                     |    1 -
 sysdeps/wordsize-64/ftello.c                       |    3 -
 sysdeps/wordsize-64/ftello64.c                     |    1 -
 sysdeps/wordsize-64/iofgetpos.c                    |   12 ---
 sysdeps/wordsize-64/iofgetpos64.c                  |    1 -
 sysdeps/wordsize-64/iofsetpos.c                    |   12 ---
 sysdeps/wordsize-64/iofsetpos64.c                  |    1 -
 sysdeps/wordsize-64/lockf.c                        |    3 -
 sysdeps/wordsize-64/lockf64.c                      |    1 -
 sysdeps/wordsize-64/scandir.c                      |    6 --
 sysdeps/wordsize-64/scandir64.c                    |    1 -
 sysdeps/wordsize-64/scandirat.c                    |    6 --
 sysdeps/wordsize-64/scandirat64.c                  |    1 -
 sysdeps/wordsize-64/versionsort.c                  |    7 --
 sysdeps/wordsize-64/versionsort64.c                |    1 -
 67 files changed, 343 insertions(+), 117 deletions(-)
 delete mode 100644 sysdeps/unix/sysv/linux/x86_64/x32/alphasort.c
 delete mode 100644 sysdeps/unix/sysv/linux/x86_64/x32/alphasort64.c
 delete mode 100644 sysdeps/unix/sysv/linux/x86_64/x32/fseeko.c
 delete mode 100644 sysdeps/unix/sysv/linux/x86_64/x32/fseeko64.c
 delete mode 100644 sysdeps/unix/sysv/linux/x86_64/x32/ftello.c
 delete mode 100644 sysdeps/unix/sysv/linux/x86_64/x32/ftello64.c
 delete mode 100644 sysdeps/unix/sysv/linux/x86_64/x32/iofgetpos.c
 delete mode 100644 sysdeps/unix/sysv/linux/x86_64/x32/iofgetpos64.c
 delete mode 100644 sysdeps/unix/sysv/linux/x86_64/x32/iofsetpos.c
 delete mode 100644 sysdeps/unix/sysv/linux/x86_64/x32/iofsetpos64.c
 delete mode 100644 sysdeps/unix/sysv/linux/x86_64/x32/lockf.c
 delete mode 100644 sysdeps/unix/sysv/linux/x86_64/x32/lockf64.c
 delete mode 100644 sysdeps/unix/sysv/linux/x86_64/x32/scandir.c
 delete mode 100644 sysdeps/unix/sysv/linux/x86_64/x32/scandir64.c
 delete mode 100644 sysdeps/unix/sysv/linux/x86_64/x32/scandirat.c
 delete mode 100644 sysdeps/unix/sysv/linux/x86_64/x32/scandirat64.c
 delete mode 100644 sysdeps/unix/sysv/linux/x86_64/x32/versionsort.c
 delete mode 100644 sysdeps/unix/sysv/linux/x86_64/x32/versionsort64.c
 delete mode 100644 sysdeps/wordsize-64/alphasort.c
 delete mode 100644 sysdeps/wordsize-64/alphasort64.c
 delete mode 100644 sysdeps/wordsize-64/fseeko.c
 delete mode 100644 sysdeps/wordsize-64/fseeko64.c
 delete mode 100644 sysdeps/wordsize-64/ftello.c
 delete mode 100644 sysdeps/wordsize-64/ftello64.c
 delete mode 100644 sysdeps/wordsize-64/iofgetpos.c
 delete mode 100644 sysdeps/wordsize-64/iofgetpos64.c
 delete mode 100644 sysdeps/wordsize-64/iofsetpos.c
 delete mode 100644 sysdeps/wordsize-64/iofsetpos64.c
 delete mode 100644 sysdeps/wordsize-64/lockf.c
 delete mode 100644 sysdeps/wordsize-64/lockf64.c
 delete mode 100644 sysdeps/wordsize-64/scandir.c
 delete mode 100644 sysdeps/wordsize-64/scandir64.c
 delete mode 100644 sysdeps/wordsize-64/scandirat.c
 delete mode 100644 sysdeps/wordsize-64/scandirat64.c
 delete mode 100644 sysdeps/wordsize-64/versionsort.c
 delete mode 100644 sysdeps/wordsize-64/versionsort64.c


hooks/post-receive
-- 
GNU C Library master sources


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]