Sorry if I've misremembered this.
In printf.c, declare extern (*printf__fp)();
In fltused.c, define printf__fp.
Then when printf wants to print a floating-point number it just invokes printf__fp and you crash if you didn't trigger the include of the floating-point library.
Better still would be a weak symbol if that's supported.