diff --git a/configs/stm32f4discovery/elf/Make.defs b/configs/stm32f4discovery/elf/Make.defs index 7df9b13da6c..035a03e71ae 100644 --- a/configs/stm32f4discovery/elf/Make.defs +++ b/configs/stm32f4discovery/elf/Make.defs @@ -160,8 +160,8 @@ LDNXFLATFLAGS = -e main -s 2048 # ELF module definitions -CELFFLAGS = $(CFLAGS) -mlong-calls -CXXELFFLAGS = $(CXXFLAGS) -mlong-calls +CELFFLAGS = $(CFLAGS) -mlong-calls # --target1-abs +CXXELFFLAGS = $(CXXFLAGS) -mlong-calls # --target1-abs LDELFFLAGS = -r -e main ifeq ($(WINTOOL),y) diff --git a/configs/stm32f4discovery/elf/defconfig b/configs/stm32f4discovery/elf/defconfig index 59c221a0ca2..67f5bf365a3 100644 --- a/configs/stm32f4discovery/elf/defconfig +++ b/configs/stm32f4discovery/elf/defconfig @@ -388,7 +388,7 @@ CONFIG_ELF_ALIGN_LOG2=2 CONFIG_ELF_STACKSIZE=2048 CONFIG_ELF_BUFFERSIZE=128 CONFIG_ELF_BUFFERINCR=32 -CONFIG_ELF_CONSTRUCTORS=y +CONFIG_BINFMT_CONSTRUCTORS=y CONFIG_SYMTAB_ORDEREDBYNAME=y # diff --git a/configs/stm32f4discovery/scripts/gnu-elf.ld b/configs/stm32f4discovery/scripts/gnu-elf.ld index 0153cf5fada..1f29f02f5b5 100644 --- a/configs/stm32f4discovery/scripts/gnu-elf.ld +++ b/configs/stm32f4discovery/scripts/gnu-elf.ld @@ -51,8 +51,8 @@ SECTIONS */ *(.gnu.linkonce.t.*) - *(.init) - *(.fini) + *(.init) /* Old ABI */ + *(.fini) /* Old ABI */ _etext = . ; } @@ -86,15 +86,17 @@ SECTIONS .ctors : { - _sctros = . ; - *(.ctors) + _sctors = . ; + *(.ctors) /* Old ABI: Unallocated */ + *(.init_array) /* New ABI: Allocated */ _edtors = . ; } - .ctors : + .dtors : { _sdtors = . ; - *(.dtors) + *(.dtors) /* Old ABI: Unallocated */ + *(.fini_array) /* New ABI: Allocated */ _edtors = . ; }