aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog22
-rw-r--r--libio/iovsscanf.c1
-rw-r--r--libio/vsnprintf.c1
-rw-r--r--misc/getpass.c11
-rw-r--r--stdio-common/asprintf.c4
-rw-r--r--stdio-common/dprintf.c4
-rw-r--r--stdio-common/printf.c4
-rw-r--r--stdio-common/scanf.c4
-rw-r--r--stdio-common/snprintf.c5
-rw-r--r--stdio-common/sprintf.c4
-rw-r--r--stdio-common/sscanf.c4
-rw-r--r--stdio-common/vfscanf.c10
-rw-r--r--stdio-common/vprintf.c4
-rw-r--r--sysdeps/i386/dl-machine.h2
14 files changed, 41 insertions, 39 deletions
diff --git a/ChangeLog b/ChangeLog
index 9f9e250141..bc2d878212 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,25 @@
+Wed Nov 29 12:30:50 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
+
+ * libio/vsnprintf.c (__vsnprintf): Define as alias.
+ * libio/iovsscanf.c (__vsscanf): Define as alias.
+ * asprintf.c: Remove libio adaptation code added by drepper.
+ * dprintf.c: Likewise.
+ * printf.c: Likewise.
+ * scanf.c: Likewise.
+ * snprintf.c: Likewise.
+ * sprintf.c: Likewise.
+ * sscanf.c: Likewise.
+ * vprintf.c: Likewise.
+ * stdio-common/vfscanf.c [USE_IN_LIBIO] (__vfscanf): New wrapper
+ function.
+ (vfscanf): Define unconditionally.
+
+ * sysdeps/i386/dl-machine.h (elf_machine_rel): If SYM is null, use
+ zero for value.
+
+ * misc/getpass.c: Write a newline after reading the unechoed
+ password.
+
Mon Nov 27 19:24:18 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu>
* posix/Makefile (routines): Add getsid.
diff --git a/libio/iovsscanf.c b/libio/iovsscanf.c
index 61eeed2f3e..dcd3e92902 100644
--- a/libio/iovsscanf.c
+++ b/libio/iovsscanf.c
@@ -35,4 +35,5 @@ DEFUN(_IO_vsscanf, (string, format, args),
_IO_str_init_static ((_IO_FILE*)&sf, (char*)string, 0, NULL);
return _IO_vfscanf((_IO_FILE*)&sf, format, args, NULL);
}
+weak_alias (_IO_vsscanf, __vsscanf)
weak_alias (_IO_vsscanf, vsscanf)
diff --git a/libio/vsnprintf.c b/libio/vsnprintf.c
index a04da8242a..38f91c9c07 100644
--- a/libio/vsnprintf.c
+++ b/libio/vsnprintf.c
@@ -41,4 +41,5 @@ _IO_vsnprintf (string, maxlen, format, args)
*((_IO_FILE *) &sf)->_IO_write_ptr = '\0';
return ret;
}
+weak_alias (_IO_vsnprintf, __vsnprintf)
weak_alias (_IO_vsnprintf, vsnprintf)
diff --git a/misc/getpass.c b/misc/getpass.c
index ec535c1cca..bea2ac0d08 100644
--- a/misc/getpass.c
+++ b/misc/getpass.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1992, 1993, 1994 Free Software Foundation, Inc.
+/* Copyright (C) 1992, 1993, 1994, 1995 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
@@ -77,8 +77,13 @@ getpass (prompt)
if (nread < 0 && buf != NULL)
buf[0] = '\0';
else if (buf[nread - 1] == '\n')
- /* Remove the newline. */
- buf[nread - 1] = '\0';
+ {
+ /* Remove the newline. */
+ buf[nread - 1] = '\0';
+ if (echo_off)
+ /* Write the newline that was not echoed. */
+ putc ('\n', out);
+ }
/* Restore echoing. */
if (echo_off)
diff --git a/stdio-common/asprintf.c b/stdio-common/asprintf.c
index dd9eec5ba1..b5820fd09f 100644
--- a/stdio-common/asprintf.c
+++ b/stdio-common/asprintf.c
@@ -19,10 +19,6 @@ Cambridge, MA 02139, USA. */
#include <stdarg.h>
#include <stdio.h>
-#ifdef USE_IN_LIBIO
-# define vasprintf _IO_vasprintf
-#endif
-
/* Write formatted output from FORMAT to a string which is
allocated with malloc and stored in *STRING_PTR. */
/* VARARGS2 */
diff --git a/stdio-common/dprintf.c b/stdio-common/dprintf.c
index 611a6030a1..5728c56df7 100644
--- a/stdio-common/dprintf.c
+++ b/stdio-common/dprintf.c
@@ -19,10 +19,6 @@ Cambridge, MA 02139, USA. */
#include <stdarg.h>
#include <stdio.h>
-#ifdef USE_IN_LIBIO
-# define vdprintf _IO_vdprintf
-#endif
-
/* Write formatted output to D, according to the format string FORMAT. */
/* VARARGS2 */
int
diff --git a/stdio-common/printf.c b/stdio-common/printf.c
index d8aa895a77..edb13da439 100644
--- a/stdio-common/printf.c
+++ b/stdio-common/printf.c
@@ -19,10 +19,6 @@ Cambridge, MA 02139, USA. */
#include <stdarg.h>
#include <stdio.h>
-#ifdef USE_IN_LIBIO
-# define vprintf _IO_vprintf
-#endif
-
/* Write formatted output to stdout from the format string FORMAT. */
/* VARARGS1 */
int
diff --git a/stdio-common/scanf.c b/stdio-common/scanf.c
index cf43363958..3c35fa3691 100644
--- a/stdio-common/scanf.c
+++ b/stdio-common/scanf.c
@@ -19,10 +19,6 @@ Cambridge, MA 02139, USA. */
#include <stdarg.h>
#include <stdio.h>
-#ifdef USE_IN_LIBIO
-# define vscanf _IO_vscanf
-#endif
-
/* Read formatted input from stdin according to the format string FORMAT. */
/* VARARGS1 */
int
diff --git a/stdio-common/snprintf.c b/stdio-common/snprintf.c
index ca0b60aed6..e4f8e1e193 100644
--- a/stdio-common/snprintf.c
+++ b/stdio-common/snprintf.c
@@ -19,11 +19,6 @@ Cambridge, MA 02139, USA. */
#include <stdarg.h>
#include <stdio.h>
-#ifdef USE_IN_LIBIO
-# include <libioP.h>
-# define __vsnprintf _IO_vsnprintf
-#endif
-
/* Write formatted output into S, according to the format
string FORMAT, writing no more than MAXLEN characters. */
/* VARARGS3 */
diff --git a/stdio-common/sprintf.c b/stdio-common/sprintf.c
index 9cfc89cb84..c1fb5b30a2 100644
--- a/stdio-common/sprintf.c
+++ b/stdio-common/sprintf.c
@@ -19,10 +19,6 @@ Cambridge, MA 02139, USA. */
#include <stdarg.h>
#include <stdio.h>
-#ifdef USE_IN_LIBIO
-# define vsprintf _IO_vsprintf
-#endif
-
/* Write formatted output into S, according to the format string FORMAT. */
/* VARARGS2 */
int
diff --git a/stdio-common/sscanf.c b/stdio-common/sscanf.c
index 794a3ce628..d9c31bf32f 100644
--- a/stdio-common/sscanf.c
+++ b/stdio-common/sscanf.c
@@ -19,10 +19,6 @@ Cambridge, MA 02139, USA. */
#include <stdarg.h>
#include <stdio.h>
-#ifdef USE_IN_LIBIO
-# define __vsscanf _IO_vsscanf
-#endif
-
/* Read formatted input from S, according to the format string FORMAT. */
/* VARARGS2 */
int
diff --git a/stdio-common/vfscanf.c b/stdio-common/vfscanf.c
index a0bb63281c..b0e48df4f8 100644
--- a/stdio-common/vfscanf.c
+++ b/stdio-common/vfscanf.c
@@ -724,6 +724,12 @@ __vfscanf (FILE *s, const char *format, va_list argptr)
return ((c == EOF || ungetc (c, s)), done);
}
-#ifndef USE_IN_LIBIO
-weak_alias (__vfscanf, vfscanf)
+#ifdef USE_IN_LIBIO
+int
+__vfscanf (FILE *s, const char *format, va_list argptr)
+{
+ return _IO_vfscanf (s, format, argptr, NULL);
+}
#endif
+
+weak_alias (__vfscanf, vfscanf)
diff --git a/stdio-common/vprintf.c b/stdio-common/vprintf.c
index 77f1da47e2..e2da2605b8 100644
--- a/stdio-common/vprintf.c
+++ b/stdio-common/vprintf.c
@@ -22,10 +22,6 @@ Cambridge, MA 02139, USA. */
#undef vprintf
-#ifdef USE_IN_LIBIO
-# define vfprintf _IO_vfprintf
-#endif
-
/* Write formatted output to stdout according to the
format string FORMAT, using the argument list in ARG. */
int
diff --git a/sysdeps/i386/dl-machine.h b/sysdeps/i386/dl-machine.h
index bdca6bec3b..7c22305307 100644
--- a/sysdeps/i386/dl-machine.h
+++ b/sysdeps/i386/dl-machine.h
@@ -77,7 +77,7 @@ elf_machine_rel (struct link_map *map,
Elf32_Addr sym_loadaddr, const Elf32_Sym *sym)
{
Elf32_Addr *const reloc_addr = (void *) (map->l_addr + reloc->r_offset);
- const Elf32_Addr sym_value = sym_loadaddr + sym->st_value;
+ const Elf32_Addr sym_value = sym ? sym_loadaddr + sym->st_value : 0;
switch (ELF32_R_TYPE (reloc->r_info))
{