Fix build failure with glibc-2.16.
* lib/gnulib.mk: * lib/stdio.in.h: * m4/stdio_h.m4: Do not assume that gets is defined. Fixes: debbugs:11873
This commit is contained in:
parent
7f654971e0
commit
dd3c46bd95
4 changed files with 15 additions and 23 deletions
|
@ -1,3 +1,9 @@
|
|||
2012-08-14 Ulrich Mueller <ulm@gentoo.org>
|
||||
|
||||
* lib/gnulib.mk:
|
||||
* lib/stdio.in.h:
|
||||
* m4/stdio_h.m4: Do not assume that gets is defined (Bug#11873).
|
||||
|
||||
2012-06-21 Ulrich Mueller <ulm@gentoo.org>
|
||||
|
||||
* configure.in: Use m/intel386.h for amd64 with x32 ABI. (Bug#11669)
|
||||
|
|
|
@ -599,7 +599,6 @@ stdio.h: stdio.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H)
|
|||
-e 's/@''GNULIB_GETCHAR''@/$(GNULIB_GETCHAR)/g' \
|
||||
-e 's/@''GNULIB_GETDELIM''@/$(GNULIB_GETDELIM)/g' \
|
||||
-e 's/@''GNULIB_GETLINE''@/$(GNULIB_GETLINE)/g' \
|
||||
-e 's/@''GNULIB_GETS''@/$(GNULIB_GETS)/g' \
|
||||
-e 's/@''GNULIB_OBSTACK_PRINTF''@/$(GNULIB_OBSTACK_PRINTF)/g' \
|
||||
-e 's/@''GNULIB_OBSTACK_PRINTF_POSIX''@/$(GNULIB_OBSTACK_PRINTF_POSIX)/g' \
|
||||
-e 's/@''GNULIB_PCLOSE''@/$(GNULIB_PCLOSE)/g' \
|
||||
|
|
|
@ -699,22 +699,11 @@ _GL_WARN_ON_USE (getline, "getline is unportable - "
|
|||
# endif
|
||||
#endif
|
||||
|
||||
#if @GNULIB_GETS@
|
||||
# if @REPLACE_STDIO_READ_FUNCS@ && @GNULIB_STDIO_H_NONBLOCKING@
|
||||
# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
|
||||
# undef gets
|
||||
# define gets rpl_gets
|
||||
# endif
|
||||
_GL_FUNCDECL_RPL (gets, char *, (char *s) _GL_ARG_NONNULL ((1)));
|
||||
_GL_CXXALIAS_RPL (gets, char *, (char *s));
|
||||
# else
|
||||
_GL_CXXALIAS_SYS (gets, char *, (char *s));
|
||||
# undef gets
|
||||
# endif
|
||||
_GL_CXXALIASWARN (gets);
|
||||
/* It is very rare that the developer ever has full control of stdin,
|
||||
so any use of gets warrants an unconditional warning. Assume it is
|
||||
always declared, since it is required by C89. */
|
||||
so any use of gets warrants an unconditional warning. Besides, C11
|
||||
removed it. */
|
||||
#undef gets
|
||||
#if HAVE_RAW_DECL_GETS
|
||||
_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
|
||||
#endif
|
||||
|
||||
|
@ -1054,7 +1043,7 @@ _GL_WARN_ON_USE (snprintf, "snprintf is unportable - "
|
|||
# endif
|
||||
#endif
|
||||
|
||||
/* Some people would argue that sprintf should be handled like gets
|
||||
/* Some people would argue that sprintf uses should be warned about
|
||||
(for example, OpenBSD issues a link warning for both functions),
|
||||
since both can cause security holes due to buffer overruns.
|
||||
However, we believe that sprintf can be used safely, and is more
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# stdio_h.m4 serial 40
|
||||
# stdio_h.m4 serial 41
|
||||
dnl Copyright (C) 2007-2011 Free Software Foundation, Inc.
|
||||
dnl This file is free software; the Free Software Foundation
|
||||
dnl gives unlimited permission to copy and/or distribute it,
|
||||
|
@ -18,7 +18,6 @@ AC_DEFUN([gl_STDIO_H],
|
|||
GNULIB_GETC=1
|
||||
GNULIB_GETCHAR=1
|
||||
GNULIB_FGETS=1
|
||||
GNULIB_GETS=1
|
||||
GNULIB_FREAD=1
|
||||
dnl This ifdef is necessary to avoid an error "missing file lib/stdio-read.c"
|
||||
dnl "expected source file, required through AC_LIBSOURCES, not found". It is
|
||||
|
@ -72,10 +71,10 @@ AC_DEFUN([gl_STDIO_H],
|
|||
|
||||
dnl Check for declarations of anything we want to poison if the
|
||||
dnl corresponding gnulib module is not in use, and which is not
|
||||
dnl guaranteed by C89.
|
||||
dnl guaranteed by C89 and C11.
|
||||
gl_WARN_ON_USE_PREPARE([[#include <stdio.h>
|
||||
]], [dprintf fpurge fseeko ftello getdelim getline pclose popen renameat
|
||||
snprintf tmpfile vdprintf vsnprintf])
|
||||
]], [dprintf fpurge fseeko ftello getdelim getline gets pclose popen
|
||||
renameat snprintf tmpfile vdprintf vsnprintf])
|
||||
])
|
||||
|
||||
AC_DEFUN([gl_STDIO_MODULE_INDICATOR],
|
||||
|
@ -113,7 +112,6 @@ AC_DEFUN([gl_STDIO_H_DEFAULTS],
|
|||
GNULIB_GETCHAR=0; AC_SUBST([GNULIB_GETCHAR])
|
||||
GNULIB_GETDELIM=0; AC_SUBST([GNULIB_GETDELIM])
|
||||
GNULIB_GETLINE=0; AC_SUBST([GNULIB_GETLINE])
|
||||
GNULIB_GETS=0; AC_SUBST([GNULIB_GETS])
|
||||
GNULIB_OBSTACK_PRINTF=0; AC_SUBST([GNULIB_OBSTACK_PRINTF])
|
||||
GNULIB_OBSTACK_PRINTF_POSIX=0; AC_SUBST([GNULIB_OBSTACK_PRINTF_POSIX])
|
||||
GNULIB_PCLOSE=0; AC_SUBST([GNULIB_PCLOSE])
|
||||
|
|
Loading…
Add table
Reference in a new issue