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_HAVE_SYS_WAIT and _IO_HAVE_SYS_WAIT


The macro _G_HAVE_SYS_WAIT is defined in all versions of _G_config.h.
It is used only in libio to define _IO_HAVE_SYS_WAIT, which is used to
condition parts of the popen implementation.  As the libio code is now
only used in glibc, these macros and conditionals can be removed,
which this patch does.

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

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

	* libio/iopopen.c [_IO_HAVE_SYS_WAIT]: Make code unconditional.
	[!_IO_HAVE_SYS_WAIT]: Remove conditional code.
	* libio/libio.h (_IO_HAVE_SYS_WAIT): Remove.
	* libio/oldiopopen.c [_IO_HAVE_SYS_WAIT]: Make code unconditional.
	[!_IO_HAVE_SYS_WAIT]: Remove conditional code.
	* sysdeps/generic/_G_config.h (_G_HAVE_SYS_WAIT): Remove.
	* sysdeps/gnu/_G_config.h (_G_HAVE_SYS_WAIT): Likewise.
	* sysdeps/mach/hurd/_G_config.h (_G_HAVE_SYS_WAIT): Likewise.

diff --git a/libio/iopopen.c b/libio/iopopen.c
index 4f67e8c..7163958 100644
--- a/libio/iopopen.c
+++ b/libio/iopopen.c
@@ -29,7 +29,6 @@
 # define _POSIX_SOURCE
 #endif
 #include "libioP.h"
-#if _IO_HAVE_SYS_WAIT
 #include <signal.h>
 #include <unistd.h>
 #include <stdlib.h>
@@ -51,8 +50,6 @@
 extern _IO_pid_t _IO_fork (void) __THROW;
 #endif
 
-#endif /* _IO_HAVE_SYS_WAIT */
-
 #ifndef _IO_dup2
 #ifdef _LIBC
 #define _IO_dup2 __dup2
@@ -114,7 +111,6 @@ _IO_new_proc_open (fp, command, mode)
      const char *command;
      const char *mode;
 {
-#if _IO_HAVE_SYS_WAIT
   int read_or_write;
   int parent_end, child_end;
   int pipe_fds[2];
@@ -273,9 +269,6 @@ _IO_new_proc_open (fp, command, mode)
 
   _IO_mask_flags (fp, read_or_write, _IO_NO_READS|_IO_NO_WRITES);
   return fp;
-#else /* !_IO_HAVE_SYS_WAIT */
-  return NULL;
-#endif
 }
 
 _IO_FILE *
@@ -317,7 +310,6 @@ _IO_new_proc_close (fp)
      _IO_FILE *fp;
 {
   /* This is not name-space clean. FIXME! */
-#if _IO_HAVE_SYS_WAIT
   int wstatus;
   _IO_proc_file **ptr = &proc_file_chain;
   _IO_pid_t wait_pid;
@@ -356,9 +348,6 @@ _IO_new_proc_close (fp)
   if (wait_pid == -1)
     return -1;
   return wstatus;
-#else /* !_IO_HAVE_SYS_WAIT */
-  return -1;
-#endif
 }
 
 static const struct _IO_jump_t _IO_proc_jumps = {
diff --git a/libio/libio.h b/libio/libio.h
index 5fe1bac..b737cec 100644
--- a/libio/libio.h
+++ b/libio/libio.h
@@ -41,7 +41,6 @@
 #define _IO_pid_t _G_pid_t
 #define _IO_uid_t _G_uid_t
 #define _IO_iconv_t _G_iconv_t
-#define _IO_HAVE_SYS_WAIT _G_HAVE_SYS_WAIT
 #define _IO_HAVE_ST_BLKSIZE _G_HAVE_ST_BLKSIZE
 #define _IO_BUFSIZ _G_BUFSIZ
 #define _IO_va_list _G_va_list
diff --git a/libio/oldiopopen.c b/libio/oldiopopen.c
index e14961a..4965a73 100644
--- a/libio/oldiopopen.c
+++ b/libio/oldiopopen.c
@@ -30,7 +30,6 @@
 # define _POSIX_SOURCE
 #endif
 #include "libioP.h"
-#if _IO_HAVE_SYS_WAIT
 #include <signal.h>
 #include <unistd.h>
 #include <stdlib.h>
@@ -49,8 +48,6 @@
 extern _IO_pid_t _IO_fork (void) __THROW;
 #endif
 
-#endif /* _IO_HAVE_SYS_WAIT */
-
 #include <shlib-compat.h>
 #if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1)
 
@@ -123,7 +120,6 @@ _IO_old_proc_open (fp, command, mode)
      const char *command;
      const char *mode;
 {
-#if _IO_HAVE_SYS_WAIT
   volatile int read_or_write;
   volatile int parent_end, child_end;
   int pipe_fds[2];
@@ -194,9 +190,6 @@ _IO_old_proc_open (fp, command, mode)
 
   _IO_mask_flags (fp, read_or_write, _IO_NO_READS|_IO_NO_WRITES);
   return fp;
-#else /* !_IO_HAVE_SYS_WAIT */
-  return NULL;
-#endif
 }
 
 _IO_FILE *
@@ -240,7 +233,6 @@ _IO_old_proc_close (fp)
      _IO_FILE *fp;
 {
   /* This is not name-space clean. FIXME! */
-#if _IO_HAVE_SYS_WAIT
   int wstatus;
   _IO_proc_file **ptr = &old_proc_file_chain;
   _IO_pid_t wait_pid;
@@ -279,9 +271,6 @@ _IO_old_proc_close (fp)
   if (wait_pid == -1)
     return -1;
   return wstatus;
-#else /* !_IO_HAVE_SYS_WAIT */
-  return -1;
-#endif
 }
 
 const struct _IO_jump_t _IO_old_proc_jumps = {
diff --git a/sysdeps/generic/_G_config.h b/sysdeps/generic/_G_config.h
index 139f746..4c6552f 100644
--- a/sysdeps/generic/_G_config.h
+++ b/sysdeps/generic/_G_config.h
@@ -52,7 +52,6 @@ typedef union
 
 
 /* These library features are always available in the GNU C library.  */
-#define _G_HAVE_SYS_WAIT 1
 #define _G_va_list __gnuc_va_list
 
 #define _G_HAVE_MMAP 1
diff --git a/sysdeps/gnu/_G_config.h b/sysdeps/gnu/_G_config.h
index 313f35a..54f5e55 100644
--- a/sysdeps/gnu/_G_config.h
+++ b/sysdeps/gnu/_G_config.h
@@ -52,7 +52,6 @@ typedef union
 
 
 /* These library features are always available in the GNU C library.  */
-#define _G_HAVE_SYS_WAIT 1
 #define _G_va_list __gnuc_va_list
 
 #define _G_HAVE_MMAP 1
diff --git a/sysdeps/mach/hurd/_G_config.h b/sysdeps/mach/hurd/_G_config.h
index 7d6baef..c7bd8b1 100644
--- a/sysdeps/mach/hurd/_G_config.h
+++ b/sysdeps/mach/hurd/_G_config.h
@@ -52,7 +52,6 @@ typedef union
 
 
 /* These library features are always available in the GNU C library.  */
-#define _G_HAVE_SYS_WAIT 1
 #define _G_va_list __gnuc_va_list
 
 #define _G_HAVE_MMAP 1

-- 
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]