Messages in this thread | | | Date | Mon, 7 Jan 2008 10:07:33 -0800 | From | Andrew Morton <> | Subject | Re: Linux 2.6.24-rc7 Build-Failure at __you_cannot_kmalloc_that_much |
| |
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.
| |