2004-06-29 19:22:14

by Bob Tracy

[permalink] [raw]
Subject: kbuild and -msoft-float

Probably off-topic for this list, but of presumed general interest for
developers working on modules maintained/built outside the kernel source
tree...

The Atmelwlandriver project on Sourceforge has recently modified the
package build process for 2.6 kernels to be compatible with kbuild.
Unfortunately, when the smoke of the build process clears, the pcmcia
driver modules all contain several undefined symbols traceable to the
use of "-msoft-float" during compilation. The undefined symbols are
__subdf3
__divdf3
__fixunsdfsi
__floatsidf
__gtdf2

I don't know if this is specific to 2.6.7, but the behavior is not
dependent on the version of gcc for versions capable of building 2.6
kernels on i386 hardware. If the "-msoft-float" flag is omitted,
everything builds and works as expected. The question is "why are
floating point instructions being emitted in the first place?" The
driver code contains nothing obvious that might cause this behavior,
although I'm sure I'm missing *something*.

Explanations, workarounds, etc. gratefully accepted. Thanks in advance.

--
-----------------------------------------------------------------------
Bob Tracy WTO + WIPO = DMCA? http://www.anti-dmca.org
[email protected]
-----------------------------------------------------------------------