I inherited an STM32 project at work which was initially built with the version 9 quarter 2 GNU compiler and libraries. The processor only has 16K RAM and this overflows on build with libraries version 10 and later. The overflow is caused by the inclusion of the findfp.o module in the linking.
I did some investigation of the map files and something changed between versions 9 and 10 of the libraries so that findfp.o is now included in the linker output. RAM is very tight for this project and if possible, I want to know how I can find out what changes were made between 9 and 10 to make the linker include the findfp functions, so that ideally I can ensure it isn’t included. We don’t use any file IO in the code and this findfp.c consumes 323 bytes of RAM which we don’t have available.
Version 10 build doesn’t change findfp.c but includes the code in the link wheras version 9 doesn’t.
I can get the project to work by using the Fixed toolchain 9-2020-q2-update, but it would be good to be able to use the latest so that I can make use of any fixes / improvements.