This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
RE: vmlinux parse error 2.6.12.5
- From: "Dave Korn" <dave dot korn at artimi dot com>
- To: "'Alan Modra'" <amodra at bigpond dot net dot au>,<binutils at sourceware dot org>
- Cc: <linux-arm-kernel at lists dot arm dot linux dot org dot uk>
- Date: Fri, 26 Aug 2005 19:38:47 +0100
- Subject: RE: vmlinux parse error 2.6.12.5
----Original Message----
>From: Alan Modra
>Sent: 26 August 2005 01:37
> No, ASSERT is evaluated at various stages of the link process. Which is
> probably not the right thing to do, as it means multiple messages can be
> emitted. We also don't fail the assertion if the expression can't be
> evaluated for some reason. I think that ought to be fixed too.
Hmm.
ASSERTs are stored as lang_statement_union_type objects, with the type
equal to lang_assignment_statement_enum; IOW, they are stored as a kind of
bogus assignment statement.
This means that they are evaluated (during final phase) by
lang_do_assignments_1, in the same loop that actually performs the work of
assigning values to all symbols.
Doesn't this mean that lang_do_assignments_1 could perhaps be processing
an ASSERT _before_ it processes the real assignment statement that gives
that symbol its correct value? Given the correct ordering of statements?
cheers,
DaveK
--
Can't think of a witty .sigline today....