Browse Source

prelude-lml: fixed to build with glibc >= 2.16 where 'gets' is not defined in the gnulib anymore

Note:

build error without the patch
-----------------------------------------------------------------------------
make[4]: *** [localcharset.lo] Error 1
make[4]: *** Waiting for unfinished jobs....
In file included from ./wchar.h:63:0,
                 from printf-args.h:42,
                 from printf-parse.h:26,
                 from printf-parse.c:37:
./stdio.h:143:1: error: 'gets' undeclared here (not in a function)
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I.. -g -O2 -MT vasnprintf.lo -MD -MP -MF .deps/vasnprintf.Tpo -c vasnprintf.c  -fPIC -DPIC -o .libs/vasnprintf.o
In file included from ./wchar.h:63:0,
                 from printf-args.h:42,
                 from printf-args.c:30:
./stdio.h:143:1: error: 'gets' undeclared here (not in a function)
In file included from glob.c:38:0:
./stdio.h:143:1: error: 'gets' undeclared here (not in a function)
make[4]: *** [printf-args.lo] Error 1
glob.c:168:1: warning: '__leaf__' attribute has no effect on unit local functions [-Wattributes]
glob.c:216:1: warning: '__leaf__' attribute has no effect on unit local functions [-Wattributes]
glob.c:217:1: warning: '__leaf__' attribute has no effect on unit local functions [-Wattributes]
make[4]: *** [printf-parse.lo] Error 1
In file included from snprintf.c:22:0:
./stdio.h:143:1: error: 'gets' undeclared here (not in a function)
In file included from vasnprintf.c:71:0:
./stdio.h:143:1: error: 'gets' undeclared here (not in a function)
make[4]: *** [glob.lo] Error 1
make[4]: *** [snprintf.lo] Error 1
make[4]: *** [vasnprintf.lo] Error 1
-----------------------------------------------------------------------------
user/chris/wip/linux37
Christian Wiese 12 years ago
parent
commit
c5908d9f7e
  1. 33
      security/prelude-lml/prelude-lml-1.0.0-glibc-2.16-no-gets.patch

33
security/prelude-lml/prelude-lml-1.0.0-glibc-2.16-no-gets.patch

@ -0,0 +1,33 @@
# --- SDE-COPYRIGHT-NOTE-BEGIN ---
# This copyright note is auto-generated by ./scripts/Create-CopyPatch.
#
# Filename: package/.../prelude-lml/prelude-lml-1.0.0-glibc-2.16-no-gets.patch
# Copyright (C) 2013 The OpenSDE Project
#
# More information can be found in the files COPYING and README.
#
# This patch file is dual-licensed. It is available under the license the
# patched project is licensed under, as long as it is an OpenSource license
# as defined at http://www.opensource.org/ (e.g. BSD, X11) or under the terms
# of the GNU General Public License as published by the Free Software
# Foundation; either version 2 of the License, or (at your option) any later
# version.
# --- SDE-COPYRIGHT-NOTE-END ---
--- prelude-lml-1.0.0/libmissing/stdio.in.h.orig 2012-10-30 17:15:24.449864079 +0100
+++ prelude-lml-1.0.0/libmissing/stdio.in.h 2012-10-30 17:18:49.534581397 +0100
@@ -114,10 +114,12 @@
#endif
/* 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 warningbesides, C11
+ removed it. */
#undef gets
+#if HAVE_RAW_DECL_GETS
_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
+#endif
#if @GNULIB_FOPEN@
# if @REPLACE_FOPEN@
Loading…
Cancel
Save