> On Mon, 07 Jan 2008 16:06:20 +0530 Kamalesh Babulal <kamalesh@linux.vnet.ibm.com> wrote:
>
>> The defconfig make fails on x86_64 (AMD box) with following error
>>
>> CHK include/linux/utsrelease.h
>> CALL scripts/checksyscalls.sh
>> CHK include/linux/compile.h
>> GEN .version
>> CHK include/linux/compile.h
>> UPD include/linux/compile.h
>> CC init/version.o
>> LD init/built-in.o
>> LD .tmp_vmlinux1
>> drivers/built-in.o(.init.text+0x8d76): In function `dmi_id_init':
>> : undefined reference to `__you_cannot_kmalloc_that_much'
>> make: *** [.tmp_vmlinux1] Error 1
>>
>>
>> # gcc --version
>> gcc (GCC) 3.2.3 20030502 (Red Hat Linux 3.2.3-59)
>>
>> This was reported by Adrian Bunk
http://lkml.org/lkml/2007/12/1/39
>
> That's odd. afacit the only kmalloc in dmi_id_init() is
>
> dmi_dev = kzalloc(sizeof(*dmi_dev), GFP_KERNEL);
>
> and even gcc-3.2.3 should be able to get that right.
>
> Could you please a) verify that simply removing that line fixes the build
> error and then b) try to find some way of fixing it?
>
> Try replacing `sizeof(*dmi_dev)' with `sizeof(struct dmi_device_attribute)'
> and any other tricks you can think of to try to make the compiler process
> the code differently.
>