[OE-core] [PATCH 08/19] bison: Fix for gets being removed from eglibc 2.16
Jack Mitchell
ml at communistcode.co.uk
Sat Jul 28 10:40:59 UTC 2012
On 08/07/2012 17:10, Khem Raj wrote:
> Signed-off-by: Khem Raj <raj.khem at gmail.com>
> ---
> .../recipes-devtools/bison/bison/remove-gets.patch | 20 ++++++++++++++++++++
> meta/recipes-devtools/bison/bison_2.5.bb | 6 ++++--
> 2 files changed, 24 insertions(+), 2 deletions(-)
> create mode 100644 meta/recipes-devtools/bison/bison/remove-gets.patch
>
> diff --git a/meta/recipes-devtools/bison/bison/remove-gets.patch b/meta/recipes-devtools/bison/bison/remove-gets.patch
> new file mode 100644
> index 0000000..2dfa00f
> --- /dev/null
> +++ b/meta/recipes-devtools/bison/bison/remove-gets.patch
> @@ -0,0 +1,20 @@
> +gets has been removed from eglibc 2.16
> +
> +Signed-off-by: Khem Raj <raj.khem at gmail.com>
> +
> +Upstream-Status: Pending
> +Index: bison-2.5/lib/stdio.in.h
> +===================================================================
> +--- bison-2.5.orig/lib/stdio.in.h 2012-07-04 09:09:48.336532195 -0700
> ++++ bison-2.5/lib/stdio.in.h 2012-07-04 09:10:22.868533884 -0700
> +@@ -180,8 +180,10 @@
> + /* 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. */
> ++#if defined gets
> + #undef gets
> + _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
> ++#endif
> +
> + #if @GNULIB_FOPEN@
> + # if @REPLACE_FOPEN@
> diff --git a/meta/recipes-devtools/bison/bison_2.5.bb b/meta/recipes-devtools/bison/bison_2.5.bb
> index fc3bb6d..687f06a 100644
> --- a/meta/recipes-devtools/bison/bison_2.5.bb
> +++ b/meta/recipes-devtools/bison/bison_2.5.bb
> @@ -9,14 +9,16 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
> SECTION = "devel"
> DEPENDS = "bison-native flex-native"
>
> -PR = "r1"
> +PR = "r2"
>
> BASE_SRC_URI = "${GNU_MIRROR}/bison/bison-${PV}.tar.gz \
> file://m4.patch \
> "
>
> SRC_URI = "${BASE_SRC_URI} \
> - file://fix_cross_manpage_building.patch "
> + file://fix_cross_manpage_building.patch \
> + file://remove-gets.patch \
> + "
>
> SRC_URI[md5sum] = "687e1dcd29452789d34eaeea4c25abe4"
> SRC_URI[sha256sum] = "722def46e4a19a5b7a579ef30db1965f86c37c1a20a5f0113743a2e4399f7c99"
Hi Khem,
This patch doesn't fix the Bison gets issue for me, I had to create a
patch that removed the line altogether to get it to compile
successfully. Even though gets isn't present on my system it still
matches the #if defined gets and tries to #undef gets which results in
an error.
However, I don't think removing the line altogether is the correct fix
for the global userbase...
Regards,
Jack.
More information about the Openembedded-core
mailing list