diff options
3 files changed, 105 insertions, 1 deletions
diff --git a/meta/recipes-devtools/flex/flex/avoid-FORTIFY-warnings.patch b/meta/recipes-devtools/flex/flex/avoid-FORTIFY-warnings.patch new file mode 100644 index 000000000..c71eb8279 --- /dev/null +++ b/meta/recipes-devtools/flex/flex/avoid-FORTIFY-warnings.patch @@ -0,0 +1,59 @@ +Wrap ECHO macro to avoid FORTIFY warnings + +This change will enable flex scanners to be compiled with +-D_FORTIFY_SOURCE=2. + +Signed-off-by: Manoj Srivastava <srivasta@debian.org> +Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> + +Origin: Cherry picked from Debian +Upstream-Status: Pending + +--- + flex.skl | 2 +- + scan.c | 2 +- + skel.c | 2 +- + 3 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/flex.skl b/flex.skl +index 6ebf2fd..eaa355e 100644 +--- a/flex.skl ++++ b/flex.skl +@@ -1074,7 +1074,7 @@ m4_ifdef( [[M4_YY_NOT_IN_HEADER]], + /* This used to be an fputs(), but since the string might contain NUL's, + * we now use fwrite(). + */ +-#define ECHO fwrite( yytext, yyleng, 1, yyout ) ++#define ECHO do { if (fwrite( yytext, yyleng, 1, yyout )) {} } while (0) + %endif + %if-c++-only C++ definition + #define ECHO LexerOutput( yytext, yyleng ) +diff --git a/scan.c b/scan.c +index d7f5db3..1a079bf 100644 +--- a/scan.c ++++ b/scan.c +@@ -2093,7 +2093,7 @@ static int input (void ); + /* This used to be an fputs(), but since the string might contain NUL's, + * we now use fwrite(). + */ +-#define ECHO fwrite( yytext, yyleng, 1, yyout ) ++#define ECHO do { if (fwrite( yytext, yyleng, 1, yyout )) {} } while (0) + #endif + + /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL, +diff --git a/skel.c b/skel.c +index ee9f6ef..b8a2b4b 100644 +--- a/skel.c ++++ b/skel.c +@@ -1141,7 +1141,7 @@ const char *skel[] = { + "/* This used to be an fputs(), but since the string might contain NUL's,", + " * we now use fwrite().", + " */", +- "#define ECHO fwrite( yytext, yyleng, 1, yyout )", ++ "#define ECHO do { if (fwrite( yytext, yyleng, 1, yyout )) {} } while (0)", + "%endif", + "%if-c++-only C++ definition", + "#define ECHO LexerOutput( yytext, yyleng )", +-- +1.7.9.5 + diff --git a/meta/recipes-devtools/flex/flex/int-is-not-the-same-size-as-size_t.patch b/meta/recipes-devtools/flex/flex/int-is-not-the-same-size-as-size_t.patch new file mode 100644 index 000000000..8d05ee467 --- /dev/null +++ b/meta/recipes-devtools/flex/flex/int-is-not-the-same-size-as-size_t.patch @@ -0,0 +1,42 @@ +int is not the same size as size_t. + +Signed-off-by: Manoj Srivastava <srivasta@debian.org> +Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> + +Origin: Cherry picked from Debian +Upstream-Status: Pending + +--- + gen.c | 2 +- + scan.c | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/gen.c b/gen.c +index 848e2c5..5a5daef 100644 +--- a/gen.c ++++ b/gen.c +@@ -1890,7 +1890,7 @@ void make_tables () + outn ("\tif ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \\"); + outn ("\t\t{ \\"); + outn ("\t\tint c = '*'; \\"); +- outn ("\t\tint n; \\"); ++ outn ("\t\tsize_t n; \\"); + outn ("\t\tfor ( n = 0; n < max_size && \\"); + outn ("\t\t\t (c = getc( yyin )) != EOF && c != '\\n'; ++n ) \\"); + outn ("\t\t\tbuf[n] = (char) c; \\"); +diff --git a/scan.c b/scan.c +index 44559b6..15e2058 100644 +--- a/scan.c ++++ b/scan.c +@@ -2105,7 +2105,7 @@ static int input (void ); + if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \ + { \ + int c = '*'; \ +- int n; \ ++ size_t n; \ + for ( n = 0; n < max_size && \ + (c = getc( yyin )) != EOF && c != '\n'; ++n ) \ + buf[n] = (char) c; \ +-- +1.7.9.5 + diff --git a/meta/recipes-devtools/flex/flex_2.5.35.bb b/meta/recipes-devtools/flex/flex_2.5.35.bb index 28a4f1f06..7419f101a 100644 --- a/meta/recipes-devtools/flex/flex_2.5.35.bb +++ b/meta/recipes-devtools/flex/flex_2.5.35.bb @@ -1,8 +1,11 @@ require flex.inc -PR = "r2" +PR = "r3" LICENSE="BSD" LIC_FILES_CHKSUM = "file://COPYING;md5=e4742cf92e89040b39486a6219b68067" BBCLASSEXTEND = "native" +SRC_URI += "file://avoid-FORTIFY-warnings.patch \ + file://int-is-not-the-same-size-as-size_t.patch" + SRC_URI[md5sum] = "10714e50cea54dc7a227e3eddcd44d57" SRC_URI[sha256sum] = "0becbd4b2b36b99c67f8c22ab98f7f80c9860aec70f0350a0018f29a88704e7b" |