lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <200906050400.n5540Sx0052981@www262.sakura.ne.jp>
Date:	Fri, 05 Jun 2009 13:00:28 +0900
From:	Tetsuo Handa <penguin-kernel@...ove.sakura.ne.jp>
To:	akpm@...ux-foundation.org
Cc:	linux-kernel@...r.kernel.org, xiyou.wangcong@...il.com,
	andreas.herrmann3@....com, mingo@...e.hu
Subject: Re: [2.6.30-rc8] gcc 3.3 : __udivdi3 undefined.

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!

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ