[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <478341E9.9000703@linux.vnet.ibm.com>
Date: Tue, 08 Jan 2008 14:57:05 +0530
From: Balbir Singh <balbir@...ux.vnet.ibm.com>
To: Kamalesh Babulal <kamalesh@...ux.vnet.ibm.com>
CC: Andrew Morton <akpm@...ux-foundation.org>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
bunk@...nel.org, clameter@....com,
Andy Whitcroft <apw@...dowen.org>
Subject: Re: Linux 2.6.24-rc7 Build-Failure at __you_cannot_kmalloc_that_much
Kamalesh Babulal wrote:
> Andrew Morton wrote:
>> On Mon, 07 Jan 2008 16:06:20 +0530 Kamalesh Babulal <kamalesh@...ux.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.
>>
>
> 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 majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists