From: Andrew Morton <akpm@linux-foundation.org>
To: Amerigo Wang <xiyou.wangcong@gmail.com>
Cc: Tetsuo Handa <penguin-kernel@i-love.sakura.ne.jp>,
linux-kernel@vger.kernel.org
Subject: Re: [2.6.30-rc8] gcc 3.3 : __udivdi3 undefined.
Date: Thu, 4 Jun 2009 20:17:33 -0700 [thread overview]
Message-ID: <20090604201733.746928c6.akpm@linux-foundation.org> (raw)
In-Reply-To: <20090605023835.GA7933@cr0.nay.redhat.com>
On Fri, 5 Jun 2009 10:38:35 +0800 Amerigo Wang <xiyou.wangcong@gmail.com> wrote:
> On Fri, Jun 05, 2009 at 09:38:04AM +0900, Tetsuo Handa wrote:
> >[2.6.30-rc8] gcc 3.3 : __udivdi3 undefined.
> >
> >"make allmodconfig" + "CONFIG_KVM=n" on 2.6.30-rc8 triggers build failure
> >when built with gcc 3.3.5 .
> >
> ># make -s
> >/usr/src/all/vanilla/src/linux-2.6.30-rc8/arch/x86/Makefile:82: stack protector enabled but no compiler support
> >WARNING: modpost: Found 2 section mismatch(es).
> >To see full details build your kernel with:
> >'make CONFIG_DEBUG_SECTION_MISMATCH=y'
> >arch/x86/mm/built-in.o(.init.text+0x43f7): In function `__change_page_attr':
> >arch/x86/mm/pageattr.c:114: undefined reference to `__udivdi3'
> >make: *** [.tmp_vmlinux1] Error 1
> >
>
> Probably you are compiling on i386?
>
> Weird...
>
> All the types in __change_page_attr() are either 'long' or 'int', how
> can gcc generate software divide for these integer operations?
It could be in some function which was manually or automatically
inlined into __change_page_attr(). Or it could be that ld simply
screwed up in identifying the function - it tends to do that.
Do
make arch/x86/mm/pageattr.s
then have a look in pageattr.s to find the __udivdi3 callsite.
It might not even be in arch/x86/mm/pageattr.o at all. If not, keep
building .s files in that directory until you find it.
Building with CONFIG_DEBUG_INFO=1 will allow you to find the exact C
file-n-line where the __udivdi3() call is being emmitted (look at the
.loc lines).
next prev parent reply other threads:[~2009-06-05 3:17 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-06-05 0:38 [2.6.30-rc8] gcc 3.3 : __udivdi3 undefined Tetsuo Handa
2009-06-05 2:38 ` Amerigo Wang
2009-06-05 3:17 ` Andrew Morton [this message]
2009-06-05 3:39 ` Tetsuo Handa
2009-06-05 3:51 ` Andrew Morton
2009-06-05 4:00 ` Tetsuo Handa
2009-06-05 4:20 ` Andrew Morton
2009-06-05 6:26 ` Amerigo Wang
2009-06-05 6:51 ` Tetsuo Handa
2009-06-05 7:03 ` Andrew Morton
2009-06-05 9:37 ` Andreas Herrmann
2009-06-05 12:58 ` Tetsuo Handa
2009-06-05 17:24 ` Andrew Morton
2009-06-08 17:09 ` [PATCH] x86: memtest: remove 64-bit division Andreas Herrmann
2009-06-08 20:36 ` [tip:x86/urgent] " tip-bot for Andreas Herrmann
2009-06-05 3:24 ` [2.6.30-rc8] gcc 3.3 : __udivdi3 undefined Tetsuo Handa
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20090604201733.746928c6.akpm@linux-foundation.org \
--to=akpm@linux-foundation.org \
--cc=linux-kernel@vger.kernel.org \
--cc=penguin-kernel@i-love.sakura.ne.jp \
--cc=xiyou.wangcong@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox