aboutsummaryrefslogtreecommitdiff
path: root/libio/iofsetpos.c
diff options
context:
space:
mode:
authorRoland McGrath <roland@hack.frob.com>2012-08-06 16:48:14 -0700
committerRoland McGrath <roland@hack.frob.com>2012-08-06 16:48:14 -0700
commit03af952060fee063679864d82cdd76f94d56d263 (patch)
treec5d020757b7fdb3e5d266bbc802e0f7f3798153c /libio/iofsetpos.c
parentc5757acd6e9aafcf042b6cd6d7f9e70d957e1e3a (diff)
downloadglibc-03af952060fee063679864d82cdd76f94d56d263.zip
glibc-03af952060fee063679864d82cdd76f94d56d263.tar.gz
glibc-03af952060fee063679864d82cdd76f94d56d263.tar.bz2
Clean up lockf64, fseeko64, ftello64, fgetpos64, fsetpos64 for off64_t == off_t.
Diffstat (limited to 'libio/iofsetpos.c')
-rw-r--r--libio/iofsetpos.c20
1 files changed, 18 insertions, 2 deletions
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