Fixed bug #1091.
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@13607 27425a3e-05d8-49a3-a47f-9c15f0e5edd8
This commit is contained in:
parent
95a05917c4
commit
e84794c8e7
|
@ -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 :
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
||||||
|
|
|
@ -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
|
||||||
}
|
}
|
||||||
|
|
|
@ -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 :
|
||||||
|
|
|
@ -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)
|
||||||
|
|
Loading…
Reference in New Issue