lkml.org 
[lkml]   [2009]   [Jun]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [2.6.30-rc8] gcc 3.3 : __udivdi3 undefined.
On Fri, 05 Jun 2009 12:39:06 +0900 Tetsuo Handa <penguin-kernel@i-love.sakura.ne.jp> wrote:

> Andrew Morton wrote:
> > 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).
>
> $ make -k CONFIG_DEBUG_INFO=1 `echo arch/x86/mm/*.c | sed -e 's/\.c/.s/g'`
> (...snipped...)
> $ grep __udivdi3 arch/x86/mm/*.s
> arch/x86/mm/memtest.s:.globl __udivdi3
> arch/x86/mm/memtest.s: call __udivdi3

Well, that tells us the .c file, but not the location within it.
Please check the .loc info as I suggested.

Perhaps it's this:

static void __init memtest(u64 pattern, u64 start_phys, u64 size)
{
u64 i, count;
u64 *start;
u64 start_bad, last_bad;
u64 start_phys_aligned;
size_t incr;

incr = sizeof(pattern);
start_phys_aligned = ALIGN(start_phys, incr);
count = (size - (start_phys_aligned - start_phys))/incr;




\
 
 \ /
  Last update: 2009-06-05 05:53    [W:0.995 / U:0.424 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site