Hallo, ich habe eine Frage bzgl. Fehlersuche mit .map-Files. Ich habe ein Projekt, welches ich in zwei verschiedenen Varianten bauen kann. Zwischen Varianten ändern sich dann auch die Source files. Das habe ich "versucht" alles in der Makefile zu berücksichtigen. An für sich funktioniert es auch (es compiliert durch).
Beim Linken gibt es dann aber ein Problem.
c:/gnu_tools_arm_embedded/6-2017-q1/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/bin/ld.exe: ../../_build/gcc/Output/TI_2_nocrc.elf section .bss_u' will not fit in region m_data_u'
|| c:/gnu_tools_arm_embedded/6-2017-q1/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/bin/ld.exe: section .hal_noinit VMA [20006d00,20006d63] overlaps section .bss_u VMA [20000000,20009f5f]
|| c:/gnu_tools_arm_embedded/6-2017-q1/bin/../lib/gcc/arm-none-eabi/6.3.1/../../../../arm-none-eabi/bin/ld.exe: region `m_data_u' overflowed by 13488 bytes
Wenn ich die .map-files vergleiche, sehe ich z.B. dass wenn ich die 1.
Version baue der Bereich .debug_info 337481 Bytes groß ist. Wenn ich die
2. Version baue, ist der Bereuch .debug_info 1208640 Bytes groß. Also
3,5 mal so groß.
Auch die anderen Bereiche sind viel größer.
Das es ein bisschen unterschied ist, ist mir bewusst. Werden ja auch
andere dateien angezogen. Aber so viel?
Wie kann ich jetzt herausfinden wo der Fehler liegt? Was könnte generell das Problem sein? Werden dateien öfters gebaut? Ich lasse mir die ganzen Objekte ausgeben und da sehe ich nicht, dass einige doppelt drinn stehen.