This is the mail archive of the libc-alpha@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]

Remove _G_off64_t and _G_stat64 from _G_config.h


Both versions of _G_config.h define _G_off64_t to __off64_t, and
_G_stat64 (a struct tag) to stat64.  Both those underlying types are
actually used generically within glibc, and there is no need for this
level of indirection, which this patch removes.

Tested x86_64 that the code generated for glibc's shared libraries is
identical before and after the patch.

2012-10-09  Joseph Myers  <joseph@codesourcery.com>

	* sysdeps/generic/_G_config.h (_G_off64_t): Remove.
	(_G_stat64): Likewise.
	* sysdeps/unix/sysv/linux/_G_config.h (_G_off64_t): Remove.
	(_G_stat64): Likewise.
	* libio/filedoalloc.c (_IO_file_doallocate): Use struct stat64
	instead of struct _G_stat64.
	* libio/fileops.c (mmap_remap_check): Likewise.
	(decide_maybe_mmap): Likewise.
	(_IO_new_file_seekoff): Likewise.
	(_IO_file_stat): Likewise.
	* libio/libio.h (_IO_off64_t): Define to __off64_t, not
	_G_off64_t.
	* libio/oldfileops.c (_IO_old_file_seekoff): Use struct stat64
	instead of struct _G_stat64.
	* libio/wfileops.c (_IO_wfile_seekoff): Likewise.

diff --git a/libio/filedoalloc.c b/libio/filedoalloc.c
index b7733c7..c9b0f01 100644
--- a/libio/filedoalloc.c
+++ b/libio/filedoalloc.c
@@ -96,7 +96,7 @@ _IO_file_doallocate (fp)
 {
   _IO_size_t size;
   char *p;
-  struct _G_stat64 st;
+  struct stat64 st;
 
 #ifndef _LIBC
   /* If _IO_cleanup_registration_needed is non-zero, we should call the
diff --git a/libio/fileops.c b/libio/fileops.c
index 173091c..5367ea9 100644
--- a/libio/fileops.c
+++ b/libio/fileops.c
@@ -635,7 +635,7 @@ libc_hidden_ver (_IO_new_file_underflow, _IO_file_underflow)
 static int
 mmap_remap_check (_IO_FILE *fp)
 {
-  struct _G_stat64 st;
+  struct stat64 st;
 
   if (_IO_SYSSTAT (fp, &st) == 0
       && S_ISREG (st.st_mode) && st.st_size != 0
@@ -763,7 +763,7 @@ decide_maybe_mmap (_IO_FILE *fp)
      file descriptors are for mmap-able objects and on 32-bit
      machines we don't want to map files which are too large since
      this would require too much virtual memory.  */
-  struct _G_stat64 st;
+  struct stat64 st;
 
   if (_IO_SYSSTAT (fp, &st) == 0
       && S_ISREG (st.st_mode) && st.st_size != 0
@@ -1049,7 +1049,7 @@ _IO_new_file_seekoff (fp, offset, dir, mode)
       break;
     case _IO_seek_end:
       {
-	struct _G_stat64 st;
+	struct stat64 st;
 	if (_IO_SYSSTAT (fp, &st) == 0 && S_ISREG (st.st_mode))
 	  {
 	    offset += st.st_size;
@@ -1250,7 +1250,7 @@ _IO_file_stat (fp, st)
      void *st;
 {
 #ifdef _G_FSTAT64
-  return _G_FSTAT64 (fp->_fileno, (struct _G_stat64 *) st);
+  return _G_FSTAT64 (fp->_fileno, (struct stat64 *) st);
 #else
   return fstat (fp->_fileno, (struct stat *) st);
 #endif
diff --git a/libio/libio.h b/libio/libio.h
index f093a93..45f4707 100644
--- a/libio/libio.h
+++ b/libio/libio.h
@@ -37,7 +37,7 @@
 #define _IO_size_t size_t
 #define _IO_ssize_t __ssize_t
 #define _IO_off_t __off_t
-#define _IO_off64_t _G_off64_t
+#define _IO_off64_t __off64_t
 #define _IO_pid_t __pid_t
 #define _IO_uid_t __uid_t
 #define _IO_iconv_t _G_iconv_t
diff --git a/libio/oldfileops.c b/libio/oldfileops.c
index 8fda048..aa4e3f5 100644
--- a/libio/oldfileops.c
+++ b/libio/oldfileops.c
@@ -530,7 +530,7 @@ _IO_old_file_seekoff (fp, offset, dir, mode)
       break;
     case _IO_seek_end:
       {
-	struct _G_stat64 st;
+	struct stat64 st;
 	if (_IO_SYSSTAT (fp, &st) == 0 && S_ISREG (st.st_mode))
 	  {
 	    offset += st.st_size;
diff --git a/libio/wfileops.c b/libio/wfileops.c
index 1087e8d..44b1236 100644
--- a/libio/wfileops.c
+++ b/libio/wfileops.c
@@ -787,7 +787,7 @@ _IO_wfile_seekoff (fp, offset, dir, mode)
       break;
     case _IO_seek_end:
       {
-	struct _G_stat64 st;
+	struct stat64 st;
 	if (_IO_SYSSTAT (fp, &st) == 0 && S_ISREG (st.st_mode))
 	  {
 	    offset += st.st_size;
diff --git a/sysdeps/generic/_G_config.h b/sysdeps/generic/_G_config.h
index b3a7db7..e4f2767 100644
--- a/sysdeps/generic/_G_config.h
+++ b/sysdeps/generic/_G_config.h
@@ -28,8 +28,6 @@ typedef struct
   __off64_t __pos;
   __mbstate_t __state;
 } _G_fpos64_t;
-#define _G_off64_t	__off64_t
-#define _G_stat64	stat64
 #if defined _LIBC || defined _GLIBCPP_USE_WCHAR_T
 # include <gconv.h>
 typedef union
diff --git a/sysdeps/unix/sysv/linux/_G_config.h b/sysdeps/unix/sysv/linux/_G_config.h
index 4d3ae36..ec2e333 100644
--- a/sysdeps/unix/sysv/linux/_G_config.h
+++ b/sysdeps/unix/sysv/linux/_G_config.h
@@ -28,8 +28,6 @@ typedef struct
   __off64_t __pos;
   __mbstate_t __state;
 } _G_fpos64_t;
-#define _G_off64_t	__off64_t
-#define _G_stat64	stat64
 #if defined _LIBC || defined _GLIBCPP_USE_WCHAR_T
 # include <gconv.h>
 typedef union

-- 
Joseph S. Myers
joseph@codesourcery.com


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]