lkml.org 
[lkml]   [2007]   [Apr]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: link error : 2.6.21-rc6-mm1 for s390
    On Tue, 10 Apr 2007 18:36:29 -0700 (PDT)
    David Miller <davem@davemloft.net> wrote:

    > From: Andrew Morton <akpm@linux-foundation.org>
    > Date: Tue, 10 Apr 2007 18:29:37 -0700
    >
    > > git-net.patch implements generic lib/div64.c, but s390 also has a
    > > private one. Presumably the appropriate fix is to remove s390's
    > > private implementation within davem's tree.
    >
    > The s390 version seems to be optimized in assembler for that
    > processor, therefore we should probably instead elide the
    > generic version on s390.

    We're sure that it has the same API?

    > How about something like this?
    >
    > diff --git a/include/asm-s390/div64.h b/include/asm-s390/div64.h
    > index 6cd978c..21aea15 100644
    > --- a/include/asm-s390/div64.h
    > +++ b/include/asm-s390/div64.h
    > @@ -1 +1,2 @@
    > #include <asm-generic/div64.h>
    > +#define HAVE_ARCH_DIV64_32
    > diff --git a/lib/div64.c b/lib/div64.c
    > index 74f0c8c..5b480fa 100644
    > --- a/lib/div64.c
    > +++ b/lib/div64.c
    > @@ -23,6 +23,8 @@
    > /* Not needed on 64bit architectures */
    > #if BITS_PER_LONG == 32
    >
    > +#ifndef HAVE_ARCH_DIV64_32
    > +
    > uint32_t __div64_32(uint64_t *n, uint32_t base)
    > {
    > uint64_t rem = *n;
    > @@ -58,6 +60,8 @@ uint32_t __div64_32(uint64_t *n, uint32_t base)
    >
    > EXPORT_SYMBOL(__div64_32);
    >
    > +#endif /* !(HAVE_ARCH_DIV64_32) */
    > +
    > /* 64bit divisor, dividend and result. dynamic precision */
    > uint64_t div64_64(uint64_t dividend, uint64_t divisor)
    > {

    attribute(weak) would give a nicer result?

    We'd also need to remove s390's EXPORT_SYMBOL(__div64_32), so s390 ends up
    using lib/div64.c's EXPORT_SYMBOL().

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

    \
     
     \ /
      Last update: 2007-04-11 03:51    [W:0.025 / U:1.976 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site