summary refs log tree commit diff
diff options
context:
space:
mode:
authorRoland McGrath <roland@hack.frob.com>2012-08-01 16:30:47 -0700
committerRoland McGrath <roland@hack.frob.com>2012-08-01 16:30:47 -0700
commit2747bf9adfd7bee7a44bb75c0279a88a1c89df30 (patch)
treed0b40f25918894f52256a43ed7444be689243ff7
parent3fb791b889fc80556274a856e642ca6186c18926 (diff)
downloadglibc-2747bf9adfd7bee7a44bb75c0279a88a1c89df30.tar.gz
glibc-2747bf9adfd7bee7a44bb75c0279a88a1c89df30.tar.xz
glibc-2747bf9adfd7bee7a44bb75c0279a88a1c89df30.zip
Clean up fopen64 for O_LARGEFILE==0.
-rw-r--r--ChangeLog11
-rw-r--r--libio/iofopen.c6
-rw-r--r--libio/iofopen64.c6
-rw-r--r--sysdeps/wordsize-64/iofopen.c4
-rw-r--r--sysdeps/wordsize-64/iofopen64.c1
5 files changed, 23 insertions, 5 deletions
diff --git a/ChangeLog b/ChangeLog
index 7ddd56b10d..386eeb5d26 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,14 @@
+2012-08-01  Roland McGrath  <roland@hack.frob.com>
+
+	* libio/iofopen.c: Include <fcntl.h>.
+	[_LIBC] [!defined O_LARGEFILE || O_LARGEFILE == 0]
+	(_IO_fopen64, fopen64): Define as aliases.
+	* libio/iofopen64.c: Include <fcntl.h>.
+	[!defined _LIBC || (defined O_LARGEFILE && O_LARGEFILE != 0)]:
+	Conditionalize body on this.
+	* sysdeps/wordsize-64/iofopen.c: File removed.
+	* sysdeps/wordsize-64/iofopen64.c: File removed.
+
 2012-08-01  Marek Polacek  <polacek@redhat.com>
 
 	* libc/Makeconfig: Use elf in place of binfmt-subdir.
diff --git a/libio/iofopen.c b/libio/iofopen.c
index 8edd32ebd6..a7e69e4f5e 100644
--- a/libio/iofopen.c
+++ b/libio/iofopen.c
@@ -25,6 +25,7 @@
    in files containing the exception.  */
 
 #include "libioP.h"
+#include <fcntl.h>
 #include <stdlib.h>
 #include <stddef.h>
 #ifdef _LIBC
@@ -106,4 +107,9 @@ _IO_new_fopen (filename, mode)
 strong_alias (_IO_new_fopen, __new_fopen)
 versioned_symbol (libc, _IO_new_fopen, _IO_fopen, GLIBC_2_1);
 versioned_symbol (libc, __new_fopen, fopen, GLIBC_2_1);
+
+# if !defined O_LARGEFILE || O_LARGEFILE == 0
+weak_alias (_IO_new_fopen, _IO_fopen64)
+weak_alias (_IO_new_fopen, fopen64)
+# endif
 #endif
diff --git a/libio/iofopen64.c b/libio/iofopen64.c
index 1b1a4877d6..25c79c9b38 100644
--- a/libio/iofopen64.c
+++ b/libio/iofopen64.c
@@ -25,8 +25,12 @@
    in files containing the exception.  */
 
 #include "libioP.h"
+#include <fcntl.h>
 #include <stdlib.h>
 
+/* iofopen.c defines _IO_fopen64/fopen64 as aliases if O_LARGEFILE==0.  */
+#if !defined _LIBC || (defined O_LARGEFILE && O_LARGEFILE != 0)
+
 _IO_FILE *
 _IO_fopen64 (filename, mode)
      const char *filename;
@@ -43,3 +47,5 @@ _IO_fopen64 (filename, mode)
 #ifdef weak_alias
 weak_alias (_IO_fopen64, fopen64)
 #endif
+
+#endif
diff --git a/sysdeps/wordsize-64/iofopen.c b/sysdeps/wordsize-64/iofopen.c
deleted file mode 100644
index d8d92ca5ec..0000000000
--- a/sysdeps/wordsize-64/iofopen.c
+++ /dev/null
@@ -1,4 +0,0 @@
-#include "../../libio/iofopen.c"
-
-weak_alias (_IO_new_fopen, _IO_fopen64)
-weak_alias (_IO_new_fopen, fopen64)
diff --git a/sysdeps/wordsize-64/iofopen64.c b/sysdeps/wordsize-64/iofopen64.c
deleted file mode 100644
index 68315d857d..0000000000
--- a/sysdeps/wordsize-64/iofopen64.c
+++ /dev/null
@@ -1 +0,0 @@
-/* Defined in iofopen.c.  */