On 3/25/10 5:45 PM, Myles Watson wrote: > The reason I object to the void* method was that it just masked the > problem so that gcc couldn't spot it. Casting to void* and back to a > struct seems equivalent to just having it declared two different ways. I don't think it's masking the problem. It should be sufficient to let gcc know that it can't assume anything from the pointer since it comes from a void *. Also, it's not casting it back to a struct, because it never was a struct. So, while it might not be beautiful, I think it's at least not wrong.
> > Which makes me think if there are not other ways to determine the size > > of an array. Maybe sizeof(AmlCode) ? > I tried that. It doesn't work because it's an incomplete type. It would not if we included the file ----- 8< ------ dsdt_wrapper.c -------- 8< ---------- #include "dsdt.c" int AmlCodeSize = sizeof(AmlCode); ----- 8< ------ dsdt_wrapper.c -------- 8< ---------- and use that. A (maybe too obvious) variant would be to create a binary dsdt instead of a C file and pack that into CBFS. It would reduce coreboot size and allow to copy/decompress it right to cbmem Stefan
-- coreboot mailing list: coreboot@coreboot.org http://www.coreboot.org/mailman/listinfo/coreboot