Tracing Source of Double Precision Libs
I'm building an application for an STM32G0 and noticed that quite a bit of double precision libs such as _strtod_l, __aeabi_dsub, __aeabi_dadd, etc are shown in the linker file. As far as I know, there is no double math being done but obviously something is requiring it.
In an effort to reduce code size, I'm trying to understand why these are linked and see if I can eliminate them to free up valuable flash. The application is quite large so just removing bits of code is not a light effort and I've tried running objdump -D on all .o files, but I don't see any references in this output. Is there a better way?
Note:
- -Wdouble-promotion does not report any warnings
- I've tried to append an 'f' to all fp literals, but I've also enabled -fsingle-precision-constant
- -fdata-sections, -ffunction-sections, -Wl, --gc-sections are all being used
- --specs=nano.specs
- Compiler is GNU Tools for STM32 (10.3-2021-10) included in CubeIDE
From map file analysis:

