diff --git a/bsp/lpc176x/rtthread-lpc17xx.ld b/bsp/lpc176x/rtthread-lpc17xx.ld index 928a27fa0297a0604e7aa853072c60ae681b915a..67d6cabfda8d9449a592f71b0a0a0e0eed17b0da 100644 --- a/bsp/lpc176x/rtthread-lpc17xx.ld +++ b/bsp/lpc176x/rtthread-lpc17xx.ld @@ -43,6 +43,21 @@ SECTIONS __rt_init_end = .; . = ALIGN(4); + PROVIDE(__ctors_start__ = .); + /* old GCC version uses .ctors */ + KEEP(*(SORT(.ctors.*))) + KEEP(*(.ctors)) + /* new GCC version uses .init_array */ + KEEP (*(SORT(.init_array.*))) + KEEP (*(.init_array)) + PROVIDE(__ctors_end__ = .); + + /* section information for modules */ + . = ALIGN(4); + __rtmsymtab_start = .; + KEEP(*(RTMSymTab)) + __rtmsymtab_end = .; + . = ALIGN(4); _etext = .; } > CODE = 0