-extern unsigned char AmlCode[];
+extern void* AmlCode;


So AmlCode is used as a void * pointing to the address 0x54445344

which is definitely not what you want...

You're right.  And that's definitely not what I expected to happen.  It seems like there ought to be a correct way to do this.  I'll keep looking.
What is it, you want to do?
Get rid of the type punned warning that gcc gives for that code where AmlCode gets cast to acpi_header_t.

Thanks,
Myles