This patch cleanup spaces and improves section alignments in basic
firware linker scripts.
tests/arm32/common/basic/firmware.ld | 108 ++++++++++++++-------------
tests/arm64/common/basic/firmware.ld | 53 +++++++------
tests/riscv/common/basic/firmware.ld | 5 +-
3 files changed, 89 insertions(+), 77 deletions(-)
diff --git a/tests/arm32/common/basic/firmware.ld b/tests/arm32/common/basic/firmware.ld
index 8e8755a1..414d8eba 100755
--- a/tests/arm32/common/basic/firmware.ld
+++ b/tests/arm32/common/basic/firmware.ld
@@ -33,13 +33,15 @@ SECTIONS
PROVIDE(_reloc_region_start = .);
.text :
- {
+ {
*(.expvect)
*(.text)
. = ALIGN(16);
_etext = .;
}
+ . = ALIGN(4096);
+
.data :
{
*(.data)
@@ -47,6 +49,8 @@ SECTIONS
_edata = .;
}
+ . = ALIGN(4096);
+
.rodata :
{
*(.rodata .rodata.*)
@@ -54,7 +58,7 @@ SECTIONS
_erodata = .;
}
- . = ALIGN(16);
+ . = ALIGN(4096);
PROVIDE(_reloc_region_end = .);
@@ -69,66 +73,68 @@ SECTIONS
PROVIDE(_bss_end = .);
}
+ . = ALIGN(4096);
+
.heap :
{
PROVIDE(_heap_start = .);
*(.heap)
- . = . + 8192;
+ . = . + 8192;
. = ALIGN(4);
PROVIDE(_heap_end = .);
}
- . = ALIGN(16);
+ . = ALIGN(4096);
PROVIDE(_zero_region_end = .);
- .svc_stack :
- {
- PROVIDE(_svc_stack_start = .);
- . = . + 4096;
- . = ALIGN(4);
- PROVIDE(_svc_stack_end = .);
- }
-
- .abt_stack :
- {
- PROVIDE(_abt_stack_start = .);
- . = . + 4096;
- . = ALIGN(4);
- PROVIDE(_abt_stack_end = .);
- }
-
- .und_stack :
- {
- PROVIDE(_und_stack_start = .);
- . = . + 4096;
- . = ALIGN(4);
- PROVIDE(_und_stack_end = .);
- }
-
- .irq_stack :
- {
- PROVIDE(_irq_stack_start = .);
- . = . + 4096;
- . = ALIGN(4);
- PROVIDE(_irq_stack_end = .);
- }
-
- .fiq_stack :
- {
- PROVIDE(_fiq_stack_start = .);
- . = . + 4096;
- . = ALIGN(4);
- PROVIDE(_fiq_stack_end = .);
- }
-
- .usr_stack :
- {
- PROVIDE(_usr_stack_start = .);
- . = . + USR_STACK_SIZE ;
- . = ALIGN(4);
- PROVIDE(_usr_stack_end = .);
- }
+ .svc_stack :
+ {
+ PROVIDE(_svc_stack_start = .);
+ . = . + 4096;
+ . = ALIGN(4);
+ PROVIDE(_svc_stack_end = .);
+ }
+
+ .abt_stack :
+ {
+ PROVIDE(_abt_stack_start = .);
+ . = . + 4096;
+ . = ALIGN(4);
+ PROVIDE(_abt_stack_end = .);
+ }
+
+ .und_stack :
+ {
+ PROVIDE(_und_stack_start = .);
+ . = . + 4096;
+ . = ALIGN(4);
+ PROVIDE(_und_stack_end = .);
+ }
+
+ .irq_stack :
+ {
+ PROVIDE(_irq_stack_start = .);
+ . = . + 4096;
+ . = ALIGN(4);
+ PROVIDE(_irq_stack_end = .);
+ }
+
+ .fiq_stack :
+ {
+ PROVIDE(_fiq_stack_start = .);
+ . = . + 4096;
+ . = ALIGN(4);
+ PROVIDE(_fiq_stack_end = .);
+ }
+
+ .usr_stack :
+ {
+ PROVIDE(_usr_stack_start = .);
+ . = . + USR_STACK_SIZE ;
+ . = ALIGN(4);
+ PROVIDE(_usr_stack_end = .);
+ }
PROVIDE(_code_end = .);
}
diff --git a/tests/arm64/common/basic/firmware.ld b/tests/arm64/common/basic/firmware.ld
index 0d09bc01..92eb8f70 100755
--- a/tests/arm64/common/basic/firmware.ld
+++ b/tests/arm64/common/basic/firmware.ld
@@ -33,27 +33,32 @@ SECTIONS
PROVIDE(_reloc_region_start = .);
.text :
- {
+ {
*(.entry)
*(.text)
+ . = ALIGN(8);
_etext = .;
}
+ . = ALIGN(4096);
+
.data :
{
- . = ALIGN(8);
*(.data)
+ . = ALIGN(8);
_edata = .;
}
+ . = ALIGN(4096);
+
.rodata :
{
- . = ALIGN(8);
*(.rodata .rodata.*)
+ . = ALIGN(8);
_erodata = .;
}
- . = ALIGN(8);
+ . = ALIGN(4096);
PROVIDE(_reloc_region_end = .);
@@ -61,41 +66,43 @@ SECTIONS
.bss :
{
- . = ALIGN(8);
PROVIDE(_bss_start = .);
*(.bss)
+ . = ALIGN(8);
_ebss = .;
PROVIDE(_bss_end = .);
}
+ . = ALIGN(4096);
+
.heap :
{
- . = ALIGN(8);
PROVIDE(_heap_start = .);
*(.heap)
- . = . + 4096;
+ . = . + 4096;
+ . = ALIGN(8);
PROVIDE(_heap_end = .);
}
- . = ALIGN(8);
+ . = ALIGN(4096);
PROVIDE(_zero_region_end = .);
- .svc_stack :
- {
- PROVIDE(_svc_stack_start = .);
- . = . + 4096;
- . = ALIGN(8);
- PROVIDE(_svc_stack_end = .);
- }
-
- .usr_stack :
- {
- PROVIDE(_usr_stack_start = .);
- . = . + 4096;
- . = ALIGN(8);
- PROVIDE(_usr_stack_end = .);
- }
+ .svc_stack :
+ {
+ PROVIDE(_svc_stack_start = .);
+ . = . + 4096;
+ . = ALIGN(8);
+ PROVIDE(_svc_stack_end = .);
+ }
+
+ .usr_stack :
+ {
+ PROVIDE(_usr_stack_start = .);
+ . = . + 4096;
+ . = ALIGN(8);
+ PROVIDE(_usr_stack_end = .);
+ }
PROVIDE(_code_end = .);
}
diff --git a/tests/riscv/common/basic/firmware.ld b/tests/riscv/common/basic/firmware.ld
index dd078e23..ce12f92e 100755
--- a/tests/riscv/common/basic/firmware.ld
+++ b/tests/riscv/common/basic/firmware.ld
@@ -35,7 +35,7 @@ SECTIONS
/* Beginning of the code section */
.text :
- {
+ {
PROVIDE(_text_start = .);
*(.entry)
*(.text)
@@ -93,10 +93,9 @@ SECTIONS
.heap :
{
- . = ALIGN(8);
PROVIDE(_heap_start = .);
*(.heap)
- . = . + 4096;
+ . = . + 4096;
PROVIDE(_heap_end = .);
}
--
2.34.1