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 0000000000..c71eb82792 --- /dev/null +++ b/meta/recipes-devtools/flex/flex/avoid-FORTIFY-warnings.patch | |||
@@ -0,0 +1,59 @@ | |||
1 | Wrap ECHO macro to avoid FORTIFY warnings | ||
2 | |||
3 | This change will enable flex scanners to be compiled with | ||
4 | -D_FORTIFY_SOURCE=2. | ||
5 | |||
6 | Signed-off-by: Manoj Srivastava <srivasta@debian.org> | ||
7 | Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> | ||
8 | |||
9 | Origin: Cherry picked from Debian | ||
10 | Upstream-Status: Pending | ||
11 | |||
12 | --- | ||
13 | flex.skl | 2 +- | ||
14 | scan.c | 2 +- | ||
15 | skel.c | 2 +- | ||
16 | 3 files changed, 3 insertions(+), 3 deletions(-) | ||
17 | |||
18 | diff --git a/flex.skl b/flex.skl | ||
19 | index 6ebf2fd..eaa355e 100644 | ||
20 | --- a/flex.skl | ||
21 | +++ b/flex.skl | ||
22 | @@ -1074,7 +1074,7 @@ m4_ifdef( [[M4_YY_NOT_IN_HEADER]], | ||
23 | /* This used to be an fputs(), but since the string might contain NUL's, | ||
24 | * we now use fwrite(). | ||
25 | */ | ||
26 | -#define ECHO fwrite( yytext, yyleng, 1, yyout ) | ||
27 | +#define ECHO do { if (fwrite( yytext, yyleng, 1, yyout )) {} } while (0) | ||
28 | %endif | ||
29 | %if-c++-only C++ definition | ||
30 | #define ECHO LexerOutput( yytext, yyleng ) | ||
31 | diff --git a/scan.c b/scan.c | ||
32 | index d7f5db3..1a079bf 100644 | ||
33 | --- a/scan.c | ||
34 | +++ b/scan.c | ||
35 | @@ -2093,7 +2093,7 @@ static int input (void ); | ||
36 | /* This used to be an fputs(), but since the string might contain NUL's, | ||
37 | * we now use fwrite(). | ||
38 | */ | ||
39 | -#define ECHO fwrite( yytext, yyleng, 1, yyout ) | ||
40 | +#define ECHO do { if (fwrite( yytext, yyleng, 1, yyout )) {} } while (0) | ||
41 | #endif | ||
42 | |||
43 | /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL, | ||
44 | diff --git a/skel.c b/skel.c | ||
45 | index ee9f6ef..b8a2b4b 100644 | ||
46 | --- a/skel.c | ||
47 | +++ b/skel.c | ||
48 | @@ -1141,7 +1141,7 @@ const char *skel[] = { | ||
49 | "/* This used to be an fputs(), but since the string might contain NUL's,", | ||
50 | " * we now use fwrite().", | ||
51 | " */", | ||
52 | - "#define ECHO fwrite( yytext, yyleng, 1, yyout )", | ||
53 | + "#define ECHO do { if (fwrite( yytext, yyleng, 1, yyout )) {} } while (0)", | ||
54 | "%endif", | ||
55 | "%if-c++-only C++ definition", | ||
56 | "#define ECHO LexerOutput( yytext, yyleng )", | ||
57 | -- | ||
58 | 1.7.9.5 | ||
59 | |||
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 0000000000..8d05ee467c --- /dev/null +++ b/meta/recipes-devtools/flex/flex/int-is-not-the-same-size-as-size_t.patch | |||
@@ -0,0 +1,42 @@ | |||
1 | int is not the same size as size_t. | ||
2 | |||
3 | Signed-off-by: Manoj Srivastava <srivasta@debian.org> | ||
4 | Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> | ||
5 | |||
6 | Origin: Cherry picked from Debian | ||
7 | Upstream-Status: Pending | ||
8 | |||
9 | --- | ||
10 | gen.c | 2 +- | ||
11 | scan.c | 2 +- | ||
12 | 2 files changed, 2 insertions(+), 2 deletions(-) | ||
13 | |||
14 | diff --git a/gen.c b/gen.c | ||
15 | index 848e2c5..5a5daef 100644 | ||
16 | --- a/gen.c | ||
17 | +++ b/gen.c | ||
18 | @@ -1890,7 +1890,7 @@ void make_tables () | ||
19 | outn ("\tif ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \\"); | ||
20 | outn ("\t\t{ \\"); | ||
21 | outn ("\t\tint c = '*'; \\"); | ||
22 | - outn ("\t\tint n; \\"); | ||
23 | + outn ("\t\tsize_t n; \\"); | ||
24 | outn ("\t\tfor ( n = 0; n < max_size && \\"); | ||
25 | outn ("\t\t\t (c = getc( yyin )) != EOF && c != '\\n'; ++n ) \\"); | ||
26 | outn ("\t\t\tbuf[n] = (char) c; \\"); | ||
27 | diff --git a/scan.c b/scan.c | ||
28 | index 44559b6..15e2058 100644 | ||
29 | --- a/scan.c | ||
30 | +++ b/scan.c | ||
31 | @@ -2105,7 +2105,7 @@ static int input (void ); | ||
32 | if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \ | ||
33 | { \ | ||
34 | int c = '*'; \ | ||
35 | - int n; \ | ||
36 | + size_t n; \ | ||
37 | for ( n = 0; n < max_size && \ | ||
38 | (c = getc( yyin )) != EOF && c != '\n'; ++n ) \ | ||
39 | buf[n] = (char) c; \ | ||
40 | -- | ||
41 | 1.7.9.5 | ||
42 | |||
diff --git a/meta/recipes-devtools/flex/flex_2.5.35.bb b/meta/recipes-devtools/flex/flex_2.5.35.bb index 28a4f1f06b..7419f101ad 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 @@ | |||
1 | require flex.inc | 1 | require flex.inc |
2 | PR = "r2" | 2 | PR = "r3" |
3 | LICENSE="BSD" | 3 | LICENSE="BSD" |
4 | LIC_FILES_CHKSUM = "file://COPYING;md5=e4742cf92e89040b39486a6219b68067" | 4 | LIC_FILES_CHKSUM = "file://COPYING;md5=e4742cf92e89040b39486a6219b68067" |
5 | BBCLASSEXTEND = "native" | 5 | BBCLASSEXTEND = "native" |
6 | 6 | ||
7 | SRC_URI += "file://avoid-FORTIFY-warnings.patch \ | ||
8 | file://int-is-not-the-same-size-as-size_t.patch" | ||
9 | |||
7 | SRC_URI[md5sum] = "10714e50cea54dc7a227e3eddcd44d57" | 10 | SRC_URI[md5sum] = "10714e50cea54dc7a227e3eddcd44d57" |
8 | SRC_URI[sha256sum] = "0becbd4b2b36b99c67f8c22ab98f7f80c9860aec70f0350a0018f29a88704e7b" | 11 | SRC_URI[sha256sum] = "0becbd4b2b36b99c67f8c22ab98f7f80c9860aec70f0350a0018f29a88704e7b" |