[coreboot] rommcc bugs
Eric W. Biederman
ebiederm at xmission.com
Wed Jun 16 00:59:19 CEST 2010
Myles Watson <mylesgw at gmail.com> writes:
> On Tue, Jun 15, 2010 at 4:27 PM, Rudolf Marek <r.marek at assembler.cz> wrote:
>> Hi all,
>>
>> While working on netconsole for ROMCC I noticed following:
>>
>> int main(void)
>> {
>> /* volatile */
>> union {
>> unsigned char byte[2];
>> unsigned short word;
>> } value;
>>
>> value.byte[1] = 1;
>> }
>>
>> ./build/util/romcc/romcc -mcpu=p2 a.c
>>
>> a.c:9.18:
>> 0x86bb968 tuple Internal compiler error: tuple used
> This case looks familiar.
>
>>From this message:
> http://www.mail-archive.com/coreboot@coreboot.org/msg22555.html
>
>> Looking at the rest fragment that has been passed around I think the
>> actual bug is that romcc allows non-static non-const arrays to be
>> declared. I can not find any indication that I ever added support for
>> this when I wrote romcc.
That would be it.
Unions where you write a value in as one type, and read it out as
another type also will not work with romcc.
It does looks like I need a better error check at the declaration of
variables, I missed dealing with an array inside a union ick.
Eric
More information about the coreboot
mailing list