blob: 1e3abbad192f7d25991bd7042b1f5284d2933fd1 [file] [log] [blame]
Corey Tabaka84697242009-03-26 02:32:01 -04001/*
2 * Copyright (c) 2009 Corey Tabaka
3 *
4 * Permission is hereby granted, free of charge, to any person obtaining
5 * a copy of this software and associated documentation files
6 * (the "Software"), to deal in the Software without restriction,
7 * including without limitation the rights to use, copy, modify, merge,
8 * publish, distribute, sublicense, and/or sell copies of the Software,
9 * and to permit persons to whom the Software is furnished to do so,
10 * subject to the following conditions:
11 *
12 * The above copyright notice and this permission notice shall be
13 * included in all copies or substantial portions of the Software.
14 *
15 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
18 * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
19 * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
20 * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
21 * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22 */
23
24ENTRY(_start)
25SECTIONS
26{
27 .text 0x0200000 : {
28 *(.text)
29 *(SORT(.text$*))
30 *(.gnu.linkonce.t.*)
31
32 __ctor_list = .;
33 *(SORT(.ctor*))
34 __ctor_end = .;
35 __dtor_list = .;
36 *(SORT(.dtor*))
37 __dtor_end = .;
38
39 . = ALIGN(4096);
40 }
41
42 __data_start = .;
43 .data : { *(.data .data.* .gnu.linkonce.d.*) }
44 .stab : { *(.stab) }
45 .stabst : { *(.stabstr) }
46
47 . = ALIGN(4096);
48 __data_end = .;
49
50 .rdata : {
51 *(.rdata)
52 *(SORT(.rdata$*))
53 *(.rodata*)
54 *(.gnu.linkonce.r.*)
55 __commands_start = .;
56 KEEP (*(.commands))
57 __commands_end = .;
58 . = ALIGN(4);
59 __apps_start = .;
60 KEEP (*(.apps))
61 __apps_end = .;
62
63 . = ALIGN(4096);
64 }
65
66 __bss_start = .;
67 .bss : {
68 *(.bss*)
69 *(.gnu.linkonce.b.*)
70 *(COMMON)
71
72 . = ALIGN(4096);
73 }
74 __bss_end = .;
75
76 /*. += 0x2000;
77 _kstack = .;
78 . += 0x1000;*/
79
80 _end = .;
81
82 /DISCARD/ : { *(.comment .note .eh_frame) }
83}