Re: unresolved symbol: __udivdi3

Randy.Dunlap
2002-04-19T23:48:30Z

do_div(n, base) is defined (in some versions of the div64.h
files) to be:

n = n / base; return rem;

so the first arg is modified.

~Randy

On Fri, 19 Apr 2002, Ben Greear wrote:

| Also, for what it's worth, do_div on x86 seems to corrupt arguments
| given to it, and may do other screwy things. I'm just going to
| go back to casting and let user-space do any precise division.
|
| David S. Miller wrote:
|
| > From: Ben Greear <greearb@candelatech.com>
| > Date: Fri, 19 Apr 2002 14:58:10 -0700
| >
| > then I get another unresolved symbol:
| > __umodi3
| >
| > Someone needs to add this routine under arch/sparc/lib/
| >
| > 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.
| >
| > "guessing"? Have a look the definition of do_div in asm-sparc/div64.h
| > it explicitly does a mod operation :-)