summaryrefslogtreecommitdiffstats
path: root/src/target/firmware/board/common/compal_ramload.lds
diff options
context:
space:
mode:
authorIngo Albrecht <prom@berlin.ccc.de>2010-04-11 08:04:20 +0200
committerIngo Albrecht <prom@berlin.ccc.de>2010-07-20 14:41:19 +0200
commit0068f87c1fa8e8ee788851b67f39dfd9ae307cb8 (patch)
tree7489a95e92bd7b8536be7fb2b78e8be20ae16eb0 /src/target/firmware/board/common/compal_ramload.lds
parent3936c397a7918fa8625355b5af39a371da6adc3a (diff)
firmware: linker script and startup code reorg.
Diffstat (limited to 'src/target/firmware/board/common/compal_ramload.lds')
-rw-r--r--src/target/firmware/board/common/compal_ramload.lds103
1 files changed, 0 insertions, 103 deletions
diff --git a/src/target/firmware/board/common/compal_ramload.lds b/src/target/firmware/board/common/compal_ramload.lds
deleted file mode 100644
index 00f0d001..00000000
--- a/src/target/firmware/board/common/compal_ramload.lds
+++ /dev/null
@@ -1,103 +0,0 @@
-OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
-OUTPUT_ARCH(arm)
-ENTRY(_start)
-MEMORY
-{
- /* compal-loaded binary: our text, initialized data */
- LRAM (rw) : ORIGIN = 0x00800000, LENGTH = 0x00010000
- /* compal-loaded binary: our unitialized data, stacks, heap */
- IRAM (rw) : ORIGIN = 0x00810000, LENGTH = 0x00010000
-}
-SECTIONS
-{
- . = 0x800000;
-
- /* romloader data section, contains passthru interrupt vectors */
- .compal.loader (NOLOAD) : { . = 0x100; } > LRAM
-
- /* image signature (prepended by osmocon according to phone type) */
- .compal.header (NOLOAD) : { . = 4; } > LRAM
-
- /* initialization code */
- . = ALIGN(4);
- .text.start : {
- PROVIDE(_start = .);
- KEEP(*(.text.start))
- *(.text.start)
- } > LRAM
-
- /* exception vectors from 0x80001c to 0x800034 */
- .text.exceptions 0x80001c : AT (LOADADDR(.text.start) + SIZEOF(.text.start)) {
- KEEP(*(.text.exceptions))
- * (.text.exceptions)
- . = ALIGN(4);
- } > LRAM
- PROVIDE(_exceptions = LOADADDR(.text.exceptions));
-
- /* code */
- . = ALIGN(4);
- .text (LOADADDR(.text.exceptions) + SIZEOF(.text.exceptions)) :
- AT (LOADADDR(.text.exceptions) + SIZEOF(.text.exceptions)) {
- /* regular code */
- *(.text*)
- /* gcc voodoo */
- *(.glue_7t) *(.glue_7) *(.vfp11_veneer) *(.v4_bx)
- . = ALIGN(4);
-
- /* constructors and destructors */
- . = ALIGN(4);
- __CTOR_LIST__ = .;
- LONG((__CTOR_END__ - __CTOR_LIST__) / 4 - 2)
- KEEP(*(SORT(.ctors)))
- LONG(0) /* end of list */
- __CTOR_END__ = .;
- __DTOR_LIST__ = .;
- LONG((__DTOR_END__ - __DTOR_LIST__) / 4 - 2)
- KEEP(*(SORT(.dtors)))
- LONG(0) /* end of list */
- __DTOR_END__ = .;
- } > 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);
- .got : {
- *(.got)
- *(.got.plt) *(.igot.plt) *(.got) *(.igot)
- } > LRAM
- PROVIDE(_got_start = LOADADDR(.got));
- PROVIDE(_got_end = LOADADDR(.got) + SIZEOF(.got));
-
- /* uninitialized data */
- .bss (NOLOAD) : {
- . = ALIGN(4);
- __bss_start = .;
- *(.bss)
- } > IRAM
- . = ALIGN(4);
- __bss_end = .;
- PROVIDE(_bss_start = __bss_start);
- PROVIDE(_bss_end = __bss_end);
-
- /* end of image */
- . = ALIGN(4);
- _end = .;
- PROVIDE(end = .);
-}