Rusty Russell wrote: > @@ -301,7 +302,7 @@ static struct pci_raw_ops pci_bios_acces > > static struct pci_raw_ops * __devinit pci_find_bios(void) > { > - union bios32 *check; > + union bios32 *check, sig; This "sig" definition has no references, and is shadowed by the definition below. > @@ -314,6 +315,10 @@ static struct pci_raw_ops * __devinit pc > for (check = (union bios32 *) __va(0xe0000); > check <= (union bios32 *) __va(0xffff0); > ++check) { > + long sig; > + if (__get_user(sig, &check->fields.signature)) But, no complaint from gcc. Trying to elicit a complaint by configuring CC_OPTIMIZE_FOR_SIZE='n' breaks the build with: include/asm/desc.h: In function 'set_ldt': include/asm/desc.h:92: error: implicit declaration of function 'write_gdt_entry' See reply to "[PATCH 3/4]" for a fix. DM