diff options
author | Ingo Albrecht <prom@berlin.ccc.de> | 2010-03-13 23:01:23 +0100 |
---|---|---|
committer | Harald Welte <laforge@gnumonks.org> | 2010-04-08 10:35:25 +0200 |
commit | 536626044878857667d2d361cd5f021175715567 (patch) | |
tree | 4fd2784e7fe78d20db3913e52228c75df945d288 /src/target/firmware/board/common | |
parent | e2b491486ffc03fffbcb7d38f577458ed3427804 (diff) |
firmware: section symbols.
Diffstat (limited to 'src/target/firmware/board/common')
-rw-r--r-- | src/target/firmware/board/common/compal_osmoload.lds | 12 | ||||
-rw-r--r-- | src/target/firmware/board/common/compal_ramload.lds | 13 |
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); |