Fix a bunch of boot.lds files so that they build with newer ld. The stack/bss section...
[kugel-rb.git] / firmware / target / arm / s3c2440 / boot.lds
blob731201fbb7b4da180f411a49c9a9088ad5d7c472
1 #include "config.h"
3 ENTRY(start)
4 OUTPUT_FORMAT(elf32-littlearm)
5 OUTPUT_ARCH(arm)
6 STARTUP(target/arm/s3c2440/crt0.o)
8 #define DRAMSIZE (MEMORYSIZE * 0x100000)
10 #define DRAMORIG  0x00000000
11 #define IRAMORIG  0x40000000
12 #define IRAMSIZE  4K
13 #define FLASHORIG 0x00000000
14 #define FLASHSIZE 1M
16 MEMORY
18     DRAM : ORIGIN = DRAMORIG, LENGTH = DRAMSIZE
21 SECTIONS
23     .vectors DRAMORIG :
24     {
25         _vectorstart = .;
26         *(.vectors*);
27         *(.init.text)
28         . = ALIGN(0x4);
29     } > DRAM
31     .text :
32     {
33         _textstart = .;
34         *(.text)
35         *(.text*)
36         *(.icode)
37         *(.glue_7)
38         *(.glue_7t)
39         . = ALIGN(0x4);
40     } > DRAM
42     _textcopy = LOADADDR(.text);
44     .rodata :
45     {
46         *(.rodata)  /* problems without this, dunno why */
47         *(.rodata*)
48         *(.rodata.str1.1)
49         *(.rodata.str1.4)
50         *(.irodata)
51         . = ALIGN(0x4);
52     } > DRAM
54     .data :
55     {
56         *(.data*)
57         *(.idata)
58         . = ALIGN(0x4);
59     } > DRAM
61     /DISCARD/ :
62     {
63         *(.eh_frame)
64     } 
66     _initdata_end =.;
68     .stack (NOLOAD) :
69     {
70        *(.stack)
71        stackbegin = .;
72        . += 0x2000;
73        stackend = .;
74     } > DRAM 
76     .bss (NOLOAD) :
77     {
78        _edata = .;
79         *(.bss*)
80         *(.ibss)
81         *(COMMON)
82         . = ALIGN(0x4);
83        _end = .;
84     } > DRAM