* [PATCH 1/2] kconfig: don't silently ignore unhandled characters
@ 2014-11-04 9:05 Jan Beulich
2014-11-04 14:06 ` Paul Bolle
0 siblings, 1 reply; 8+ messages in thread
From: Jan Beulich @ 2014-11-04 9:05 UTC (permalink / raw)
To: linux-kbuild; +Cc: yann.morin.1998
At the very least we should tell people that waht they wrote is not
what the utility understands.
Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
scripts/kconfig/zconf.l | 6 -
scripts/kconfig/zconf.lex.c_shipped | 194 +++++++++++++++++++-----------------
2 files changed, 111 insertions(+), 89 deletions(-)
--- 3.18-rc3-kconfig.orig/scripts/kconfig/zconf.l
+++ 3.18-rc3-kconfig/scripts/kconfig/zconf.l
@@ -141,7 +141,11 @@ n [A-Za-z0-9_]
}
#.* /* comment */
\\\n current_file->lineno++;
- .
+ [[:blank:]]+
+ . {
+ printf("%s:%d:warning: ignoring unsupported character '%c'\n",
+ zconf_curname(), zconf_lineno(), *yytext);
+ }
<<EOF>> {
BEGIN(INITIAL);
}
--- 3.18-rc3-kconfig.orig/scripts/kconfig/zconf.lex.c_shipped
+++ 3.18-rc3-kconfig/scripts/kconfig/zconf.lex.c_shipped
@@ -414,14 +414,14 @@ static yyconst flex_int16_t yy_nxt[][17]
},
{
- 11, 26, 26, 27, 28, 29, 30, 31, 29, 32,
- 33, 34, 35, 35, 36, 37, 38
+ 11, 26, 27, 28, 29, 30, 31, 32, 30, 33,
+ 34, 35, 36, 36, 37, 38, 39
},
{
- 11, 26, 26, 27, 28, 29, 30, 31, 29, 32,
- 33, 34, 35, 35, 36, 37, 38
+ 11, 26, 27, 28, 29, 30, 31, 32, 30, 33,
+ 34, 35, 36, 36, 37, 38, 39
},
{
@@ -435,7 +435,7 @@ static yyconst flex_int16_t yy_nxt[][17]
},
{
- 11, -13, 39, 40, -13, -13, 41, -13, -13, -13,
+ 11, -13, 40, 41, -13, -13, 42, -13, -13, -13,
-13, -13, -13, -13, -13, -13, -13
},
@@ -446,8 +446,8 @@ static yyconst flex_int16_t yy_nxt[][17]
},
{
- 11, 42, 42, 43, 42, 42, 42, 42, 42, 42,
- 42, 42, 42, 42, 42, 42, 42
+ 11, 43, 43, 44, 43, 43, 43, 43, 43, 43,
+ 43, 43, 43, 43, 43, 43, 43
},
{
@@ -462,28 +462,28 @@ static yyconst flex_int16_t yy_nxt[][17]
{
11, -18, -18, -18, -18, -18, -18, -18, -18, -18,
- -18, -18, -18, 44, -18, -18, -18
+ -18, -18, -18, 45, -18, -18, -18
},
{
- 11, 45, 45, -19, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 45
+ 11, 46, 46, -19, 46, 46, 46, 46, 46, 46,
+ 46, 46, 46, 46, 46, 46, 46
},
{
- 11, -20, 46, 47, -20, -20, -20, -20, -20, -20,
+ 11, -20, 47, 48, -20, -20, -20, -20, -20, -20,
-20, -20, -20, -20, -20, -20, -20
},
{
- 11, 48, -21, -21, 48, 48, 48, 48, 48, 48,
- 48, 48, 48, 48, 48, 48, 48
+ 11, 49, -21, -21, 49, 49, 49, 49, 49, 49,
+ 49, 49, 49, 49, 49, 49, 49
},
{
- 11, 49, 49, 50, 49, -22, 49, 49, -22, 49,
- 49, 49, 49, 49, 49, -22, 49
+ 11, 50, 50, 51, 50, -22, 50, 50, -22, 50,
+ 50, 50, 50, 50, 50, -22, 50
},
{
@@ -498,8 +498,8 @@ static yyconst flex_int16_t yy_nxt[][17]
},
{
- 11, 51, 51, 52, 51, 51, 51, 51, 51, 51,
- 51, 51, 51, 51, 51, 51, 51
+ 11, 52, 52, 53, 52, 52, 52, 52, 52, 52,
+ 52, 52, 52, 52, 52, 52, 52
},
{
@@ -508,33 +508,33 @@ static yyconst flex_int16_t yy_nxt[][17]
},
{
- 11, -27, -27, -27, -27, -27, -27, -27, -27, -27,
+ 11, -27, 54, -27, -27, -27, -27, -27, -27, -27,
-27, -27, -27, -27, -27, -27, -27
},
{
11, -28, -28, -28, -28, -28, -28, -28, -28, -28,
- -28, -28, -28, -28, 53, -28, -28
+ -28, -28, -28, -28, -28, -28, -28
},
{
11, -29, -29, -29, -29, -29, -29, -29, -29, -29,
- -29, -29, -29, -29, -29, -29, -29
+ -29, -29, -29, -29, 55, -29, -29
},
{
- 11, 54, 54, -30, 54, 54, 54, 54, 54, 54,
- 54, 54, 54, 54, 54, 54, 54
+ 11, -30, -30, -30, -30, -30, -30, -30, -30, -30,
+ -30, -30, -30, -30, -30, -30, -30
},
{
- 11, -31, -31, -31, -31, -31, -31, 55, -31, -31,
- -31, -31, -31, -31, -31, -31, -31
+ 11, 56, 56, -31, 56, 56, 56, 56, 56, 56,
+ 56, 56, 56, 56, 56, 56, 56
},
{
- 11, -32, -32, -32, -32, -32, -32, -32, -32, -32,
+ 11, -32, -32, -32, -32, -32, -32, 57, -32, -32,
-32, -32, -32, -32, -32, -32, -32
},
@@ -545,100 +545,100 @@ static yyconst flex_int16_t yy_nxt[][17]
{
11, -34, -34, -34, -34, -34, -34, -34, -34, -34,
- -34, 56, 57, 57, -34, -34, -34
+ -34, -34, -34, -34, -34, -34, -34
},
{
11, -35, -35, -35, -35, -35, -35, -35, -35, -35,
- -35, 57, 57, 57, -35, -35, -35
+ -35, 58, 59, 59, -35, -35, -35
},
{
11, -36, -36, -36, -36, -36, -36, -36, -36, -36,
- -36, -36, -36, -36, -36, -36, -36
+ -36, 59, 59, 59, -36, -36, -36
},
{
- 11, -37, -37, 58, -37, -37, -37, -37, -37, -37,
+ 11, -37, -37, -37, -37, -37, -37, -37, -37, -37,
-37, -37, -37, -37, -37, -37, -37
},
{
- 11, -38, -38, -38, -38, -38, -38, -38, -38, -38,
- -38, -38, -38, -38, -38, -38, 59
+ 11, -38, -38, 60, -38, -38, -38, -38, -38, -38,
+ -38, -38, -38, -38, -38, -38, -38
},
{
- 11, -39, 39, 40, -39, -39, 41, -39, -39, -39,
- -39, -39, -39, -39, -39, -39, -39
+ 11, -39, -39, -39, -39, -39, -39, -39, -39, -39,
+ -39, -39, -39, -39, -39, -39, 61
},
{
- 11, -40, -40, -40, -40, -40, -40, -40, -40, -40,
+ 11, -40, 40, 41, -40, -40, 42, -40, -40, -40,
-40, -40, -40, -40, -40, -40, -40
},
{
- 11, 42, 42, 43, 42, 42, 42, 42, 42, 42,
- 42, 42, 42, 42, 42, 42, 42
+ 11, -41, -41, -41, -41, -41, -41, -41, -41, -41,
+ -41, -41, -41, -41, -41, -41, -41
},
{
- 11, 42, 42, 43, 42, 42, 42, 42, 42, 42,
- 42, 42, 42, 42, 42, 42, 42
+ 11, 43, 43, 44, 43, 43, 43, 43, 43, 43,
+ 43, 43, 43, 43, 43, 43, 43
},
{
- 11, -43, -43, -43, -43, -43, -43, -43, -43, -43,
- -43, -43, -43, -43, -43, -43, -43
+ 11, 43, 43, 44, 43, 43, 43, 43, 43, 43,
+ 43, 43, 43, 43, 43, 43, 43
},
{
11, -44, -44, -44, -44, -44, -44, -44, -44, -44,
- -44, -44, -44, 44, -44, -44, -44
+ -44, -44, -44, -44, -44, -44, -44
},
{
- 11, 45, 45, -45, 45, 45, 45, 45, 45, 45,
- 45, 45, 45, 45, 45, 45, 45
+ 11, -45, -45, -45, -45, -45, -45, -45, -45, -45,
+ -45, -45, -45, 45, -45, -45, -45
},
{
- 11, -46, 46, 47, -46, -46, -46, -46, -46, -46,
- -46, -46, -46, -46, -46, -46, -46
+ 11, 46, 46, -46, 46, 46, 46, 46, 46, 46,
+ 46, 46, 46, 46, 46, 46, 46
},
{
- 11, 48, -47, -47, 48, 48, 48, 48, 48, 48,
- 48, 48, 48, 48, 48, 48, 48
+ 11, -47, 47, 48, -47, -47, -47, -47, -47, -47,
+ -47, -47, -47, -47, -47, -47, -47
},
{
- 11, -48, -48, -48, -48, -48, -48, -48, -48, -48,
- -48, -48, -48, -48, -48, -48, -48
+ 11, 49, -48, -48, 49, 49, 49, 49, 49, 49,
+ 49, 49, 49, 49, 49, 49, 49
},
{
- 11, 49, 49, 50, 49, -49, 49, 49, -49, 49,
- 49, 49, 49, 49, 49, -49, 49
+ 11, -49, -49, -49, -49, -49, -49, -49, -49, -49,
+ -49, -49, -49, -49, -49, -49, -49
},
{
- 11, -50, -50, -50, -50, -50, -50, -50, -50, -50,
- -50, -50, -50, -50, -50, -50, -50
+ 11, 50, 50, 51, 50, -50, 50, 50, -50, 50,
+ 50, 50, 50, 50, 50, -50, 50
},
{
- 11, -51, -51, 52, -51, -51, -51, -51, -51, -51,
+ 11, -51, -51, -51, -51, -51, -51, -51, -51, -51,
-51, -51, -51, -51, -51, -51, -51
},
{
- 11, -52, -52, -52, -52, -52, -52, -52, -52, -52,
+ 11, -52, -52, 53, -52, -52, -52, -52, -52, -52,
-52, -52, -52, -52, -52, -52, -52
},
@@ -648,8 +648,8 @@ static yyconst flex_int16_t yy_nxt[][17]
},
{
- 11, 54, 54, -54, 54, 54, 54, 54, 54, 54,
- 54, 54, 54, 54, 54, 54, 54
+ 11, -54, 54, -54, -54, -54, -54, -54, -54, -54,
+ -54, -54, -54, -54, -54, -54, -54
},
@@ -659,29 +659,39 @@ static yyconst flex_int16_t yy_nxt[][17]
},
{
- 11, -56, -56, -56, -56, -56, -56, -56, -56, -56,
- -56, 60, 57, 57, -56, -56, -56
+ 11, 56, 56, -56, 56, 56, 56, 56, 56, 56,
+ 56, 56, 56, 56, 56, 56, 56
},
{
11, -57, -57, -57, -57, -57, -57, -57, -57, -57,
- -57, 57, 57, 57, -57, -57, -57
+ -57, -57, -57, -57, -57, -57, -57
},
{
11, -58, -58, -58, -58, -58, -58, -58, -58, -58,
- -58, -58, -58, -58, -58, -58, -58
+ -58, 62, 59, 59, -58, -58, -58
},
{
11, -59, -59, -59, -59, -59, -59, -59, -59, -59,
- -59, -59, -59, -59, -59, -59, -59
+ -59, 59, 59, 59, -59, -59, -59
},
{
11, -60, -60, -60, -60, -60, -60, -60, -60, -60,
- -60, 57, 57, 57, -60, -60, -60
+ -60, -60, -60, -60, -60, -60, -60
+ },
+
+ {
+ 11, -61, -61, -61, -61, -61, -61, -61, -61, -61,
+ -61, -61, -61, -61, -61, -61, -61
+ },
+
+ {
+ 11, -62, -62, -62, -62, -62, -62, -62, -62, -62,
+ -62, 59, 59, 59, -62, -62, -62
},
} ;
@@ -701,8 +711,8 @@ static void yy_fatal_error (yyconst char
*yy_cp = '\0'; \
(yy_c_buf_p) = yy_cp;
-#define YY_NUM_RULES 33
-#define YY_END_OF_BUFFER 34
+#define YY_NUM_RULES 34
+#define YY_END_OF_BUFFER 35
/* This struct is not used in this scanner,
but its presence is necessary. */
struct yy_trans_info
@@ -710,14 +720,15 @@ struct yy_trans_info
flex_int32_t yy_verify;
flex_int32_t yy_nxt;
};
-static yyconst flex_int16_t yy_accept[61] =
+static yyconst flex_int16_t yy_accept[63] =
{ 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 34, 5, 4, 2, 3, 7, 8, 6, 32, 29,
- 31, 24, 28, 27, 26, 22, 17, 13, 16, 20,
- 22, 11, 12, 19, 19, 14, 22, 22, 4, 2,
- 3, 3, 1, 6, 32, 29, 31, 30, 24, 23,
- 26, 25, 15, 20, 9, 19, 19, 21, 10, 18
+ 35, 5, 4, 2, 3, 7, 8, 6, 33, 30,
+ 32, 25, 29, 28, 27, 23, 22, 17, 13, 16,
+ 20, 23, 11, 12, 19, 19, 14, 23, 23, 4,
+ 2, 3, 3, 1, 6, 33, 30, 32, 31, 25,
+ 24, 27, 26, 22, 15, 20, 9, 19, 19, 21,
+ 10, 18
} ;
static yyconst flex_int32_t yy_ec[256] =
@@ -920,7 +931,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 do { if (fwrite( zconftext, zconfleng, 1, zconfout )) {} } while (0)
+#define ECHO fwrite( zconftext, zconfleng, 1, zconfout )
#endif
/* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
@@ -1183,14 +1194,21 @@ case 22:
YY_RULE_SETUP
YY_BREAK
+case 23:
+YY_RULE_SETUP
+{
+ printf("%s:%d:warning: ignoring unsupported character '%c'\n",
+ zconf_curname(), zconf_lineno(), *zconftext);
+ }
+ YY_BREAK
case YY_STATE_EOF(PARAM):
{
BEGIN(INITIAL);
}
YY_BREAK
-case 23:
-/* rule 23 can match eol */
+case 24:
+/* rule 24 can match eol */
*yy_cp = (yy_hold_char); /* undo effects of setting up zconftext */
(yy_c_buf_p) = yy_cp -= 1;
YY_DO_BEFORE_ACTION; /* set up zconftext again */
@@ -1201,14 +1219,14 @@ YY_RULE_SETUP
return T_WORD_QUOTE;
}
YY_BREAK
-case 24:
+case 25:
YY_RULE_SETUP
{
append_string(zconftext, zconfleng);
}
YY_BREAK
-case 25:
-/* rule 25 can match eol */
+case 26:
+/* rule 26 can match eol */
*yy_cp = (yy_hold_char); /* undo effects of setting up zconftext */
(yy_c_buf_p) = yy_cp -= 1;
YY_DO_BEFORE_ACTION; /* set up zconftext again */
@@ -1219,13 +1237,13 @@ YY_RULE_SETUP
return T_WORD_QUOTE;
}
YY_BREAK
-case 26:
+case 27:
YY_RULE_SETUP
{
append_string(zconftext + 1, zconfleng - 1);
}
YY_BREAK
-case 27:
+case 28:
YY_RULE_SETUP
{
if (str == zconftext[0]) {
@@ -1236,8 +1254,8 @@ YY_RULE_SETUP
append_string(zconftext, 1);
}
YY_BREAK
-case 28:
-/* rule 28 can match eol */
+case 29:
+/* rule 29 can match eol */
YY_RULE_SETUP
{
printf("%s:%d:warning: multi-line strings not supported\n", zconf_curname(), zconf_lineno());
@@ -1252,7 +1270,7 @@ case YY_STATE_EOF(STRING):
}
YY_BREAK
-case 29:
+case 30:
YY_RULE_SETUP
{
ts = 0;
@@ -1277,8 +1295,8 @@ YY_RULE_SETUP
}
}
YY_BREAK
-case 30:
-/* rule 30 can match eol */
+case 31:
+/* rule 31 can match eol */
*yy_cp = (yy_hold_char); /* undo effects of setting up zconftext */
(yy_c_buf_p) = yy_cp -= 1;
YY_DO_BEFORE_ACTION; /* set up zconftext again */
@@ -1289,15 +1307,15 @@ YY_RULE_SETUP
return T_HELPTEXT;
}
YY_BREAK
-case 31:
-/* rule 31 can match eol */
+case 32:
+/* rule 32 can match eol */
YY_RULE_SETUP
{
current_file->lineno++;
append_string("\n", 1);
}
YY_BREAK
-case 32:
+case 33:
YY_RULE_SETUP
{
while (zconfleng) {
@@ -1328,7 +1346,7 @@ case YY_STATE_EOF(COMMAND):
yyterminate();
}
YY_BREAK
-case 33:
+case 34:
YY_RULE_SETUP
YY_FATAL_ERROR( "flex scanner jammed" );
YY_BREAK
^ permalink raw reply [flat|nested] 8+ messages in thread* Re: [PATCH 1/2] kconfig: don't silently ignore unhandled characters
2014-11-04 9:05 [PATCH 1/2] kconfig: don't silently ignore unhandled characters Jan Beulich
@ 2014-11-04 14:06 ` Paul Bolle
2014-11-04 14:14 ` Jan Beulich
0 siblings, 1 reply; 8+ messages in thread
From: Paul Bolle @ 2014-11-04 14:06 UTC (permalink / raw)
To: Jan Beulich; +Cc: linux-kbuild, yann.morin.1998
On Tue, 2014-11-04 at 09:05 +0000, Jan Beulich wrote:
> At the very least we should tell people that waht they wrote is not
> what the utility understands.
Yes, we should change this. I'm inclined to think the should die with an
error on invalid syntax. Would that be too strict?
Anyhow, seems to work as advertised:
$ make ARCH=arm menuconfig
[...]
sound/soc/intel/Kconfig:40:warning: ignoring unsupported character '\'
sound/soc/intel/Kconfig:70:warning: ignoring unsupported character '\'
arch/arm/Kconfig.debug:1268:warning: ignoring unsupported character '>'
The soc/intel warnings are for doubled line continuations! You've earned
a Reported-by:, I guess.
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> ---
> scripts/kconfig/zconf.l | 6 -
> scripts/kconfig/zconf.lex.c_shipped | 194 +++++++++++++++++++-----------------
> 2 files changed, 111 insertions(+), 89 deletions(-)
>
> --- 3.18-rc3-kconfig.orig/scripts/kconfig/zconf.l
> +++ 3.18-rc3-kconfig/scripts/kconfig/zconf.l
> @@ -141,7 +141,11 @@ n [A-Za-z0-9_]
> }
> #.* /* comment */
> \\\n current_file->lineno++;
> - .
> + [[:blank:]]+
> + . {
> + printf("%s:%d:warning: ignoring unsupported character '%c'\n",
fprintf(stderr, [...]?
> + zconf_curname(), zconf_lineno(), *yytext);
> + }
> <<EOF>> {
> BEGIN(INITIAL);
> }
> --- 3.18-rc3-kconfig.orig/scripts/kconfig/zconf.lex.c_shipped
> +++ 3.18-rc3-kconfig/scripts/kconfig/zconf.lex.c_shipped
> @@ -414,14 +414,14 @@ static yyconst flex_int16_t yy_nxt[][17]
> },
>
> {
> - 11, 26, 26, 27, 28, 29, 30, 31, 29, 32,
> - 33, 34, 35, 35, 36, 37, 38
> + 11, 26, 27, 28, 29, 30, 31, 32, 30, 33,
> + 34, 35, 36, 36, 37, 38, 39
>
> },
>
> {
> - 11, 26, 26, 27, 28, 29, 30, 31, 29, 32,
> - 33, 34, 35, 35, 36, 37, 38
> + 11, 26, 27, 28, 29, 30, 31, 32, 30, 33,
> + 34, 35, 36, 36, 37, 38, 39
> },
>
> {
I guess we must trust that you manually edited this _shipped file
correctly.
>[...]
> @@ -920,7 +931,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 do { if (fwrite( zconftext, zconfleng, 1, zconfout )) {} } while (0)
> +#define ECHO fwrite( zconftext, zconfleng, 1, zconfout )
> #endif
>
> /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
But this hunk looks unrelated. Is this needed?
Paul Bolle
^ permalink raw reply [flat|nested] 8+ messages in thread* Re: [PATCH 1/2] kconfig: don't silently ignore unhandled characters
2014-11-04 14:06 ` Paul Bolle
@ 2014-11-04 14:14 ` Jan Beulich
2014-11-05 10:36 ` Paul Bolle
2014-12-09 10:16 ` Paul Bolle
0 siblings, 2 replies; 8+ messages in thread
From: Jan Beulich @ 2014-11-04 14:14 UTC (permalink / raw)
To: Paul Bolle; +Cc: yann.morin.1998, linux-kbuild
>>> On 04.11.14 at 15:06, <pebolle@tiscali.nl> wrote:
> On Tue, 2014-11-04 at 09:05 +0000, Jan Beulich wrote:
>> At the very least we should tell people that waht they wrote is not
>> what the utility understands.
>
> Yes, we should change this. I'm inclined to think the should die with an
> error on invalid syntax. Would that be too strict?
I would think so. This could be made more strict once the warning
was in place for a couple of releases.
>> --- 3.18-rc3-kconfig.orig/scripts/kconfig/zconf.lex.c_shipped
>> +++ 3.18-rc3-kconfig/scripts/kconfig/zconf.lex.c_shipped
>> @@ -414,14 +414,14 @@ static yyconst flex_int16_t yy_nxt[][17]
>> },
>>
>> {
>> - 11, 26, 26, 27, 28, 29, 30, 31, 29, 32,
>> - 33, 34, 35, 35, 36, 37, 38
>> + 11, 26, 27, 28, 29, 30, 31, 32, 30, 33,
>> + 34, 35, 36, 36, 37, 38, 39
>>
>> },
>>
>> {
>> - 11, 26, 26, 27, 28, 29, 30, 31, 29, 32,
>> - 33, 34, 35, 35, 36, 37, 38
>> + 11, 26, 27, 28, 29, 30, 31, 32, 30, 33,
>> + 34, 35, 36, 36, 37, 38, 39
>> },
>>
>> {
>
> I guess we must trust that you manually edited this _shipped file
> correctly.
There was no manual editing involved - this is the re-generated
version.
>> @@ -920,7 +931,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 do { if (fwrite( zconftext, zconfleng, 1, zconfout )) {} } while (0)
>> +#define ECHO fwrite( zconftext, zconfleng, 1, zconfout )
>> #endif
>>
>> /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
>
> But this hunk looks unrelated. Is this needed?
I think it should stay, even if my flex version may be slightly different
from the one that was used originally. As above - it's simply a result
of re-generating.
Jan
^ permalink raw reply [flat|nested] 8+ messages in thread* Re: [PATCH 1/2] kconfig: don't silently ignore unhandled characters
2014-11-04 14:14 ` Jan Beulich
@ 2014-11-05 10:36 ` Paul Bolle
2014-11-06 10:19 ` Jan Beulich
2014-12-09 10:16 ` Paul Bolle
1 sibling, 1 reply; 8+ messages in thread
From: Paul Bolle @ 2014-11-05 10:36 UTC (permalink / raw)
To: Jan Beulich; +Cc: yann.morin.1998, linux-kbuild
On Tue, 2014-11-04 at 14:14 +0000, Jan Beulich wrote:
> >>> On 04.11.14 at 15:06, <pebolle@tiscali.nl> wrote:
> > On Tue, 2014-11-04 at 09:05 +0000, Jan Beulich wrote:
> >> @@ -920,7 +931,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 do { if (fwrite( zconftext, zconfleng, 1, zconfout )) {} } while (0)
> >> +#define ECHO fwrite( zconftext, zconfleng, 1, zconfout )
> >> #endif
> >>
> >> /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
> >
> > But this hunk looks unrelated. Is this needed?
>
> I think it should stay, even if my flex version may be slightly different
> from the one that was used originally. As above - it's simply a result
> of re-generating.
(This annoyed me enough to dive a bit deeper. This message is mainly to
archive my notes publicly.)
This #define was added in v3.1. See commit 2f76b358f9fb ("kconfig: regen
parser"). Commit explanations were probably a bit expensive then since
this is all the info we have: we don't know why this was done, nor how
(which program, which options, etc.).
Anyhow, I don't think ECHO is used anywhere. grepping for ECHO in
scripts/ finds dtc-lexer.lex.c_shipped, lex.lex.c_shipped, and this
file. In the other two _shipped files ECHO is actually used. So,
apparently it's not a bit of lex magic. The #define might as well be
removed.
I personally wouldn't bother to add this hunk, but who cares.
Paul Bolle
^ permalink raw reply [flat|nested] 8+ messages in thread* Re: [PATCH 1/2] kconfig: don't silently ignore unhandled characters
2014-11-05 10:36 ` Paul Bolle
@ 2014-11-06 10:19 ` Jan Beulich
2014-11-06 10:28 ` Paul Bolle
0 siblings, 1 reply; 8+ messages in thread
From: Jan Beulich @ 2014-11-06 10:19 UTC (permalink / raw)
To: Paul Bolle; +Cc: yann.morin.1998, linux-kbuild
>>> On 05.11.14 at 11:36, <pebolle@tiscali.nl> wrote:
> On Tue, 2014-11-04 at 14:14 +0000, Jan Beulich wrote:
>> I think it should stay, even if my flex version may be slightly different
>> from the one that was used originally. As above - it's simply a result
>> of re-generating.
>
> (This annoyed me enough to dive a bit deeper. This message is mainly to
> archive my notes publicly.)
>
> This #define was added in v3.1. See commit 2f76b358f9fb ("kconfig: regen
> parser"). Commit explanations were probably a bit expensive then since
> this is all the info we have: we don't know why this was done, nor how
> (which program, which options, etc.).
>
> Anyhow, I don't think ECHO is used anywhere. grepping for ECHO in
> scripts/ finds dtc-lexer.lex.c_shipped, lex.lex.c_shipped, and this
> file. In the other two _shipped files ECHO is actually used. So,
> apparently it's not a bit of lex magic. The #define might as well be
> removed.
Again - this is code that gets generated by flex, and hence
dropping it (entirely, or the hunk that changes it) will make the
discussion re-appear the next time someone re-generates the
file.
Jan
^ permalink raw reply [flat|nested] 8+ messages in thread* Re: [PATCH 1/2] kconfig: don't silently ignore unhandled characters
2014-11-06 10:19 ` Jan Beulich
@ 2014-11-06 10:28 ` Paul Bolle
0 siblings, 0 replies; 8+ messages in thread
From: Paul Bolle @ 2014-11-06 10:28 UTC (permalink / raw)
To: Jan Beulich; +Cc: yann.morin.1998, linux-kbuild
On Thu, 2014-11-06 at 10:19 +0000, Jan Beulich wrote:
> Again - this is code that gets generated by flex, and hence
> dropping it (entirely, or the hunk that changes it) will make the
> discussion re-appear the next time someone re-generates the
> file.
My public note ended with:
> I personally wouldn't bother to add this hunk, but who cares.
I guess it wasn't clear that this meant that I think that the
discussion, which I started of course, is basically moot.
Paul Bolle
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH 1/2] kconfig: don't silently ignore unhandled characters
2014-11-04 14:14 ` Jan Beulich
2014-11-05 10:36 ` Paul Bolle
@ 2014-12-09 10:16 ` Paul Bolle
2014-12-19 16:31 ` Jan Beulich
1 sibling, 1 reply; 8+ messages in thread
From: Paul Bolle @ 2014-12-09 10:16 UTC (permalink / raw)
To: Jan Beulich; +Cc: yann.morin.1998, linux-kbuild
Hi Jan,
On Tue, 2014-11-04 at 14:14 +0000, Jan Beulich wrote:
> >>> On 04.11.14 at 15:06, <pebolle@tiscali.nl> wrote:
> > On Tue, 2014-11-04 at 09:05 +0000, Jan Beulich wrote:
> >> At the very least we should tell people that waht they wrote is not
> >> what the utility understands.
> >
> > Yes, we should change this. I'm inclined to think the should die with an
> > error on invalid syntax. Would that be too strict?
>
> I would think so. This could be made more strict once the warning
> was in place for a couple of releases.
>
> >> --- 3.18-rc3-kconfig.orig/scripts/kconfig/zconf.lex.c_shipped
> >> +++ 3.18-rc3-kconfig/scripts/kconfig/zconf.lex.c_shipped
> >> @@ -414,14 +414,14 @@ static yyconst flex_int16_t yy_nxt[][17]
> >> },
> >>
> >> {
> >> - 11, 26, 26, 27, 28, 29, 30, 31, 29, 32,
> >> - 33, 34, 35, 35, 36, 37, 38
> >> + 11, 26, 27, 28, 29, 30, 31, 32, 30, 33,
> >> + 34, 35, 36, 36, 37, 38, 39
> >>
> >> },
> >>
> >> {
> >> - 11, 26, 26, 27, 28, 29, 30, 31, 29, 32,
> >> - 33, 34, 35, 35, 36, 37, 38
> >> + 11, 26, 27, 28, 29, 30, 31, 32, 30, 33,
> >> + 34, 35, 36, 36, 37, 38, 39
> >> },
> >>
> >> {
> >
> > I guess we must trust that you manually edited this _shipped file
> > correctly.
>
> There was no manual editing involved - this is the re-generated
> version.
>
> >> @@ -920,7 +931,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 do { if (fwrite( zconftext, zconfleng, 1, zconfout )) {} } while (0)
> >> +#define ECHO fwrite( zconftext, zconfleng, 1, zconfout )
> >> #endif
> >>
> >> /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
> >
> > But this hunk looks unrelated. Is this needed?
>
> I think it should stay, even if my flex version may be slightly different
> from the one that was used originally. As above - it's simply a result
> of re-generating.
It's been five weeks since you've sent this. I'm not aware of any other
comments beside mine. Here's what I'd suggest to get things moving:
Resend these patches. Don't bother sending to Yann, that's pointless. Do
include lkml. Perhaps also include Michal Marek and/or Andrew Morton:
one of them might handle these patches. Who knows...
For 1/2 feel free to add
Acked-by: Paul Bolle <pebolle@tiscali.nl>
_provided_ you change the printf([...]) to a fprintf(stderr, [...]). It
would be nice if you'd added a note about the flex version and the
command line used to regenerate the _shipped file, maybe even in the
commit explanation.
Note that I tested patch 1/2 on top of next-20141208 for all current
defconfigs (see https://lkml.org/lkml/2014/12/8/587 how I did that).
No .config was changed, which was what I expected.
For 2/2 don't forget to remove those development printf()s. I haven't
yet looked at that patch closely or even tested it. Perhaps I'll
actually manage to do that after you resend it.
Paul Bolle
^ permalink raw reply [flat|nested] 8+ messages in thread* Re: [PATCH 1/2] kconfig: don't silently ignore unhandled characters
2014-12-09 10:16 ` Paul Bolle
@ 2014-12-19 16:31 ` Jan Beulich
0 siblings, 0 replies; 8+ messages in thread
From: Jan Beulich @ 2014-12-19 16:31 UTC (permalink / raw)
To: Paul Bolle; +Cc: yann.morin.1998, linux-kbuild
Hi Paul,
>>> On 09.12.14 at 11:16, <pebolle@tiscali.nl> wrote:
> It's been five weeks since you've sent this. I'm not aware of any other
> comments beside mine. Here's what I'd suggest to get things moving:
>
> Resend these patches.
I guess I'll do this as soon as I got to merge my patch queue onto
3.19-rc, i.e. hopefully early next year.
> Don't bother sending to Yann, that's pointless. Do
> include lkml. Perhaps also include Michal Marek and/or Andrew Morton:
> one of them might handle these patches. Who knows...
>
> For 1/2 feel free to add
> Acked-by: Paul Bolle <pebolle@tiscali.nl>
>
> _provided_ you change the printf([...]) to a fprintf(stderr, [...]).
While I can do that, this will end up being inconsistent with all other
code in zconf.l - it's all using printf(). I therefore think this would
better be another patch changing all of them info fprintf(stderr, ).
Jan
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2014-12-19 16:31 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-11-04 9:05 [PATCH 1/2] kconfig: don't silently ignore unhandled characters Jan Beulich
2014-11-04 14:06 ` Paul Bolle
2014-11-04 14:14 ` Jan Beulich
2014-11-05 10:36 ` Paul Bolle
2014-11-06 10:19 ` Jan Beulich
2014-11-06 10:28 ` Paul Bolle
2014-12-09 10:16 ` Paul Bolle
2014-12-19 16:31 ` Jan Beulich
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox