summaryrefslogtreecommitdiffstats
path: root/src/target/firmware/board/common
diff options
context:
space:
mode:
authorIngo Albrecht <prom@berlin.ccc.de>2010-03-13 23:01:23 +0100
committerHarald Welte <laforge@gnumonks.org>2010-04-08 10:35:25 +0200
commit536626044878857667d2d361cd5f021175715567 (patch)
tree4fd2784e7fe78d20db3913e52228c75df945d288 /src/target/firmware/board/common
parente2b491486ffc03fffbcb7d38f577458ed3427804 (diff)
firmware: section symbols.
Diffstat (limited to 'src/target/firmware/board/common')
-rw-r--r--src/target/firmware/board/common/compal_osmoload.lds12
-rw-r--r--src/target/firmware/board/common/compal_ramload.lds13
2 files changed, 23 insertions, 2 deletions
diff --git a/src/target/firmware/board/common/compal_osmoload.lds b/src/target/firmware/board/common/compal_osmoload.lds
index 22d2a050..d2d96d3a 100644
--- a/src/target/firmware/board/common/compal_osmoload.lds
+++ b/src/target/firmware/board/common/compal_osmoload.lds
@@ -20,7 +20,6 @@ SECTIONS
PROVIDE(_start = .);
KEEP(*(.text.start))
*(.text.start)
- _exceptions = .;
} > IRAM
/* exception vectors from 0x80001c to 0x800034 */
@@ -29,6 +28,7 @@ SECTIONS
* (.text.exceptions)
. = ALIGN(4);
} > LRAM
+ PROVIDE(_exceptions = LOADADDR(.text.exceptions));
/* code */
. = ALIGN(4);
@@ -39,18 +39,24 @@ SECTIONS
/* gcc voodoo */
*(.glue_7t) *(.glue_7) *(.vfp11_veneer) *(.v4_bx)
} > IRAM
+ PROVIDE(_text_start = LOADADDR(.text));
+ PROVIDE(_text_end = LOADADDR(.text) + SIZEOF(.text));
/* read-only data */
. = ALIGN(4);
.rodata : {
*(.rodata*)
} > IRAM
+ PROVIDE(_rodata_start = LOADADDR(.rodata));
+ PROVIDE(_rodata_end = LOADADDR(.rodata) + SIZEOF(.rodata));
/* initialized data */
. = ALIGN(4);
.data : {
*(.data)
} > IRAM
+ PROVIDE(_data_start = LOADADDR(.data));
+ PROVIDE(_data_end = LOADADDR(.data) + SIZEOF(.data));
/* pic offset tables */
. = ALIGN(4);
@@ -58,6 +64,8 @@ SECTIONS
*(.got)
*(.got.plt) *(.igot.plt) *(.got) *(.igot)
} > IRAM
+ PROVIDE(_got_start = LOADADDR(.got));
+ PROVIDE(_got_end = LOADADDR(.got) + SIZEOF(.got));
/* uninitialized data */
.bss (NOLOAD) : {
@@ -67,6 +75,8 @@ SECTIONS
} > IRAM
. = ALIGN(4);
__bss_end = .;
+ PROVIDE(_bss_start = __bss_start);
+ PROVIDE(_bss_end = __bss_end);
/* end of image */
. = ALIGN(4);
diff --git a/src/target/firmware/board/common/compal_ramload.lds b/src/target/firmware/board/common/compal_ramload.lds
index 4bddccfe..65a1baa7 100644
--- a/src/target/firmware/board/common/compal_ramload.lds
+++ b/src/target/firmware/board/common/compal_ramload.lds
@@ -24,7 +24,6 @@ SECTIONS
PROVIDE(_start = .);
KEEP(*(.text.start))
*(.text.start)
- _exceptions = .;
} > LRAM
/* exception vectors from 0x80001c to 0x800034 */
@@ -33,6 +32,7 @@ SECTIONS
* (.text.exceptions)
. = ALIGN(4);
} > LRAM
+ PROVIDE(_exceptions = LOADADDR(.text.exceptions));
/* code */
. = ALIGN(4);
@@ -42,19 +42,26 @@ SECTIONS
*(.text*)
/* gcc voodoo */
*(.glue_7t) *(.glue_7) *(.vfp11_veneer) *(.v4_bx)
+ . = ALIGN(4);
} > LRAM
+ PROVIDE(_text_start = LOADADDR(.text));
+ PROVIDE(_text_end = LOADADDR(.text) + SIZEOF(.text));
/* read-only data */
. = ALIGN(4);
.rodata : {
*(.rodata*)
} > LRAM
+ PROVIDE(_rodata_start = LOADADDR(.rodata));
+ PROVIDE(_rodata_end = LOADADDR(.rodata) + SIZEOF(.rodata));
/* initialized data */
. = ALIGN(4);
.data : {
*(.data)
} > LRAM
+ PROVIDE(_data_start = LOADADDR(.data));
+ PROVIDE(_data_end = LOADADDR(.data) + SIZEOF(.data));
/* pic offset tables */
. = ALIGN(4);
@@ -62,6 +69,8 @@ SECTIONS
*(.got)
*(.got.plt) *(.igot.plt) *(.got) *(.igot)
} > LRAM
+ PROVIDE(_got_start = LOADADDR(.got));
+ PROVIDE(_got_end = LOADADDR(.got) + SIZEOF(.got));
/* uninitialized data */
.bss (NOLOAD) : {
@@ -71,6 +80,8 @@ SECTIONS
} > IRAM
. = ALIGN(4);
__bss_end = .;
+ PROVIDE(_bss_start = __bss_start);
+ PROVIDE(_bss_end = __bss_end);
/* end of image */
. = ALIGN(4);