lkml.org 
[lkml]   [2009]   [Jun]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [2.6.30-rc8] gcc 3.3 : __udivdi3 undefined.
From
Date
Andrew Morton wrote:
> Well, that tells us the .c file, but not the location within it.
> Please check the .loc info as I suggested.

.loc 1 51 0
movl -52(%ebp), %ebx # start_phys_aligned
sbbl %edi, %ebx
.loc 1 42 0
movl %edx, -16(%ebp) # pattern
.loc 1 51 0
subl %ecx, %eax # size
pushl $0
.loc 1 42 0
movl 20(%ebp), %edx # size
.loc 1 51 0
sbbl %ebx, %edx
pushl $8
.LCFI12:
call __udivdi3
popl %ebx
.loc 1 53 0
movl $0, -36(%ebp) # start_bad
.loc 1 52 0
movl -56(%ebp), %ebx # start_phys_aligned
subl $1073741824, %ebx
.loc 1 56 0
cmpl %edx, -36(%ebp) # start_bad
.loc 1 51 0
popl %esi
movl %edx, %edi
movl %eax, %esi # count
.loc 1 52 0

> 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;
Bingo!



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