lkml.org 
[lkml]   [2002]   [Apr]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: unresolved symbol: __udivdi3


    Randy.Dunlap wrote:

    > On Fri, 19 Apr 2002, Ben Greear wrote:
    >
    > | I would like to be able to devide 64bit numbers in a kernel module,
    > | but I get unresolved symbols when trying to insmod.
    > |
    > | Does anyone have any ideas how to get around this little issue
    > | (without the obvious of casting the hell out of all my __u64s
    > | when doing division and throwing away precision.)?
    >
    > Did you look at linux/include/asm*/div64.h ?


    I changed my code to look like this:

    char *p = info->pg_result;
    __u64 mbps = 0;
    __u64 t1 = (info->pg_sofar*1000);
    __u64 t2 = do_div(total, 1000);
    __u64 pps = 0; /* do_div(t1, t2); */
    t1 = (info->pg_sofar * 1000);
    mbps = 0;/* do_div(t1, t2); */
    /* mbps *= info->pkt_size; */

    This code will load w/out problems. However, if I uncomment the do_div
    on the line: __u64 pps = 0; /* do_div(t1, t2); */
    then I get another unresolved symbol:
    __umodi3

    I'm guessing that there is some optimization the compiler is doing that
    is using the mod operator somehow, but I am unsure about how to work around
    this.

    Thanks,
    Ben


    >
    >


    --
    Ben Greear <greearb@candelatech.com> <Ben_Greear AT excite.com>
    President of Candela Technologies Inc http://www.candelatech.com
    ScryMUD: http://scry.wanfear.com http://scry.wanfear.com/~greear


    -
    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: 2005-03-22 13:25    [W:0.031 / U:1.364 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site