[lkml]   [2006]   [May]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: [PATCH] Compile failure fix for ppc on 2.6.17-rc4-mm3 (2nd attempt) (Mel Gorman) wrote:
    > (Resending with Andrew's email address correct this time)
    > For the last few -mm releases, kernels built for an old RS6000 failed to
    > compile with the message;
    > arch/powerpc/kernel/built-in.o(.init.text+0x77b4): In function `vrsqrtefp':
    > : undefined reference to `__udivdi3'
    > arch/powerpc/kernel/built-in.o(.init.text+0x7800): In function `vrsqrtefp':
    > : undefined reference to `__udivdi3'
    > make: *** [.tmp_vmlinux1] Error 1

    A function with a name like that doesn't _deserve_ to compile.

    But actually vrsqrtefp() doesn't call __udivdi3 - the error lies somewhere
    else in the kernel and the toolchain gets it wrong, so we don't know where.

    The way I usually hunt this problem down is to build the .s files (make
    arch/powerpc/kernel/foo.s) and then grep around, find the offending C

    If the problem is specific to powerpc then a

    diffstat 2.6.17.rc4-mm3 | grep powerpc

    will narrow down the number of files to be searched by rather a lot.

    > 2.6.17-rc5 is not affected but I didn't search for the culprit patch in
    > -mm. The following patch adds an implementation of __udivdi3 for plain old
    > ppc32. This may not be the correct fix as Google tells me that __udivdi3
    > has been replaced by calls to do_div() in a number of cases. There was no
    > obvious way to do that for vrsqrtefp, hence this workaround. The patch should
    > be acked, rejected or replaced by a ppc expert.

    Yes, we've traditionally avoided adding the 64-bit divide library functions.
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to
    More majordomo info at
    Please read the FAQ at

     \ /
      Last update: 2006-05-26 18:52    [W:0.024 / U:6.068 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site