Skip to contentSkip to conversation

problem using integer division in kernel modules

DISCUSSION Thomas Schlichter 3 participants 3 messages Jan 15, 2003 – Jan 21, 2003

lore
Share & tools
lore
#0 lore raw

Hi,

I am writing at a small kernel module and have a problem now using / and %. If I do so I get following unresolved symbols when the module should be loaded:
__divdi3
__moddi3

Could you please help me and tell me what I do wrong..?

#1 lore raw
Quoted 6 lines · Thomas Schlichter

Hi,

I am writing at a small kernel module and have a problem now using / and %. If I do so I get following unresolved symbols when the module should be loaded:
__divdi3
__moddi3

64-bit division with non-constant non-power-of-two divider.

Quoted 1 line

Could you please help me and tell me what I do wrong..?

The kernel is linked without gcc builtin libraries. Reasons can be found from FAQ (see footer), or archives.

/Matti Aarnio

#2 lore raw
Quoted 9 lines · Matti Aarnio
Quoted 6 lines · Thomas Schlichter

Hi,

I am writing at a small kernel module and have a problem now using / and %. If I do so I get following unresolved symbols when the module should be loaded:
__divdi3
__moddi3

Quoted 6 lines

64-bit division with non-constant non-power-of-two divider.

Quoted 1 line

Could you please help me and tell me what I do wrong..?

The kernel is linked without gcc builtin libraries. Reasons can be found from FAQ (see footer), or archives.

You may want to check out .../include/asm-???/div64.h. It allows some limited divides with 64-bit numbers. Look at several so you understand what it does and does not do.

-g

Quoted 7 lines

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

Signature · 5 lines
George Anzinger   [email protected]
High-res-timers: 
http://sourceforge.net/projects/high-res-timers/
Preemption patch:
http://www.kernel.org/pub/linux/kernel/people/rml