Messages in this thread | | | Date | Tue, 11 Jan 2005 08:10:52 -0800 (PST) | From | Linus Torvalds <> | Subject | Re: removing bcopy... because it's half broken |
| |
On Tue, 11 Jan 2005, Bastian Blank wrote: > > Yes. This means IMHO that the image and every module needs to link > against libgcc to include the required symbols. It is rather annoying to > see modules asking for libgcc symbols.
Some architectures do that. Not all. My argument has always been that we don't _want_ any code that gcc cannot generate.
The kernel very much on purpose does not trust gcc. There have been some total braindamages over time, like having exception handling turned on by default by gcc by default in plain C, and one of the reasons we noticed was that the link wouldn't work - libgcc has the exception support, and the kernel simply doesn't WANT that kind of crap.
It's also been useful (although at times a bit painful) to find cases where people did stuff that simply shouldn't be done in the kernel. Things like FP conversions, or - more commonly - 64-bit divides on hardware where that is very slow.
It does mean that we have to know about some gcc internals ourselves, and have our own libgcc versions for the stuff we _do_ want.
Linus - 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/
| |