Re: unresolved symbol __udivsi3_i4

From: Andreas Schwab
Date: Fri Sep 24 2004 - 07:50:57 EST


Jan-Benedict Glaw <jbglaw@xxxxxxxxxx> writes:

> Well, the kernel is (or should be) a freestanding program, so it
> shouldn't use *any* external code (and it doesn't, intentionally).
> We're working hard not linking in libgcc.a

libgcc is an intrinsic part of the freestanding implementation provided by
the compiler, just like <stdarg.h>.

> So people started doing freestanding implementations of eg. __udivsi3 in
> their kernel files. But why should they? GCC also could have emitted
> inlined code to do that task, without ever calling an external function
> for that.

Inlining can be less efficient due to icache issues.

Andreas.

--
Andreas Schwab, SuSE Labs, schwab@xxxxxxx
SuSE Linux AG, Maxfeldstraße 5, 90409 Nürnberg, Germany
Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5
"And now for something completely different."
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/