On Thu, 22 Jan 2009, Andrew Brampton wrote:
2009/1/21 Alexander Kabaev <kab...@gmail.com>:
From GCC's info pages:
Most of the compiler support routines used by GCC are present in
`libgcc', but there are a few exceptions. GCC requires the
freestanding environment provide `memcpy', `memmove', `memset' and
`memcmp'.
</end quote>
We do not provide all necessary functions in kernel and mostly depend
on luck for the kernel to link. Your luck apparently ran out :(
Thanks for the info, good thing I'm not a gambling man. Anyway I also
read that part of the GCC manual, so my next question is: If code can
be generated with those four functions, why are they not exported by
the kernel? Surely another kernel module will at some point also be
hit by this?
Possibly because the kernel is usually compiled with optimization, in
which case the compiler presumably generates inline code for these
functions.
I vaguely recall Linux having a policy that compiling the kernel without
optimization was not supported, possibly because of situations like this.
--
Nate Eldredge
neldre...@math.ucsd.edu
_______________________________________________
freebsd-hackers@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to "freebsd-hackers-unsubscr...@freebsd.org"