Add qemu 2.4.0
[kvmfornfv.git] / qemu / roms / openbios / arch / amd64 / ldscript
1 OUTPUT_FORMAT(elf32-i386)
2 OUTPUT_ARCH(i386)
3
4 ENTRY(entry)
5
6 /* Initial load address
7  * To be loaded by GRUB, this must be >= 1MB
8  */
9 BASE_ADDR = 0x100000;
10
11 /* 16KB heap and stack */
12 HEAP_SIZE = 16384;
13 STACK_SIZE = 16384;
14
15 SECTIONS
16 {
17     . = BASE_ADDR;
18
19     /* Put Multiboot header near beginning of file, if any. */
20     .hdr : { *(.hdr) *(.hdr.*) }
21
22     /* Start of the program. 
23      * Now the version string is in the note, we must include it
24      * in the program. Otherwise we lose the string after relocation. */
25     . = ALIGN(16);
26     _start = .;
27
28     /* Putting ELF notes near beginning of file might help bootloaders.
29      * We discard .note sections other than .note.ELFBoot,
30      * because some versions of GCC generates useless ones. */
31     .note : { *(.note.ELFBoot) }
32
33     /* Normal sections */
34     .text : { *(.text) *(.text.*) }
35     .rodata : {
36         . = ALIGN(4);
37         sound_drivers_start = .;
38         *(.rodata.sound_drivers)
39         sound_drivers_end = .;
40         *(.rodata)
41         *(.rodata.*)
42     }
43     .data : { *(.data) *(.data.*) }
44
45     .bss : {
46         *(.bss)
47         *(.bss.*)
48         *(COMMON)
49
50         /* Put heap and stack here, so they are included in PT_LOAD segment
51          * and the bootloader is aware of it. */
52
53         . = ALIGN(16);
54         _heap = .;
55         . += HEAP_SIZE;
56         . = ALIGN(16);
57         _eheap = .;
58
59         _stack = .;
60         . += STACK_SIZE;
61         . = ALIGN(16);
62         _estack = .;
63     }
64
65     .initctx : {
66         /* Initial contents of stack. This MUST BE just after the stack. */
67         *(.initctx)
68     }
69
70     _end = .;
71
72     /DISCARD/ : { *(.comment) *(.note) }
73 }