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