From 03af952060fee063679864d82cdd76f94d56d263 Mon Sep 17 00:00:00 2001 From: Roland McGrath Date: Mon, 6 Aug 2012 16:48:14 -0700 Subject: [PATCH] Clean up lockf64, fseeko64, ftello64, fgetpos64, fsetpos64 for off64_t == off_t. --- ChangeLog | 50 ++++++++++++++++++++++ bits/typesizes.h | 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 | 5 +++ ports/ChangeLog.linux-generic | 5 +++ .../sysdeps/unix/sysv/linux/alpha/bits/typesizes.h | 6 ++- .../unix/sysv/linux/generic/bits/typesizes.h | 7 +++ sysdeps/unix/bsd/bsd4.4/freebsd/bits/typesizes.h | 5 +++ sysdeps/unix/sysv/linux/s390/bits/typesizes.h | 7 +++ sysdeps/unix/sysv/linux/sparc/bits/typesizes.h | 7 +++ sysdeps/unix/sysv/linux/x86/bits/typesizes.h | 7 +++ 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/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 - 40 files changed, 190 insertions(+), 66 deletions(-) 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/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 diff --git a/ChangeLog b/ChangeLog index 81bc264..a631c00 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,53 @@ +2012-08-06 Roland McGrath + + * 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 * 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 . */ +/* 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 + +#undef lockf64 + #include #include -#include #include #include @@ -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 #include +/* 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 #include +#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 #include #include @@ -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 #include +#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 + +#undef _IO_new_fsetpos64 +#undef _IO_fsetpos64 + #include #include @@ -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 #include +#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 + + * sysdeps/unix/sysv/linux/alpha/bits/typesizes.h + (__OFF_T_MATCHES_OFF64_T): New macro. + 2012-08-03 Joseph Myers * 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 + + * sysdeps/unix/sysv/linux/generic/bits/typesizes.h + [__LP64__] (__OFF_T_MATCHES_OFF64_T): New macro. + 2012-05-30 Chris Metcalf * 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 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 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 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 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 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 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 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 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 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 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. */ -- 2.7.4