I'm using arm-none-eabi-gcc (10-2020-q4-major or 9-2020-q2-update) to build my firmware. For some reason recently it started to overflow the flash, and I can't figure out what has changed. However, the map file that is output has all 64 bit addresses, and some of the symbols have gone from 4 to 8 bytes in size. For example,
Before:
.text.sd_ble_gap_addr_get
0x0002689c 0x4 CMakeFiles/KeyFreeOBDFirmwareProject_DevKit.dir/KFPAL_Nordic_bluetooth.c.obj
After:
.text.sd_ble_gap_addr_get
0x0000000000026b92 0x8 CMakeFiles/KeyFreeOBDFirmwareProject_DevKit.dir/KFPAL_Nordic_bluetooth.c.obj
I have obtained the "before" from another computer, but now I can't seem to fix the computer with the 64 bit addresses. Reverting to an older compiler version isn't helping, and the compiler flags are the same.
Do you have any suggestions what could be causing this?