diff options
Diffstat (limited to 'libio/iofgetpos.c')
-rw-r--r-- | libio/iofgetpos.c | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/libio/iofgetpos.c b/libio/iofgetpos.c index 4338b5097a..a1d6bb693a 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 |