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, roland/off64_t, created. glibc-2.16-ports-merge-114-gb75ceb1


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, roland/off64_t has been created
        at  b75ceb14f377e8914e496be80ee4cb3ee23f5ae5 (commit)

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

commit b75ceb14f377e8914e496be80ee4cb3ee23f5ae5
Author: Roland McGrath <roland@hack.frob.com>
Date:   Thu Aug 2 09:28:18 2012 -0700

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

diff --git a/ChangeLog b/ChangeLog
index 386eeb5..2b9f4db 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,35 @@
+2012-08-02  Roland McGrath  <roland@hack.frob.com>
+
+	* 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.
+	* libio/fseeko64.c [!__OFF_T_MATCHES_OFF64_T]:
+	Conditionalize body on this.
+	* libio/ftello64.c: Likewise.
+	* libio/iofgetpos64.c: Likewise.
+	* libio/iofsetpos64.c: Likewise.
+	* 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/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-01  Roland McGrath  <roland@hack.frob.com>
 
 	* libio/iofopen.c: Include <fcntl.h>.
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 3094fcd..7abf947 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-07-26  Joseph Myers  <joseph@codesourcery.com>
 
 	* sysdeps/alpha/tst-audit.h (int_retval): Define.
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/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/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.  */

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


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]