git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@13607 27425a3e-05d8-49a3-a47f-9c15f0e5edd8
This commit is contained in:
Giovanni Di Sirio 2020-04-28 15:23:12 +00:00
parent 95a05917c4
commit e84794c8e7
6 changed files with 31 additions and 23 deletions

View File

@ -96,9 +96,11 @@ SECTIONS
} > flash } > flash
.ARM.exidx : { .ARM.exidx : {
PROVIDE(__exidx_base__ = .); __exidx_base__ = .;
__exidx_start = .;
*(.ARM.exidx* .gnu.linkonce.armexidx.*) *(.ARM.exidx* .gnu.linkonce.armexidx.*)
PROVIDE(__exidx_end__ = .); __exidx_end__ = .;
__exidx_end = .;
} > flash } > flash
.eh_frame_hdr : .eh_frame_hdr :

View File

@ -130,9 +130,9 @@ upsloop:
#if CRT0_INIT_DATA == TRUE #if CRT0_INIT_DATA == TRUE
/* Data initialization. Note, it assumes that the DATA size /* Data initialization. Note, it assumes that the DATA size
is a multiple of 4 so the linker file must ensure this.*/ is a multiple of 4 so the linker file must ensure this.*/
ldr r1, =_textdata_start ldr r1, =__textdata_base__
ldr r2, =_data_start ldr r2, =__data_base__
ldr r3, =_data_end ldr r3, =__data_end__
dloop: dloop:
cmp r2, r3 cmp r2, r3
ittt lo ittt lo
@ -145,8 +145,8 @@ dloop:
/* BSS initialization. Note, it assumes that the DATA size /* BSS initialization. Note, it assumes that the DATA size
is a multiple of 4 so the linker file must ensure this.*/ is a multiple of 4 so the linker file must ensure this.*/
movs r0, #0 movs r0, #0
ldr r1, =_bss_start ldr r1, =__bss_base__
ldr r2, =_bss_end ldr r2, =__bss_end__
bloop: bloop:
cmp r1, r2 cmp r1, r2
itt lo itt lo
@ -156,8 +156,8 @@ bloop:
#if CRT0_CALL_CONSTRUCTORS == TRUE #if CRT0_CALL_CONSTRUCTORS == TRUE
/* Constructors invocation.*/ /* Constructors invocation.*/
ldr r4, =__init_array_start ldr r4, =__init_array_base__
ldr r5, =__init_array_end ldr r5, =__init_array_end__
initloop: initloop:
cmp r4, r5 cmp r4, r5
bge endinitloop bge endinitloop
@ -172,8 +172,8 @@ endinitloop:
#if CRT0_CALL_DESTRUCTORS == TRUE #if CRT0_CALL_DESTRUCTORS == TRUE
/* Destructors invocation.*/ /* Destructors invocation.*/
ldr r4, =__fini_array_start ldr r4, =__fini_array_base__
ldr r5, =__fini_array_end ldr r5, =__fini_array_end__
finiloop: finiloop:
cmp r4, r5 cmp r4, r5
bge endfiniloop bge endfiniloop

View File

@ -25,25 +25,25 @@ SECTIONS
.xtors : ALIGN(4) .xtors : ALIGN(4)
{ {
__init_array_start = .; __init_array_base__ = .;
KEEP(*(SORT(.init_array.*))) KEEP(*(SORT(.init_array.*)))
KEEP(*(.init_array)) KEEP(*(.init_array))
__init_array_end = .; __init_array_end__ = .;
__fini_array_start = .; __fini_array_base__ = .;
KEEP(*(.fini_array)) KEEP(*(.fini_array))
KEEP(*(SORT(.fini_array.*))) KEEP(*(SORT(.fini_array.*)))
__fini_array_end = .; __fini_array_end__ = .;
} > CODE_SPACE } > CODE_SPACE
.text : ALIGN(4) .text : ALIGN_WITH_INPUT
{ {
__text_base = .; __text_base__ = .;
*(.text) *(.text)
*(.text.*) *(.text.*)
*(.glue_7t) *(.glue_7t)
*(.glue_7) *(.glue_7)
*(.gcc*) *(.gcc*)
__text_end = .; __text_end__ = .;
} > CODE_SPACE } > CODE_SPACE
.rodata : ALIGN(4) .rodata : ALIGN(4)
@ -61,8 +61,10 @@ SECTIONS
} > CODE_SPACE } > CODE_SPACE
.ARM.exidx : { .ARM.exidx : {
__exidx_base__ = .;
__exidx_start = .; __exidx_start = .;
*(.ARM.exidx* .gnu.linkonce.armexidx.*) *(.ARM.exidx* .gnu.linkonce.armexidx.*)
__exidx_end__ = .;
__exidx_end = .; __exidx_end = .;
} > CODE_SPACE } > CODE_SPACE

View File

@ -20,24 +20,24 @@ SECTIONS
{ {
PROVIDE(_textdata = LOADADDR(.data)); PROVIDE(_textdata = LOADADDR(.data));
PROVIDE(_data = .); PROVIDE(_data = .);
_textdata_start = LOADADDR(.data); __textdata_base__ = LOADADDR(.data);
_data_start = .; __data_base__ = .;
*(.data) *(.data)
*(.data.*) *(.data.*)
*(.ramtext) *(.ramtext)
. = ALIGN(4); . = ALIGN(4);
PROVIDE(_edata = .); PROVIDE(_edata = .);
_data_end = .; __data_end__ = .;
} > DATA_SPACE } > DATA_SPACE
.bss (NOLOAD) : ALIGN(4) .bss (NOLOAD) : ALIGN(4)
{ {
_bss_start = .; __bss_base__ = .;
*(.bss) *(.bss)
*(.bss.*) *(.bss.*)
*(COMMON) *(COMMON)
. = ALIGN(4); . = ALIGN(4);
_bss_end = .; __bss_end__ = .;
PROVIDE(end = .); PROVIDE(end = .);
} > DATA_SPACE } > DATA_SPACE
} }

View File

@ -62,8 +62,10 @@ SECTIONS
.ARM.exidx : { .ARM.exidx : {
__exidx_base__ = .; __exidx_base__ = .;
__exidx_start = .;
*(.ARM.exidx* .gnu.linkonce.armexidx.*) *(.ARM.exidx* .gnu.linkonce.armexidx.*)
__exidx_end__ = .; __exidx_end__ = .;
__exidx_end = .;
} > VARIOUS_FLASH AT > VARIOUS_FLASH_LMA } > VARIOUS_FLASH AT > VARIOUS_FLASH_LMA
.eh_frame_hdr : .eh_frame_hdr :

View File

@ -86,6 +86,8 @@
MEMS Accelerometers. MEMS Accelerometers.
- NEW: Safer messages mechanism for sandboxes (to be backported to 20.3.1). - NEW: Safer messages mechanism for sandboxes (to be backported to 20.3.1).
- NEW: Added latency measurement test application. - NEW: Added latency measurement test application.
- FIX: Fixed missing symbols in GCC scatter files (bug #1091)
(backported to 20.3.1).
- FIX: Fixed wrong SAI1 clock selection for STM32G4xx (bug #1090) - FIX: Fixed wrong SAI1 clock selection for STM32G4xx (bug #1090)
(backported to 20.3.1). (backported to 20.3.1).
- FIX: Fixed STM32H7xx ADC problem in dual mode (bug #1089) - FIX: Fixed STM32H7xx ADC problem in dual mode (bug #1089)