[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: GRUB 2.00 build and flex-2.5.37
From: |
Colin Watson |
Subject: |
Re: GRUB 2.00 build and flex-2.5.37 |
Date: |
Wed, 2 Jan 2013 10:22:53 +0000 |
User-agent: |
Mutt/1.5.21 (2010-09-15) |
On Sun, Aug 05, 2012 at 05:20:46PM -0500, Bruce Dubbs wrote:
> The latest flex makes the GRUB-2.00 build fail. I can work around
> the issues with --disable-werror, but grub-core/script/yylex.l
> causes two warnings that do not work with -Werror.
>
> ./grub-core/script/yylex.l: At top level:
> grub_script.yy.c:2351:13: error: 'yy_fatal_error' defined but not used
>
> This can be fixed by removing #define YY_FATAL_ERROR(msg) in yylex.l.
That would be incorrect; the default implementation of yy_fatal_error
uses fprintf, which is not valid in parts of GRUB that need to run
freestanding. More correct would probably be to insert an artificial
reference to yy_fatal_error, since flex offers no way to suppress its
definition.
> grub_script.yy.c: In function 'yy_scan_bytes':
> grub_script.yy.c:2296:17: error: comparison between signed and
> unsigned integer expressions [-Werror=sign-compare]
>
> This one is a little more difficult because it is generated by flex.
> I don't know how to fix this except with a sed after
> grub_script.yy.c is generated by flex.
I tried to reproduce this and the other warning with flex 2.5.37 and GCC
4.7.2 and couldn't, so I'm reluctant to make a change that I can't test.
Can you still reproduce this? If so, could you attach your generated
grub_script.yy.c?
--
Colin Watson address@hidden
- Re: GRUB 2.00 build and flex-2.5.37,
Colin Watson <=