~pmdj/ubuntu/trusty/qemu/2.9+applesmc+fadtv3

« back to all changes in this revision

Viewing changes to roms/openbios/arch/amd64/ldscript

  • Committer: Phil Dennis-Jordan
  • Date: 2017-07-21 08:03:43 UTC
  • mfrom: (1.1.1)
  • Revision ID: phil@philjordan.eu-20170721080343-2yr2vdj7713czahv
New upstream release 2.9.0.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
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
}