[coreboot] rommcc bugs

Myles Watson mylesgw at gmail.com
Wed Jun 16 23:55:40 CEST 2010


Sorry Rudolf, I forgot to copy the list.

It looks like romcc doesn't support unsigned char there.  I did this:

- outb(datxa, eth_nic_base + NE_ASIC_OFFSET + NE_DATA);
+ outb((char)datxa, eth_nic_base + NE_ASIC_OFFSET + NE_DATA);

And it compiles again.

Here's the code from romcc.c:

static struct triple *int_const(
	struct compile_state *state, struct type *type, ulong_t value)
{
	struct triple *result;
	switch(type->type & TYPE_MASK) {
	case TYPE_CHAR:
	case TYPE_INT:   case TYPE_UINT:
	case TYPE_LONG:  case TYPE_ULONG:
		break;
	default:
		internal_error(state, 0, "constant for unknown type");
	}
	result = triple(state, OP_INTCONST, type, 0, 0);
	result->u.cval = value;
	return result;
}

Thanks,
Myles




More information about the coreboot mailing list