diff options
Diffstat (limited to 'firmware/app.lds')
-rw-r--r-- | firmware/app.lds | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/firmware/app.lds b/firmware/app.lds index 30c8a0d524..edb259aa2b 100644 --- a/firmware/app.lds +++ b/firmware/app.lds | |||
@@ -36,8 +36,18 @@ SECTIONS | |||
36 | *(.vectors) | 36 | *(.vectors) |
37 | }> ICMEM AT> FIRMWARE | 37 | }> ICMEM AT> FIRMWARE |
38 | 38 | ||
39 | /* We start at 0x2000, to avoid overwriting Archos' loader datasegment. | ||
40 | * If it turns out that we won't call back the loader, this can be set to 0. | ||
41 | */ | ||
42 | .bss 0x2000 : { | ||
43 | *(.bss) | ||
44 | . = ALIGN(2); | ||
45 | }> DRAM | ||
39 | 46 | ||
40 | .data 0x2000: { | 47 | /* Data is put after BSS, to have all strings addresses > VIRT_PTR + VIRT_SIZE. |
48 | Strings are in rodata, so what we really assert is (.rodata > VIRT_PTR + VIRT_SIZE) | ||
49 | See settings.h for details */ | ||
50 | .data ALIGN(2): { | ||
41 | *(.data) | 51 | *(.data) |
42 | . = ALIGN(2); | 52 | . = ALIGN(2); |
43 | *(.rodata) | 53 | *(.rodata) |
@@ -46,10 +56,6 @@ SECTIONS | |||
46 | . = ALIGN(2); | 56 | . = ALIGN(2); |
47 | }> DRAM AT> FIRMWARE | 57 | }> DRAM AT> FIRMWARE |
48 | 58 | ||
49 | .bss ALIGN(2) : { | ||
50 | *(.bss) | ||
51 | . = ALIGN(2); | ||
52 | }> DRAM | ||
53 | 59 | ||
54 | .stack ALIGN(2) : { | 60 | .stack ALIGN(2) : { |
55 | . = . + 0x2000; | 61 | . = . + 0x2000; |