This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

RE: vmlinux parse error 2.6.12.5


----Original Message----
>From: Jared Hulbert
>Sent: 26 August 2005 17:19

>>   How long _has_ the ASSERT been present?  It wasn't in 2.6.7.  As far

> It is in 2.6.12 but not 2.6.11.12 the file to look at is
> arch/arm/kernel/vmlinux.lds.S

  Thank you; that means that the assert has only been there for a couple of
months and it's entirely possible that the problem is real and I'm just one
of the first to be tripped up by it, rather than that it's been working fine
for everyone for ages ....

> Warning!  Possibly really dumb statements and questions follow.

  There's no such thing as a dumb question!  The only dumb thing is thinking
you already know instead of asking or otherwise finding out!

> Proceed with caution:
> 
> I don't understand this.  The ld script starts as a .S file which is
> run through gcc to preprocess it into vmlinux.lds.  Shouldn't the
> ASSERT's be triggered there and not when ld goes to work with the
> .lds?  

  Nope, because a) 'ASSERT' is not the same thing as the C language
'assert'.  Also, b) the script file is only being preprocessed (using gcc's
-E flag), not compiled.  Also, c) assert is a run-time check, not a
compile-time check.

> Is it possible this a gcc version problem rather than a bintool
> problem?

  So for those three reasons, no; ASSERT is just a text string that means
nothing to the preprocessor and is passed through unaltered to the output
file, where it eventually ends up being fed to ld, which does interpret it
and perform the test.


    cheers,
      DaveK
-- 
Can't think of a witty .sigline today....


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]