OK, softfloat (with 2.95 +libfloat) was not a goer, there were too many calls to libm.so and although I could have proxied the floating point ABI through a stub it wouldn't achieve anything... libm.so would just throttle the speed.
Switched to a softfloat GCC 3.4.2 toolchain, statically linked with libSDL and qpe as cmisip tried. I can reliably get 14 FPS on an SL-C860 running standard SA1100 code, however, quake is about 4Mb in size and there are some differences in qte/qpe as built and as available in the shared libraries.. that is the rotation stuff that the zports team put into SDL doesn't work correctly and initialises the screen as 240x320 on a 320x240 screen.
So... spending some time getting to know libSDL now.