about summary refs log tree commit diff
path: root/libio/iopopen.c
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>1998-11-23 09:36:06 +0000
committerUlrich Drepper <drepper@redhat.com>1998-11-23 09:36:06 +0000
commit7d6a833849d8e084bbdc534698e214bca056453f (patch)
tree5e3f4055efe1797b093a2c927730ec7a0908567a /libio/iopopen.c
parent9dc09d3060c01726779b4a19a934e6bb0cde5f67 (diff)
downloadglibc-7d6a833849d8e084bbdc534698e214bca056453f.tar.gz
glibc-7d6a833849d8e084bbdc534698e214bca056453f.tar.xz
glibc-7d6a833849d8e084bbdc534698e214bca056453f.zip
1998-11-23  Ulrich Drepper  <drepper@cygnus.com>

	* Makeconfig: Don't read sysd-sorted unless sysd-dirs is read.
	Patch by Zack Weinberg.

	* math/bits/mathcalls.h: Adjust comments.  Remove gamma_r prototype.

	* sysdeps/i386/fpu/bits/mathinline.h: Make log2 only available if
	__USE_ISOC9X is defined.  Provide rint optimization.

1998-11-21  H.J. Lu  <hjl@gnu.org>

	* libio/Versions (_IO_popen, _IO_proc_open, _IO_proc_close,
	popen, pclose): Add to GLIBC_2.1.

	* libio/Makefile (routines): Add oldiopopen and oldpclose.
	(shared-only-routines): Likewise.

	* libio/pclose.c (pclose): Make it default for GLIBC_2.1.
	* libio/iopopen.c (_IO_proc_open, _IO_popen, popen,
	_IO_proc_close): Likewise.

	* libio/iolibio.h (_IO_new_popen, _IO_old_popen, __new_pclose,
	__old_pclose): New prototypes.

	* libio/libioP.h (_IO_new_file_jumps): Removed.
	(_IO_old_proc_jumps): Added.
	(_IO_new_proc_open, _IO_old_proc_open): New prototypes.

	* libio/oldiopopen.c: New file.

	* libio/oldpclose.c: New file.

1998-11-22  Thorsten Kukuk  <kukuk@vt.uni-paderborn.de>

	* nss/Makefile: Build and install getent.
	* nss/getent.c: New, get entries from administrative database.
Diffstat (limited to 'libio/iopopen.c')
-rw-r--r--libio/iopopen.c49
1 files changed, 31 insertions, 18 deletions
diff --git a/libio/iopopen.c b/libio/iopopen.c
index 62a6de20f5..31f9e02cd8 100644
--- a/libio/iopopen.c
+++ b/libio/iopopen.c
@@ -104,7 +104,7 @@ typedef struct _IO_proc_file _IO_proc_file;
 static struct _IO_proc_file *proc_file_chain = NULL;
 
 _IO_FILE *
-_IO_proc_open (fp, command, mode)
+_IO_new_proc_open (fp, command, mode)
      _IO_FILE *fp;
      const char *command;
      const char *mode;
@@ -177,7 +177,7 @@ _IO_proc_open (fp, command, mode)
 }
 
 _IO_FILE *
-_IO_popen (command, mode)
+_IO_new_popen (command, mode)
      const char *command;
      const char *mode;
 {
@@ -199,23 +199,19 @@ _IO_popen (command, mode)
   fp = &new_f->fpx.file.file;
   _IO_init (fp, 0);
   _IO_JUMPS (fp) = &_IO_proc_jumps;
-  _IO_file_init (fp);
+  _IO_new_file_init (fp);
 #if  !_IO_UNIFIED_JUMPTABLES
   new_f->fpx.file.vtable = NULL;
 #endif
-  if (_IO_proc_open (fp, command, mode) != NULL)
+  if (_IO_new_proc_open (fp, command, mode) != NULL)
     return fp;
   _IO_un_link (fp);
   free (new_f);
   return NULL;
 }
 
-#ifdef strong_alias
-strong_alias (_IO_popen, popen);
-#endif
-
 int
-_IO_proc_close (fp)
+_IO_new_proc_close (fp)
      _IO_FILE *fp;
 {
   /* This is not name-space clean. FIXME! */
@@ -257,23 +253,40 @@ _IO_proc_close (fp)
 
 struct _IO_jump_t _IO_proc_jumps = {
   JUMP_INIT_DUMMY,
-  JUMP_INIT(finish, _IO_file_finish),
-  JUMP_INIT(overflow, _IO_file_overflow),
-  JUMP_INIT(underflow, _IO_file_underflow),
+  JUMP_INIT(finish, _IO_new_file_finish),
+  JUMP_INIT(overflow, _IO_new_file_overflow),
+  JUMP_INIT(underflow, _IO_new_file_underflow),
   JUMP_INIT(uflow, _IO_default_uflow),
   JUMP_INIT(pbackfail, _IO_default_pbackfail),
-  JUMP_INIT(xsputn, _IO_file_xsputn),
+  JUMP_INIT(xsputn, _IO_new_file_xsputn),
   JUMP_INIT(xsgetn, _IO_default_xsgetn),
-  JUMP_INIT(seekoff, _IO_file_seekoff),
+  JUMP_INIT(seekoff, _IO_new_file_seekoff),
   JUMP_INIT(seekpos, _IO_default_seekpos),
-  JUMP_INIT(setbuf, _IO_file_setbuf),
-  JUMP_INIT(sync, _IO_file_sync),
+  JUMP_INIT(setbuf, _IO_new_file_setbuf),
+  JUMP_INIT(sync, _IO_new_file_sync),
   JUMP_INIT(doallocate, _IO_file_doallocate),
   JUMP_INIT(read, _IO_file_read),
-  JUMP_INIT(write, _IO_file_write),
+  JUMP_INIT(write, _IO_new_file_write),
   JUMP_INIT(seek, _IO_file_seek),
-  JUMP_INIT(close, _IO_proc_close),
+  JUMP_INIT(close, _IO_new_proc_close),
   JUMP_INIT(stat, _IO_file_stat),
   JUMP_INIT(showmanyc, _IO_default_showmanyc),
   JUMP_INIT(imbue, _IO_default_imbue)
 };
+
+#if defined PIC && DO_VERSIONING
+strong_alias (_IO_new_popen, __new_popen)
+default_symbol_version (_IO_new_popen, _IO_popen, GLIBC_2.1);
+default_symbol_version (__new_popen, popen, GLIBC_2.1);
+default_symbol_version (_IO_new_proc_open, _IO_proc_open, GLIBC_2.1);
+default_symbol_version (_IO_new_proc_close, _IO_proc_close, GLIBC_2.1);
+#else
+# ifdef strong_alias
+strong_alias (_IO_new_popen, popen)
+# endif
+# ifdef weak_alias
+weak_alias (_IO_new_popen, _IO_popen)
+weak_alias (_IO_new_proc_open, _IO_proc_open)
+weak_alias (_IO_new_proc_close, _IO_proc_close)
+# endif
+#endif