[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