diff --git a/os/common/startup/ARM/compilers/GCC/ld/rules.ld b/os/common/startup/ARM/compilers/GCC/ld/rules.ld index 8103c9d81..61a5b6132 100644 --- a/os/common/startup/ARM/compilers/GCC/ld/rules.ld +++ b/os/common/startup/ARM/compilers/GCC/ld/rules.ld @@ -48,13 +48,13 @@ SECTIONS . = 0; _text = .; - startup : ALIGN(16) SUBALIGN(16) + startup : ALIGN(16) { KEEP(*(.vectors)) KEEP(*(.boot)) } > flash - constructors : ALIGN(4) SUBALIGN(4) + constructors : ALIGN(4) { PROVIDE(__init_array_start = .); KEEP(*(SORT(.init_array.*))) @@ -62,7 +62,7 @@ SECTIONS PROVIDE(__init_array_end = .); } > flash - destructors : ALIGN(4) SUBALIGN(4) + destructors : ALIGN(4) { PROVIDE(__fini_array_start = .); KEEP(*(.fini_array)) @@ -70,7 +70,7 @@ SECTIONS PROVIDE(__fini_array_end = .); } > flash - .text : ALIGN(16) SUBALIGN(16) + .text : ALIGN(16) { *(.text) *(.text.*)