Kamalesh Babulal wrote: > Andrew Morton wrote: >> On Mon, 07 Jan 2008 16:06:20 +0530 Kamalesh Babulal <[EMAIL PROTECTED]> >> 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. >> > > removing the line fixes the issue, but changing the sizeof(*dmi_dev) to > sizeof(struct device) is not helping. >
Hi, Andrew, We tried the following, generated stabs information. The size of struct device is 560 bytes. We found that dead code was not being eliminated (__you_cannot_kmalloc_that_much), even though no one called that function. I suspect builtin_constant_p() and dead code elimination as the root causes of this error. -- Warm Regards, Balbir Singh Linux Technology Center IBM, ISTL -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/