Hello,
I switched form arm-gnu-toolchain-12.2.rel1-x86_64-arm-none-eabi to arm-gnu-toolchain-13.2.Rel1-x86_64-arm-none-eabi and my fw for cortex m4 written in pure C (c11) stoped working. After some research I figured out that the .ARM.extab section magicaly appeared and moved my data section... So looking at the new map file i found:
.data 0x00000000 0x0 arm-gnu-toolchain-13.2.Rel1-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/13.2.1/../../../../arm-none-eabi/lib/thumb/v7e-m/nofp/libg_nano.a(libc_a-strlen.o) .bss 0x00000000 0x0 arm-gnu-toolchain-13.2.Rel1-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/13.2.1/../../../../arm-none-eabi/lib/thumb/v7e-m/nofp/libg_nano.a(libc_a-strlen.o) .ARM.extab 0x00000000 0x0 arm-gnu-toolchain-13.2.Rel1-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/13.2.1/../../../../arm-none-eabi/lib/thumb/v7e-m/nofp/libg_nano.a(libc_a-strlen.o) .eh_frame 0x00000000 0x28 arm-gnu-toolchain-13.2.Rel1-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/13.2.1/../../../../arm-none-eabi/lib/thumb/v7e-m/nofp/libg_nano.a(libc_a-strlen.o)
and on old map file it was just:
.data 0x0000000000000000 0x0 arm-gnu-toolchain-12.2.rel1-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/12.2.1/../../../../arm-none-eabi/lib/thumb/v7e-m/nofp/libg_nano.a(libc_a-strlen.o) .bss 0x0000000000000000 0x0 arm-gnu-toolchain-12.2.rel1-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/12.2.1/../../../../arm-none-eabi/lib/thumb/v7e-m/nofp/libg_nano.a(libc_a-strlen.o)
So the .ARM.extab and .eh_frame appeared out of nowhere. So I wonder what is the reason for this and what is the best way to get back the old behavior?
Thanks.