Thanks for pointing out ... bud
Hi,
Since changesets 16606 and 16607 we have switched to using software floating
point emulation in the toolchain and we disabled the in-kernel FPU Emulator
in the MIPS kernel by default.
The rationale behind this is :
- the FPU emulator of the kernel is slow and works by catching floating point
operations exceptions, emulating them and continuing its work
- software floating point emulation is only added when a program needs it and
will not bloat fixed point programs (most) with software floating point code,
additionnaly software floating point is faster due to the absence of the
exception mechanism
- for consistency, other targets (arm, powerpc) also use software floating
point
This allows us to have a kernel which is slightly smaller (~ 1%) and faster,
and since most programs do not use floats, their memory footprint do not
change while programs using float have a slightly bigger one as they require
software floating point emulation. Still the tradeoff is worth :)
The "bad" effect is that you have to recompile your mips/mipsel toolchain AND
kernel otherwise you will get a device which boots the kernel then silently
fails while running busybox (the later using floats).
Thank you very much for your attention.
------------------------------------------------------------------------
_______________________________________________
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel
_______________________________________________
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel