public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
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).


  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