diff --git a/bsp/imxrt1052-evk/Libraries/gcc/MIMXRT1052xxxxx_flexspi_nor.ld b/bsp/imxrt1052-evk/Libraries/gcc/MIMXRT1052xxxxx_flexspi_nor.ld index e459198fc2..b0178bdcdd 100644 --- a/bsp/imxrt1052-evk/Libraries/gcc/MIMXRT1052xxxxx_flexspi_nor.ld +++ b/bsp/imxrt1052-evk/Libraries/gcc/MIMXRT1052xxxxx_flexspi_nor.ld @@ -139,7 +139,8 @@ SECTIONS .ctors : { - __CTOR_LIST__ = .; + PROVIDE(__ctors_start__ = .); + /* __CTOR_LIST__ = .; */ /* gcc uses crtbegin.o to find the start of the constructors, so we make sure it is first. Because this is a wildcard, it @@ -158,18 +159,21 @@ SECTIONS KEEP (*(EXCLUDE_FILE(*crtend?.o *crtend.o) .ctors)) KEEP (*(SORT(.ctors.*))) KEEP (*(.ctors)) - __CTOR_END__ = .; + /* __CTOR_END__ = .; */ + PROVIDE(__ctors_end__ = .); } > m_text .dtors : { - __DTOR_LIST__ = .; + PROVIDE(__dtors_start__ = .); + /* __DTOR_LIST__ = .; */ KEEP (*crtbegin.o(.dtors)) KEEP (*crtbegin?.o(.dtors)) KEEP (*(EXCLUDE_FILE(*crtend?.o *crtend.o) .dtors)) KEEP (*(SORT(.dtors.*))) KEEP (*(.dtors)) - __DTOR_END__ = .; + /* __DTOR_END__ = .; */ + PROVIDE(__dtors_end__ = .); } > m_text .preinit_array : diff --git a/bsp/imxrt1052-evk/Libraries/gcc/MIMXRT1052xxxxx_ram.ld b/bsp/imxrt1052-evk/Libraries/gcc/MIMXRT1052xxxxx_ram.ld index ab9693eed8..9077f044ed 100644 --- a/bsp/imxrt1052-evk/Libraries/gcc/MIMXRT1052xxxxx_ram.ld +++ b/bsp/imxrt1052-evk/Libraries/gcc/MIMXRT1052xxxxx_ram.ld @@ -126,7 +126,8 @@ SECTIONS .ctors : { - __CTOR_LIST__ = .; + PROVIDE(__ctors_start__ = .); + /* __CTOR_LIST__ = .; */ /* gcc uses crtbegin.o to find the start of the constructors, so we make sure it is first. Because this is a wildcard, it @@ -145,18 +146,21 @@ SECTIONS KEEP (*(EXCLUDE_FILE(*crtend?.o *crtend.o) .ctors)) KEEP (*(SORT(.ctors.*))) KEEP (*(.ctors)) - __CTOR_END__ = .; + /* __CTOR_END__ = .; */ + PROVIDE(__ctors_end__ = .); } > m_text .dtors : { - __DTOR_LIST__ = .; + PROVIDE(__dtors_start__ = .); + /* __DTOR_LIST__ = .; */ KEEP (*crtbegin.o(.dtors)) KEEP (*crtbegin?.o(.dtors)) KEEP (*(EXCLUDE_FILE(*crtend?.o *crtend.o) .dtors)) KEEP (*(SORT(.dtors.*))) KEEP (*(.dtors)) - __DTOR_END__ = .; + /* __DTOR_END__ = .; */ + PROVIDE(__dtors_end__ = .); } > m_text .preinit_array : diff --git a/bsp/imxrt1052-evk/Libraries/gcc/MIMXRT1052xxxxx_sdram.ld b/bsp/imxrt1052-evk/Libraries/gcc/MIMXRT1052xxxxx_sdram.ld index f0faea5245..100e6ed9f2 100644 --- a/bsp/imxrt1052-evk/Libraries/gcc/MIMXRT1052xxxxx_sdram.ld +++ b/bsp/imxrt1052-evk/Libraries/gcc/MIMXRT1052xxxxx_sdram.ld @@ -104,7 +104,8 @@ SECTIONS .ctors : { - __CTOR_LIST__ = .; + PROVIDE(__ctors_start__ = .); + /* __CTOR_LIST__ = .; */ /* gcc uses crtbegin.o to find the start of the constructors, so we make sure it is first. Because this is a wildcard, it @@ -123,18 +124,21 @@ SECTIONS KEEP (*(EXCLUDE_FILE(*crtend?.o *crtend.o) .ctors)) KEEP (*(SORT(.ctors.*))) KEEP (*(.ctors)) - __CTOR_END__ = .; + /* __CTOR_END__ = .; */ + PROVIDE(__ctors_end__ = .); } > m_text .dtors : { - __DTOR_LIST__ = .; + PROVIDE(__dtors_start__ = .); + /* __DTOR_LIST__ = .; */ KEEP (*crtbegin.o(.dtors)) KEEP (*crtbegin?.o(.dtors)) KEEP (*(EXCLUDE_FILE(*crtend?.o *crtend.o) .dtors)) KEEP (*(SORT(.dtors.*))) KEEP (*(.dtors)) - __DTOR_END__ = .; + /* __DTOR_END__ = .; */ + PROVIDE(__dtors_end__ = .); } > m_text .preinit_array : diff --git a/bsp/imxrt1052-evk/Libraries/gcc/MIMXRT1052xxxxx_sdram_txt.ld b/bsp/imxrt1052-evk/Libraries/gcc/MIMXRT1052xxxxx_sdram_txt.ld index 58c6ea217e..9206f67501 100644 --- a/bsp/imxrt1052-evk/Libraries/gcc/MIMXRT1052xxxxx_sdram_txt.ld +++ b/bsp/imxrt1052-evk/Libraries/gcc/MIMXRT1052xxxxx_sdram_txt.ld @@ -104,7 +104,8 @@ SECTIONS .ctors : { - __CTOR_LIST__ = .; + PROVIDE(__ctors_start__ = .); + /* __CTOR_LIST__ = .; */ /* gcc uses crtbegin.o to find the start of the constructors, so we make sure it is first. Because this is a wildcard, it @@ -123,18 +124,21 @@ SECTIONS KEEP (*(EXCLUDE_FILE(*crtend?.o *crtend.o) .ctors)) KEEP (*(SORT(.ctors.*))) KEEP (*(.ctors)) - __CTOR_END__ = .; + /* __CTOR_END__ = .; */ + PROVIDE(__ctors_end__ = .); } > m_text .dtors : { - __DTOR_LIST__ = .; + PROVIDE(__dtors_start__ = .); + /* __DTOR_LIST__ = .; */ KEEP (*crtbegin.o(.dtors)) KEEP (*crtbegin?.o(.dtors)) KEEP (*(EXCLUDE_FILE(*crtend?.o *crtend.o) .dtors)) KEEP (*(SORT(.dtors.*))) KEEP (*(.dtors)) - __DTOR_END__ = .; + /* __DTOR_END__ = .; */ + PROVIDE(__dtors_end__ = .); } > m_text .preinit_array :