All of lore.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.