Add qemu 2.4.0
[kvmfornfv.git] / qemu / roms / openbios / arch / sparc32 / ldscript
1 OUTPUT_FORMAT(elf32-sparc)
2 OUTPUT_ARCH(sparc)
3
4 /* QEMU ELF loader can't handle very complex files, so we put ELFBoot
5 info to rodata and put initctx to data.*/
6
7 ENTRY(trap_table)
8
9 /* Initial load address
10  */
11 BASE_ADDR = 0xffd00000;
12
13 /* 16KB stack */
14 STACK_SIZE = 16384;
15 VMEM_SIZE = 128 * 1024;
16 IOMEM_SIZE = 256 * 1024 + 768 * 1024;
17
18 SECTIONS
19 {
20     . = BASE_ADDR;
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     _start = .;
26
27     /* Normal sections */
28     .text ALIGN(4096): {
29         *(.text.vectors)
30         *(.text)
31         *(.text.*)
32     }
33     .rodata ALIGN(4096): {
34         _rodata = .;
35         sound_drivers_start = .;
36         *(.rodata.sound_drivers)
37         sound_drivers_end = .;
38         *(.rodata)
39         *(.rodata.*)
40         *(.note.ELFBoot)
41     }
42     .data ALIGN(4096): {
43         _data = .;
44         *(.data)
45         *(.data.*)
46     }
47
48     .bss ALIGN(4096): {
49         _bss = .;
50         *(.bss)
51         *(.bss.*)
52         *(COMMON)
53
54         . = ALIGN(4096);
55         _vmem = .;
56         . += VMEM_SIZE;
57         _evmem = .;
58
59         _stack = .;
60         . += STACK_SIZE;
61         . = ALIGN(16);
62         _estack = .;
63     }
64
65     . = ALIGN(4096);
66     _end = .;
67     _iomem = _end + IOMEM_SIZE;
68
69     /* We discard .note sections other than .note.ELFBoot,
70      * because some versions of GCC generates useless ones. */
71
72     /DISCARD/ : { *(.comment*) *(.note.*) }
73 }