grub-devel
[Top][All Lists]
Advanced

[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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]