]> rtime.felk.cvut.cz Git - l4.git/blob - kernel/fiasco/src/boot.arm.ld
update
[l4.git] / kernel / fiasco / src / boot.arm.ld
1
2 /*load_address = 0xc0000000;*/
3
4 OUTPUT_FORMAT("elf32-littlearm", "elf32-bigarm",
5               "elf32-littlearm")
6 OUTPUT_ARCH(arm)
7 ENTRY(_start)
8
9 SECTIONS {
10 /*  . = load_address;*/
11
12   /DISCARD/ : {                 /* Exit code and data           */
13     *(.exitcall.exit)
14   }
15
16   .text : {
17     crt0.o(.text)
18     *(.init)
19     *(.text .text.* .gnu.linkonce.t.*)
20     *(.glue_7t) *(.glue_7)
21     *(.got*)
22     *(.fini)
23
24     . = ALIGN(0x40);
25     *(.rodata .rodata.* .gnu.linkonce.r.* .rodata1)
26     . = ALIGN(4);
27
28     *(.data) 
29     *(.gnu.linkonce.d*)
30     *(.anno)
31
32     /* Constructor and destructor lists, ordered by priority.  The lists
33        are traversed from end to start, therefore the *_END__ symbols
34        precede the *_LIST__ symbols. */
35
36     __CTOR_END__ = .;
37     CONSTRUCTORS
38     KEEP(*(.ctors))
39     KEEP(*(SORT(.ctors.*)))
40     LONG( (__CTOR_LIST__ - __CTOR_END__) / 4 - 1 ) /* number of constructors */
41     __CTOR_LIST__ = .;
42
43     __DTOR_END__ = .;    
44     KEEP( *(SORT(.dtors.*)))
45     KEEP( *(.dtors))
46     LONG( (__DTOR_LIST__ - __DTOR_END__) / 4 - 1) /* number of destructors */
47     __DTOR_LIST__ = .;
48
49     *(.init.data)
50 /*
51   }
52
53   . = ALIGN(0x1000);
54   .bss : {
55 */
56
57     PROVIDE( __bss_start = .);
58     *(.bss COMMON)
59   }
60
61   /DISCARD/ :{
62     *(.stab .stabstr .stab.excl .stab.exclstr)
63     *(.stab.index .stab.indexstr .comment)
64   }
65
66
67 }