Fix a bunch of boot.lds files so that they build with newer ld. The stack/bss section...
[kugel-rb.git] / firmware / target / arm / samsung / boot.lds
blob10bde4e9d57abe0073ec813a924a038781447773
1 #include "config.h"
3 ENTRY(start)
4 OUTPUT_FORMAT(elf32-littlearm)
5 OUTPUT_ARCH(arm)
6 STARTUP(target/arm/crt0-pp-bl.o)
8 #define DRAMSIZE (MEMORYSIZE * 0x100000)
10 #define DRAMORIG 0x10000000
11 #define IRAMORIG 0x40000000
12 #define IRAMSIZE 0x18000
13 #define FLASHORIG 0x001f0000
14 #define FLASHSIZE 2M
16 MEMORY
18     DRAM : ORIGIN = DRAMORIG, LENGTH = DRAMSIZE
19     IRAM : ORIGIN = IRAMORIG, LENGTH = IRAMSIZE
22 SECTIONS
24   . = IRAMORIG;
26   .text : {
27     *(.init.text)
28     *(.text*)
29     *(.glue_7)
30     *(.glue_7t)
31   } > IRAM
33   .data : {
34     *(.icode)
35     *(.irodata)
36     *(.idata)
37     *(.data*)
38     *(.ncdata*)
39     *(.rodata*)
40     _dataend = . ;
41   } > IRAM
43   .stack (NOLOAD) : {
44      *(.stack)
45      _stackbegin = .;
46      stackbegin = .;
47      . += 0x2000;
48      _stackend = .;
49      stackend = .;
50   } > IRAM
52   /* The bss section is too large for IRAM - we just move it 16MB into the
53      DRAM */
55   . = DRAMORIG;
56   .bss . + (16*1024*1024) (NOLOAD) : {
57      _edata = .;
58      *(.bss*);
59      *(.ibss);
60      *(COMMON)
61      *(.ncbss*);
62      _end = .;
63   } > DRAM