diff --git a/bsp/imxrt1052-evk/Libraries/gcc/MIMXRT1052xxxxx_flexspi_nor.ld b/bsp/imxrt1052-evk/Libraries/gcc/MIMXRT1052xxxxx_flexspi_nor.ld index e459198fc268c85aab36562c62766fd5dd3e27d0..b0178bdcdd177eb13714aaf7719d6e13fccc4820 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 ab9693eed89f1995f897c5153be21e305963ffe5..9077f044ed95c236dad6cce21465503bd080f9af 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 f0faea52459b8f0553833d9f2f6d50c2f7c47207..100e6ed9f2e32861de490cb08e6808182760d772 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 58c6ea217e4948fc8d93aaf6026bde22e9b5eb26..9206f67501be0a02231f27054519d5f999316933 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 :