[coreboot] [PATCH] fix stage0_i586.S in v3

Carl-Daniel Hailfinger c-d.hailfinger.devel.2006 at gmx.net
Fri Apr 4 16:27:37 CEST 2008


On 04.04.2008 15:08, Stefan Reinauer wrote:
> Carl-Daniel Hailfinger wrote:
>> On 04.04.2008 04:40, Stefan Reinauer wrote:
>>  
>>> The idea to this patch is from Patrick Georgi but I reimplemented it
>>> from scratch since I can't reach the other box for a few days. It
>>> fixes stage0_i586.S assembling on the latest official GNU binutils
>>> version. Without this patch the compilation fails with:
>>>
>>>  AS      build/arch/x86/stage0_i586.o
>>> /Users/stepan/Devel/coreboot-v3/arch/x86/stage0_i586.S: Assembler
>>> messages:
>>> /Users/stepan/Devel/coreboot-v3/arch/x86/stage0_i586.S:345: Error:
>>> missing ')'
> [..]
>> Sorry, that patch only papers over the bug. If we ever decide to use CAR
>> at another location, this will break again and we'll have to duplicate
>> some of the code you touched in the patch. I'd prefer to know why a
>> division fails, but a subtractoin succeeds.
>>   
> Why is that code more position dependent than the previous,
> non-compiling code?

You hardcode the segment size to 4k. If we place the CAR area somewhere
else, we have to deal with 16k and even 64k segments. The current code
uses abstract segments as a unit and that abstraction is removed by the
patch.


> While I think, requiring the latest version of binutils (or, any other
> toolchain part, for that matter) is fair, we should not require
> features that do not work in the latest "stable" version but require a
> snapshot release to be installed.

It works in older versions. The version you used is buggy. There is no
reason not to blacklist that broken version unless someone can prove
that the new behaviour is correct according to any spec.

Regards,
Carl-Daniel




More information about the coreboot mailing list