mirror of https://github.com/ARMmbed/mbed-os.git
Atmel: Fix alignment of execute region to 8-byte boundary
--legacyalign, --no_legacyalign are deprecated from ARMC6 compiler, in order to remove deprecated flags all linker files (GCC and IAR as well to have uniformity) should strictly align to 8-byte boundarypull/8024/head
parent
8c17ff6168
commit
5a25fd9ff3
|
|
@ -11,8 +11,8 @@ LR_IROM1 0x00000000 0x40000 { ; load region size_region
|
||||||
.ANY (+RO)
|
.ANY (+RO)
|
||||||
}
|
}
|
||||||
|
|
||||||
; [RAM] Vector table dynamic copy: 45 vectors * 4 bytes = (0xB4) - alignment
|
; [RAM] Vector table dynamic copy: 45 vectors * 4 bytes = (0xB4+0x4) 8-byte alignment
|
||||||
RW_IRAM1 (0x20000000+0xB4) (0x8000-0xB4) { ; RW data
|
RW_IRAM1 (0x20000000+0xB8) (0x8000-0xB8) { ; RW data
|
||||||
.ANY (+RW +ZI)
|
.ANY (+RW +ZI)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -11,8 +11,8 @@ LR_IROM1 0x00000000 0x40000 { ; load region size_region
|
||||||
.ANY (+RO)
|
.ANY (+RO)
|
||||||
}
|
}
|
||||||
|
|
||||||
; [RAM] Vector table dynamic copy: 45 vectors * 4 bytes = (0xB4) - alignment
|
; [RAM] Vector table dynamic copy: 45 vectors * 4 bytes = (0xB4+0x4) 8-byte alignment
|
||||||
RW_IRAM1 (0x20000000+0xB4) (0x8000-0xB4) { ; RW data
|
RW_IRAM1 (0x20000000+0xB8) (0x8000-0xB8) { ; RW data
|
||||||
.ANY (+RW +ZI)
|
.ANY (+RW +ZI)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@ SEARCH_DIR(.)
|
||||||
/* Memory Spaces Definitions */
|
/* Memory Spaces Definitions */
|
||||||
MEMORY {
|
MEMORY {
|
||||||
rom (rx) : ORIGIN = 0x00000000, LENGTH = 0x00040000
|
rom (rx) : ORIGIN = 0x00000000, LENGTH = 0x00040000
|
||||||
ram (rwx) : ORIGIN = 0x20000000 + 0xB4, LENGTH = 0x00008000 - 0xB4
|
ram (rwx) : ORIGIN = 0x20000000 + 0xB8, LENGTH = 0x00008000 - 0xB8
|
||||||
}
|
}
|
||||||
|
|
||||||
/* The stack size used by the application. NOTE: you need to adjust according to your application. */
|
/* The stack size used by the application. NOTE: you need to adjust according to your application. */
|
||||||
|
|
@ -15,7 +15,7 @@ MEMORY {
|
||||||
SECTIONS {
|
SECTIONS {
|
||||||
.text :
|
.text :
|
||||||
{
|
{
|
||||||
. = ALIGN(4);
|
. = ALIGN(8);
|
||||||
_sfixed = .;
|
_sfixed = .;
|
||||||
KEEP(*(.vectors .vectors.*))
|
KEEP(*(.vectors .vectors.*))
|
||||||
*(.text .text.* .gnu.linkonce.t.*)
|
*(.text .text.* .gnu.linkonce.t.*)
|
||||||
|
|
@ -25,29 +25,29 @@ MEMORY {
|
||||||
|
|
||||||
/* Support C constructors, and C destructors in both user code
|
/* Support C constructors, and C destructors in both user code
|
||||||
and the C library. This also provides support for C++ code. */
|
and the C library. This also provides support for C++ code. */
|
||||||
. = ALIGN(4);
|
. = ALIGN(8);
|
||||||
KEEP(*(.init))
|
KEEP(*(.init))
|
||||||
. = ALIGN(4);
|
. = ALIGN(8);
|
||||||
__preinit_array_start = .;
|
__preinit_array_start = .;
|
||||||
KEEP (*(.preinit_array))
|
KEEP (*(.preinit_array))
|
||||||
__preinit_array_end = .;
|
__preinit_array_end = .;
|
||||||
|
|
||||||
. = ALIGN(4);
|
. = ALIGN(8);
|
||||||
__init_array_start = .;
|
__init_array_start = .;
|
||||||
KEEP (*(SORT(.init_array.*)))
|
KEEP (*(SORT(.init_array.*)))
|
||||||
KEEP (*(.init_array))
|
KEEP (*(.init_array))
|
||||||
__init_array_end = .;
|
__init_array_end = .;
|
||||||
|
|
||||||
. = ALIGN(4);
|
. = ALIGN(8);
|
||||||
KEEP (*crtbegin.o(.ctors))
|
KEEP (*crtbegin.o(.ctors))
|
||||||
KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors))
|
KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors))
|
||||||
KEEP (*(SORT(.ctors.*)))
|
KEEP (*(SORT(.ctors.*)))
|
||||||
KEEP (*crtend.o(.ctors))
|
KEEP (*crtend.o(.ctors))
|
||||||
|
|
||||||
. = ALIGN(4);
|
. = ALIGN(8);
|
||||||
KEEP(*(.fini))
|
KEEP(*(.fini))
|
||||||
|
|
||||||
. = ALIGN(4);
|
. = ALIGN(8);
|
||||||
__fini_array_start = .;
|
__fini_array_start = .;
|
||||||
KEEP (*(.fini_array))
|
KEEP (*(.fini_array))
|
||||||
KEEP (*(SORT(.fini_array.*)))
|
KEEP (*(SORT(.fini_array.*)))
|
||||||
|
|
@ -58,7 +58,7 @@ MEMORY {
|
||||||
KEEP (*(SORT(.dtors.*)))
|
KEEP (*(SORT(.dtors.*)))
|
||||||
KEEP (*crtend.o(.dtors))
|
KEEP (*crtend.o(.dtors))
|
||||||
|
|
||||||
. = ALIGN(4);
|
. = ALIGN(8);
|
||||||
_efixed = .; /* End of text section */
|
_efixed = .; /* End of text section */
|
||||||
} > rom
|
} > rom
|
||||||
|
|
||||||
|
|
@ -70,36 +70,36 @@ MEMORY {
|
||||||
} > rom
|
} > rom
|
||||||
PROVIDE_HIDDEN (__exidx_end = .);
|
PROVIDE_HIDDEN (__exidx_end = .);
|
||||||
|
|
||||||
. = ALIGN(4);
|
. = ALIGN(8);
|
||||||
_etext = .;
|
_etext = .;
|
||||||
|
|
||||||
.relocate :
|
.relocate :
|
||||||
AT (_etext)
|
AT (_etext)
|
||||||
{
|
{
|
||||||
. = ALIGN(4);
|
. = ALIGN(8);
|
||||||
_srelocate = .;
|
_srelocate = .;
|
||||||
*(.ramfunc .ramfunc.*);
|
*(.ramfunc .ramfunc.*);
|
||||||
*(.data .data.*);
|
*(.data .data.*);
|
||||||
. = ALIGN(4);
|
. = ALIGN(8);
|
||||||
_erelocate = .;
|
_erelocate = .;
|
||||||
} > ram
|
} > ram
|
||||||
|
|
||||||
/* .bss section which is used for uninitialized data */
|
/* .bss section which is used for uninitialized data */
|
||||||
.bss (NOLOAD) :
|
.bss (NOLOAD) :
|
||||||
{
|
{
|
||||||
. = ALIGN(4);
|
. = ALIGN(8);
|
||||||
_sbss = . ;
|
_sbss = . ;
|
||||||
_szero = .;
|
_szero = .;
|
||||||
*(.bss .bss.*)
|
*(.bss .bss.*)
|
||||||
*(COMMON)
|
*(COMMON)
|
||||||
. = ALIGN(4);
|
. = ALIGN(8);
|
||||||
_ebss = . ;
|
_ebss = . ;
|
||||||
_ezero = .;
|
_ezero = .;
|
||||||
} > ram
|
} > ram
|
||||||
|
|
||||||
.heap (NOLOAD) :
|
.heap (NOLOAD) :
|
||||||
{
|
{
|
||||||
. = ALIGN(4);
|
. = ALIGN(8);
|
||||||
__end__ = . ;
|
__end__ = . ;
|
||||||
. = ORIGIN(ram) + LENGTH(ram) - STACK_SIZE;
|
. = ORIGIN(ram) + LENGTH(ram) - STACK_SIZE;
|
||||||
} > ram
|
} > ram
|
||||||
|
|
@ -114,5 +114,5 @@ MEMORY {
|
||||||
_estack = .;
|
_estack = .;
|
||||||
} > ram
|
} > ram
|
||||||
|
|
||||||
. = ALIGN(4);
|
. = ALIGN(8);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -11,8 +11,8 @@ LR_IROM1 0x00000000 0x40000 { ; load region size_region
|
||||||
.ANY (+RO)
|
.ANY (+RO)
|
||||||
}
|
}
|
||||||
|
|
||||||
; [RAM] Vector table dynamic copy: 45 vectors * 4 bytes = (0xB4) - alignment
|
; [RAM] Vector table dynamic copy: 45 vectors * 4 bytes = (0xB4 +0x4) 8-byte alignment
|
||||||
RW_IRAM1 (0x20000000+0xB4) (0x8000-0xB4) { ; RW data
|
RW_IRAM1 (0x20000000+0xB8) (0x8000-0xB8) { ; RW data
|
||||||
.ANY (+RW +ZI)
|
.ANY (+RW +ZI)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -11,8 +11,8 @@ LR_IROM1 0x00000000 0x40000 { ; load region size_region
|
||||||
.ANY (+RO)
|
.ANY (+RO)
|
||||||
}
|
}
|
||||||
|
|
||||||
; [RAM] Vector table dynamic copy: 45 vectors * 4 bytes = (0xB4) - alignment
|
; [RAM] Vector table dynamic copy: 45 vectors * 4 bytes = (0xB4+0x4) 8-byte alignment
|
||||||
RW_IRAM1 (0x20000000+0xB4) (0x8000-0xB4) { ; RW data
|
RW_IRAM1 (0x20000000+0xB8) (0x8000-0xB8) { ; RW data
|
||||||
.ANY (+RW +ZI)
|
.ANY (+RW +ZI)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@ SEARCH_DIR(.)
|
||||||
/* Memory Spaces Definitions */
|
/* Memory Spaces Definitions */
|
||||||
MEMORY {
|
MEMORY {
|
||||||
rom (rx) : ORIGIN = 0x00000000, LENGTH = 0x00040000
|
rom (rx) : ORIGIN = 0x00000000, LENGTH = 0x00040000
|
||||||
ram (rwx) : ORIGIN = 0x20000000 + 0xB4, LENGTH = 0x00008000 - 0xB4
|
ram (rwx) : ORIGIN = 0x20000000 + 0xB8, LENGTH = 0x00008000 - 0xB8
|
||||||
}
|
}
|
||||||
|
|
||||||
/* The stack size used by the application. NOTE: you need to adjust according to your application. */
|
/* The stack size used by the application. NOTE: you need to adjust according to your application. */
|
||||||
|
|
@ -15,7 +15,7 @@ MEMORY {
|
||||||
SECTIONS {
|
SECTIONS {
|
||||||
.text :
|
.text :
|
||||||
{
|
{
|
||||||
. = ALIGN(4);
|
. = ALIGN(8);
|
||||||
_sfixed = .;
|
_sfixed = .;
|
||||||
KEEP(*(.vectors .vectors.*))
|
KEEP(*(.vectors .vectors.*))
|
||||||
*(.text .text.* .gnu.linkonce.t.*)
|
*(.text .text.* .gnu.linkonce.t.*)
|
||||||
|
|
@ -25,29 +25,29 @@ MEMORY {
|
||||||
|
|
||||||
/* Support C constructors, and C destructors in both user code
|
/* Support C constructors, and C destructors in both user code
|
||||||
and the C library. This also provides support for C++ code. */
|
and the C library. This also provides support for C++ code. */
|
||||||
. = ALIGN(4);
|
. = ALIGN(8);
|
||||||
KEEP(*(.init))
|
KEEP(*(.init))
|
||||||
. = ALIGN(4);
|
. = ALIGN(8);
|
||||||
__preinit_array_start = .;
|
__preinit_array_start = .;
|
||||||
KEEP (*(.preinit_array))
|
KEEP (*(.preinit_array))
|
||||||
__preinit_array_end = .;
|
__preinit_array_end = .;
|
||||||
|
|
||||||
. = ALIGN(4);
|
. = ALIGN(8);
|
||||||
__init_array_start = .;
|
__init_array_start = .;
|
||||||
KEEP (*(SORT(.init_array.*)))
|
KEEP (*(SORT(.init_array.*)))
|
||||||
KEEP (*(.init_array))
|
KEEP (*(.init_array))
|
||||||
__init_array_end = .;
|
__init_array_end = .;
|
||||||
|
|
||||||
. = ALIGN(4);
|
. = ALIGN(8);
|
||||||
KEEP (*crtbegin.o(.ctors))
|
KEEP (*crtbegin.o(.ctors))
|
||||||
KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors))
|
KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors))
|
||||||
KEEP (*(SORT(.ctors.*)))
|
KEEP (*(SORT(.ctors.*)))
|
||||||
KEEP (*crtend.o(.ctors))
|
KEEP (*crtend.o(.ctors))
|
||||||
|
|
||||||
. = ALIGN(4);
|
. = ALIGN(8);
|
||||||
KEEP(*(.fini))
|
KEEP(*(.fini))
|
||||||
|
|
||||||
. = ALIGN(4);
|
. = ALIGN(8);
|
||||||
__fini_array_start = .;
|
__fini_array_start = .;
|
||||||
KEEP (*(.fini_array))
|
KEEP (*(.fini_array))
|
||||||
KEEP (*(SORT(.fini_array.*)))
|
KEEP (*(SORT(.fini_array.*)))
|
||||||
|
|
@ -58,7 +58,7 @@ MEMORY {
|
||||||
KEEP (*(SORT(.dtors.*)))
|
KEEP (*(SORT(.dtors.*)))
|
||||||
KEEP (*crtend.o(.dtors))
|
KEEP (*crtend.o(.dtors))
|
||||||
|
|
||||||
. = ALIGN(4);
|
. = ALIGN(8);
|
||||||
_efixed = .; /* End of text section */
|
_efixed = .; /* End of text section */
|
||||||
} > rom
|
} > rom
|
||||||
|
|
||||||
|
|
@ -70,36 +70,36 @@ MEMORY {
|
||||||
} > rom
|
} > rom
|
||||||
PROVIDE_HIDDEN (__exidx_end = .);
|
PROVIDE_HIDDEN (__exidx_end = .);
|
||||||
|
|
||||||
. = ALIGN(4);
|
. = ALIGN(8);
|
||||||
_etext = .;
|
_etext = .;
|
||||||
|
|
||||||
.relocate :
|
.relocate :
|
||||||
AT (_etext)
|
AT (_etext)
|
||||||
{
|
{
|
||||||
. = ALIGN(4);
|
. = ALIGN(8);
|
||||||
_srelocate = .;
|
_srelocate = .;
|
||||||
*(.ramfunc .ramfunc.*);
|
*(.ramfunc .ramfunc.*);
|
||||||
*(.data .data.*);
|
*(.data .data.*);
|
||||||
. = ALIGN(4);
|
. = ALIGN(8);
|
||||||
_erelocate = .;
|
_erelocate = .;
|
||||||
} > ram
|
} > ram
|
||||||
|
|
||||||
/* .bss section which is used for uninitialized data */
|
/* .bss section which is used for uninitialized data */
|
||||||
.bss (NOLOAD) :
|
.bss (NOLOAD) :
|
||||||
{
|
{
|
||||||
. = ALIGN(4);
|
. = ALIGN(8);
|
||||||
_sbss = . ;
|
_sbss = . ;
|
||||||
_szero = .;
|
_szero = .;
|
||||||
*(.bss .bss.*)
|
*(.bss .bss.*)
|
||||||
*(COMMON)
|
*(COMMON)
|
||||||
. = ALIGN(4);
|
. = ALIGN(8);
|
||||||
_ebss = . ;
|
_ebss = . ;
|
||||||
_ezero = .;
|
_ezero = .;
|
||||||
} > ram
|
} > ram
|
||||||
|
|
||||||
.heap (NOLOAD) :
|
.heap (NOLOAD) :
|
||||||
{
|
{
|
||||||
. = ALIGN(4);
|
. = ALIGN(8);
|
||||||
__end__ = . ;
|
__end__ = . ;
|
||||||
. = ORIGIN(ram) + LENGTH(ram) - STACK_SIZE;
|
. = ORIGIN(ram) + LENGTH(ram) - STACK_SIZE;
|
||||||
} > ram
|
} > ram
|
||||||
|
|
@ -114,5 +114,5 @@ MEMORY {
|
||||||
_estack = .;
|
_estack = .;
|
||||||
} > ram
|
} > ram
|
||||||
|
|
||||||
. = ALIGN(4);
|
. = ALIGN(8);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -18,8 +18,8 @@ LR_IROM1 0x00000000 0x40000 { ;
|
||||||
}
|
}
|
||||||
|
|
||||||
;
|
;
|
||||||
[RAM] Vector table dynamic copy: 45 vectors * 4 bytes = (0xB4) - alignment
|
[RAM] Vector table dynamic copy: 45 vectors * 4 bytes = (0xB4+0x4) 8-byte alignment
|
||||||
RW_IRAM1 (0x20000000+0xB4) (0x8000-0xB4)
|
RW_IRAM1 (0x20000000+0xB8) (0x8000-0xB8)
|
||||||
{
|
{
|
||||||
;
|
;
|
||||||
RW data
|
RW data
|
||||||
|
|
|
||||||
|
|
@ -10,8 +10,8 @@ LR_IROM1 0x00000000 0x40000 { ; load region size_region
|
||||||
.ANY (+RO)
|
.ANY (+RO)
|
||||||
}
|
}
|
||||||
|
|
||||||
; [RAM] Vector table dynamic copy: 45 vectors * 4 bytes = (0xB4) - alignment
|
; [RAM] Vector table dynamic copy: 45 vectors * 4 bytes = (0xB4+0x4) 8-byte alignment
|
||||||
RW_IRAM1 (0x20000000+0xB4) (0x8000-0xB4) { ; RW data
|
RW_IRAM1 (0x20000000+0xB8) (0x8000-0xB8) { ; RW data
|
||||||
.ANY (+RW +ZI)
|
.ANY (+RW +ZI)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@ SEARCH_DIR(.)
|
||||||
/* Memory Spaces Definitions */
|
/* Memory Spaces Definitions */
|
||||||
MEMORY {
|
MEMORY {
|
||||||
rom (rx) : ORIGIN = 0x00000000, LENGTH = 0x00040000
|
rom (rx) : ORIGIN = 0x00000000, LENGTH = 0x00040000
|
||||||
ram (rwx) : ORIGIN = 0x20000000 + 0xB4, LENGTH = 0x00008000 - 0xB4
|
ram (rwx) : ORIGIN = 0x20000000 + 0xB8, LENGTH = 0x00008000 - 0xB8
|
||||||
}
|
}
|
||||||
|
|
||||||
/* The stack size used by the application. NOTE: you need to adjust according to your application. */
|
/* The stack size used by the application. NOTE: you need to adjust according to your application. */
|
||||||
|
|
@ -15,7 +15,7 @@ MEMORY {
|
||||||
SECTIONS {
|
SECTIONS {
|
||||||
.text :
|
.text :
|
||||||
{
|
{
|
||||||
. = ALIGN(4);
|
. = ALIGN(8);
|
||||||
_sfixed = .;
|
_sfixed = .;
|
||||||
KEEP(*(.vectors .vectors.*))
|
KEEP(*(.vectors .vectors.*))
|
||||||
*(.text .text.* .gnu.linkonce.t.*)
|
*(.text .text.* .gnu.linkonce.t.*)
|
||||||
|
|
@ -25,29 +25,29 @@ MEMORY {
|
||||||
|
|
||||||
/* Support C constructors, and C destructors in both user code
|
/* Support C constructors, and C destructors in both user code
|
||||||
and the C library. This also provides support for C++ code. */
|
and the C library. This also provides support for C++ code. */
|
||||||
. = ALIGN(4);
|
. = ALIGN(8);
|
||||||
KEEP(*(.init))
|
KEEP(*(.init))
|
||||||
. = ALIGN(4);
|
. = ALIGN(8);
|
||||||
__preinit_array_start = .;
|
__preinit_array_start = .;
|
||||||
KEEP (*(.preinit_array))
|
KEEP (*(.preinit_array))
|
||||||
__preinit_array_end = .;
|
__preinit_array_end = .;
|
||||||
|
|
||||||
. = ALIGN(4);
|
. = ALIGN(8);
|
||||||
__init_array_start = .;
|
__init_array_start = .;
|
||||||
KEEP (*(SORT(.init_array.*)))
|
KEEP (*(SORT(.init_array.*)))
|
||||||
KEEP (*(.init_array))
|
KEEP (*(.init_array))
|
||||||
__init_array_end = .;
|
__init_array_end = .;
|
||||||
|
|
||||||
. = ALIGN(4);
|
. = ALIGN(8);
|
||||||
KEEP (*crtbegin.o(.ctors))
|
KEEP (*crtbegin.o(.ctors))
|
||||||
KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors))
|
KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors))
|
||||||
KEEP (*(SORT(.ctors.*)))
|
KEEP (*(SORT(.ctors.*)))
|
||||||
KEEP (*crtend.o(.ctors))
|
KEEP (*crtend.o(.ctors))
|
||||||
|
|
||||||
. = ALIGN(4);
|
. = ALIGN(8);
|
||||||
KEEP(*(.fini))
|
KEEP(*(.fini))
|
||||||
|
|
||||||
. = ALIGN(4);
|
. = ALIGN(8);
|
||||||
__fini_array_start = .;
|
__fini_array_start = .;
|
||||||
KEEP (*(.fini_array))
|
KEEP (*(.fini_array))
|
||||||
KEEP (*(SORT(.fini_array.*)))
|
KEEP (*(SORT(.fini_array.*)))
|
||||||
|
|
@ -58,7 +58,7 @@ MEMORY {
|
||||||
KEEP (*(SORT(.dtors.*)))
|
KEEP (*(SORT(.dtors.*)))
|
||||||
KEEP (*crtend.o(.dtors))
|
KEEP (*crtend.o(.dtors))
|
||||||
|
|
||||||
. = ALIGN(4);
|
. = ALIGN(8);
|
||||||
_efixed = .; /* End of text section */
|
_efixed = .; /* End of text section */
|
||||||
} > rom
|
} > rom
|
||||||
|
|
||||||
|
|
@ -70,36 +70,36 @@ MEMORY {
|
||||||
} > rom
|
} > rom
|
||||||
PROVIDE_HIDDEN (__exidx_end = .);
|
PROVIDE_HIDDEN (__exidx_end = .);
|
||||||
|
|
||||||
. = ALIGN(4);
|
. = ALIGN(8);
|
||||||
_etext = .;
|
_etext = .;
|
||||||
|
|
||||||
.relocate :
|
.relocate :
|
||||||
AT (_etext)
|
AT (_etext)
|
||||||
{
|
{
|
||||||
. = ALIGN(4);
|
. = ALIGN(8);
|
||||||
_srelocate = .;
|
_srelocate = .;
|
||||||
*(.ramfunc .ramfunc.*);
|
*(.ramfunc .ramfunc.*);
|
||||||
*(.data .data.*);
|
*(.data .data.*);
|
||||||
. = ALIGN(4);
|
. = ALIGN(8);
|
||||||
_erelocate = .;
|
_erelocate = .;
|
||||||
} > ram
|
} > ram
|
||||||
|
|
||||||
/* .bss section which is used for uninitialized data */
|
/* .bss section which is used for uninitialized data */
|
||||||
.bss (NOLOAD) :
|
.bss (NOLOAD) :
|
||||||
{
|
{
|
||||||
. = ALIGN(4);
|
. = ALIGN(8);
|
||||||
_sbss = . ;
|
_sbss = . ;
|
||||||
_szero = .;
|
_szero = .;
|
||||||
*(.bss .bss.*)
|
*(.bss .bss.*)
|
||||||
*(COMMON)
|
*(COMMON)
|
||||||
. = ALIGN(4);
|
. = ALIGN(8);
|
||||||
_ebss = . ;
|
_ebss = . ;
|
||||||
_ezero = .;
|
_ezero = .;
|
||||||
} > ram
|
} > ram
|
||||||
|
|
||||||
.heap (NOLOAD) :
|
.heap (NOLOAD) :
|
||||||
{
|
{
|
||||||
. = ALIGN(4);
|
. = ALIGN(8);
|
||||||
__end__ = . ;
|
__end__ = . ;
|
||||||
. = ORIGIN(ram) + LENGTH(ram) - STACK_SIZE;
|
. = ORIGIN(ram) + LENGTH(ram) - STACK_SIZE;
|
||||||
} > ram
|
} > ram
|
||||||
|
|
@ -114,5 +114,5 @@ MEMORY {
|
||||||
_estack = .;
|
_estack = .;
|
||||||
} > ram
|
} > ram
|
||||||
|
|
||||||
. = ALIGN(4);
|
. = ALIGN(8);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -15,7 +15,7 @@ MEMORY {
|
||||||
SECTIONS {
|
SECTIONS {
|
||||||
.text :
|
.text :
|
||||||
{
|
{
|
||||||
. = ALIGN(4);
|
. = ALIGN(8);
|
||||||
_sfixed = .;
|
_sfixed = .;
|
||||||
KEEP(*(.vectors .vectors.*))
|
KEEP(*(.vectors .vectors.*))
|
||||||
*(.text .text.* .gnu.linkonce.t.*)
|
*(.text .text.* .gnu.linkonce.t.*)
|
||||||
|
|
@ -25,29 +25,29 @@ MEMORY {
|
||||||
|
|
||||||
/* Support C constructors, and C destructors in both user code
|
/* Support C constructors, and C destructors in both user code
|
||||||
and the C library. This also provides support for C++ code. */
|
and the C library. This also provides support for C++ code. */
|
||||||
. = ALIGN(4);
|
. = ALIGN(8);
|
||||||
KEEP(*(.init))
|
KEEP(*(.init))
|
||||||
. = ALIGN(4);
|
. = ALIGN(8);
|
||||||
__preinit_array_start = .;
|
__preinit_array_start = .;
|
||||||
KEEP (*(.preinit_array))
|
KEEP (*(.preinit_array))
|
||||||
__preinit_array_end = .;
|
__preinit_array_end = .;
|
||||||
|
|
||||||
. = ALIGN(4);
|
. = ALIGN(8);
|
||||||
__init_array_start = .;
|
__init_array_start = .;
|
||||||
KEEP (*(SORT(.init_array.*)))
|
KEEP (*(SORT(.init_array.*)))
|
||||||
KEEP (*(.init_array))
|
KEEP (*(.init_array))
|
||||||
__init_array_end = .;
|
__init_array_end = .;
|
||||||
|
|
||||||
. = ALIGN(4);
|
. = ALIGN(8);
|
||||||
KEEP (*crtbegin.o(.ctors))
|
KEEP (*crtbegin.o(.ctors))
|
||||||
KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors))
|
KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors))
|
||||||
KEEP (*(SORT(.ctors.*)))
|
KEEP (*(SORT(.ctors.*)))
|
||||||
KEEP (*crtend.o(.ctors))
|
KEEP (*crtend.o(.ctors))
|
||||||
|
|
||||||
. = ALIGN(4);
|
. = ALIGN(8);
|
||||||
KEEP(*(.fini))
|
KEEP(*(.fini))
|
||||||
|
|
||||||
. = ALIGN(4);
|
. = ALIGN(8);
|
||||||
__fini_array_start = .;
|
__fini_array_start = .;
|
||||||
KEEP (*(.fini_array))
|
KEEP (*(.fini_array))
|
||||||
KEEP (*(SORT(.fini_array.*)))
|
KEEP (*(SORT(.fini_array.*)))
|
||||||
|
|
@ -58,7 +58,7 @@ MEMORY {
|
||||||
KEEP (*(SORT(.dtors.*)))
|
KEEP (*(SORT(.dtors.*)))
|
||||||
KEEP (*crtend.o(.dtors))
|
KEEP (*crtend.o(.dtors))
|
||||||
|
|
||||||
. = ALIGN(4);
|
. = ALIGN(8);
|
||||||
_efixed = .; /* End of text section */
|
_efixed = .; /* End of text section */
|
||||||
} > rom
|
} > rom
|
||||||
|
|
||||||
|
|
@ -70,36 +70,36 @@ MEMORY {
|
||||||
} > rom
|
} > rom
|
||||||
PROVIDE_HIDDEN (__exidx_end = .);
|
PROVIDE_HIDDEN (__exidx_end = .);
|
||||||
|
|
||||||
. = ALIGN(4);
|
. = ALIGN(8);
|
||||||
_etext = .;
|
_etext = .;
|
||||||
|
|
||||||
.relocate :
|
.relocate :
|
||||||
AT (_etext)
|
AT (_etext)
|
||||||
{
|
{
|
||||||
. = ALIGN(4);
|
. = ALIGN(8);
|
||||||
_srelocate = .;
|
_srelocate = .;
|
||||||
*(.ramfunc .ramfunc.*);
|
*(.ramfunc .ramfunc.*);
|
||||||
*(.data .data.*);
|
*(.data .data.*);
|
||||||
. = ALIGN(4);
|
. = ALIGN(8);
|
||||||
_erelocate = .;
|
_erelocate = .;
|
||||||
} > ram
|
} > ram
|
||||||
|
|
||||||
/* .bss section which is used for uninitialized data */
|
/* .bss section which is used for uninitialized data */
|
||||||
.bss (NOLOAD) :
|
.bss (NOLOAD) :
|
||||||
{
|
{
|
||||||
. = ALIGN(4);
|
. = ALIGN(8);
|
||||||
_sbss = . ;
|
_sbss = . ;
|
||||||
_szero = .;
|
_szero = .;
|
||||||
*(.bss .bss.*)
|
*(.bss .bss.*)
|
||||||
*(COMMON)
|
*(COMMON)
|
||||||
. = ALIGN(4);
|
. = ALIGN(8);
|
||||||
_ebss = . ;
|
_ebss = . ;
|
||||||
_ezero = .;
|
_ezero = .;
|
||||||
} > ram
|
} > ram
|
||||||
|
|
||||||
.heap (NOLOAD) :
|
.heap (NOLOAD) :
|
||||||
{
|
{
|
||||||
. = ALIGN(4);
|
. = ALIGN(8);
|
||||||
__end__ = . ;
|
__end__ = . ;
|
||||||
. = ORIGIN(ram) + LENGTH(ram) - STACK_SIZE;
|
. = ORIGIN(ram) + LENGTH(ram) - STACK_SIZE;
|
||||||
} > ram
|
} > ram
|
||||||
|
|
@ -114,5 +114,5 @@ MEMORY {
|
||||||
_estack = .;
|
_estack = .;
|
||||||
} > ram
|
} > ram
|
||||||
|
|
||||||
. = ALIGN(4);
|
. = ALIGN(8);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -15,7 +15,7 @@ MEMORY {
|
||||||
SECTIONS {
|
SECTIONS {
|
||||||
.text :
|
.text :
|
||||||
{
|
{
|
||||||
. = ALIGN(4);
|
. = ALIGN(8);
|
||||||
_sfixed = .;
|
_sfixed = .;
|
||||||
KEEP(*(.vectors .vectors.*))
|
KEEP(*(.vectors .vectors.*))
|
||||||
*(.text .text.* .gnu.linkonce.t.*)
|
*(.text .text.* .gnu.linkonce.t.*)
|
||||||
|
|
@ -25,29 +25,29 @@ MEMORY {
|
||||||
|
|
||||||
/* Support C constructors, and C destructors in both user code
|
/* Support C constructors, and C destructors in both user code
|
||||||
and the C library. This also provides support for C++ code. */
|
and the C library. This also provides support for C++ code. */
|
||||||
. = ALIGN(4);
|
. = ALIGN(8);
|
||||||
KEEP(*(.init))
|
KEEP(*(.init))
|
||||||
. = ALIGN(4);
|
. = ALIGN(8);
|
||||||
__preinit_array_start = .;
|
__preinit_array_start = .;
|
||||||
KEEP (*(.preinit_array))
|
KEEP (*(.preinit_array))
|
||||||
__preinit_array_end = .;
|
__preinit_array_end = .;
|
||||||
|
|
||||||
. = ALIGN(4);
|
. = ALIGN(8);
|
||||||
__init_array_start = .;
|
__init_array_start = .;
|
||||||
KEEP (*(SORT(.init_array.*)))
|
KEEP (*(SORT(.init_array.*)))
|
||||||
KEEP (*(.init_array))
|
KEEP (*(.init_array))
|
||||||
__init_array_end = .;
|
__init_array_end = .;
|
||||||
|
|
||||||
. = ALIGN(4);
|
. = ALIGN(8);
|
||||||
KEEP (*crtbegin.o(.ctors))
|
KEEP (*crtbegin.o(.ctors))
|
||||||
KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors))
|
KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors))
|
||||||
KEEP (*(SORT(.ctors.*)))
|
KEEP (*(SORT(.ctors.*)))
|
||||||
KEEP (*crtend.o(.ctors))
|
KEEP (*crtend.o(.ctors))
|
||||||
|
|
||||||
. = ALIGN(4);
|
. = ALIGN(8);
|
||||||
KEEP(*(.fini))
|
KEEP(*(.fini))
|
||||||
|
|
||||||
. = ALIGN(4);
|
. = ALIGN(8);
|
||||||
__fini_array_start = .;
|
__fini_array_start = .;
|
||||||
KEEP (*(.fini_array))
|
KEEP (*(.fini_array))
|
||||||
KEEP (*(SORT(.fini_array.*)))
|
KEEP (*(SORT(.fini_array.*)))
|
||||||
|
|
@ -58,7 +58,7 @@ MEMORY {
|
||||||
KEEP (*(SORT(.dtors.*)))
|
KEEP (*(SORT(.dtors.*)))
|
||||||
KEEP (*crtend.o(.dtors))
|
KEEP (*crtend.o(.dtors))
|
||||||
|
|
||||||
. = ALIGN(4);
|
. = ALIGN(8);
|
||||||
_efixed = .; /* End of text section */
|
_efixed = .; /* End of text section */
|
||||||
} > rom
|
} > rom
|
||||||
|
|
||||||
|
|
@ -70,36 +70,36 @@ MEMORY {
|
||||||
} > rom
|
} > rom
|
||||||
PROVIDE_HIDDEN (__exidx_end = .);
|
PROVIDE_HIDDEN (__exidx_end = .);
|
||||||
|
|
||||||
. = ALIGN(4);
|
. = ALIGN(8);
|
||||||
_etext = .;
|
_etext = .;
|
||||||
|
|
||||||
.relocate :
|
.relocate :
|
||||||
AT (_etext)
|
AT (_etext)
|
||||||
{
|
{
|
||||||
. = ALIGN(4);
|
. = ALIGN(8);
|
||||||
_srelocate = .;
|
_srelocate = .;
|
||||||
*(.ramfunc .ramfunc.*);
|
*(.ramfunc .ramfunc.*);
|
||||||
*(.data .data.*);
|
*(.data .data.*);
|
||||||
. = ALIGN(4);
|
. = ALIGN(8);
|
||||||
_erelocate = .;
|
_erelocate = .;
|
||||||
} > ram
|
} > ram
|
||||||
|
|
||||||
/* .bss section which is used for uninitialized data */
|
/* .bss section which is used for uninitialized data */
|
||||||
.bss (NOLOAD) :
|
.bss (NOLOAD) :
|
||||||
{
|
{
|
||||||
. = ALIGN(4);
|
. = ALIGN(8);
|
||||||
_sbss = . ;
|
_sbss = . ;
|
||||||
_szero = .;
|
_szero = .;
|
||||||
*(.bss .bss.*)
|
*(.bss .bss.*)
|
||||||
*(COMMON)
|
*(COMMON)
|
||||||
. = ALIGN(4);
|
. = ALIGN(8);
|
||||||
_ebss = . ;
|
_ebss = . ;
|
||||||
_ezero = .;
|
_ezero = .;
|
||||||
} > ram
|
} > ram
|
||||||
|
|
||||||
.heap (NOLOAD) :
|
.heap (NOLOAD) :
|
||||||
{
|
{
|
||||||
. = ALIGN(4);
|
. = ALIGN(8);
|
||||||
__end__ = . ;
|
__end__ = . ;
|
||||||
. = ORIGIN(ram) + LENGTH(ram) - STACK_SIZE;
|
. = ORIGIN(ram) + LENGTH(ram) - STACK_SIZE;
|
||||||
} > ram
|
} > ram
|
||||||
|
|
@ -114,5 +114,5 @@ MEMORY {
|
||||||
_estack = .;
|
_estack = .;
|
||||||
} > ram
|
} > ram
|
||||||
|
|
||||||
. = ALIGN(4);
|
. = ALIGN(8);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue