|
|
1.1 root 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: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.