diff options
Diffstat (limited to 'src/arch/i386/init/ldscript.lb')
-rw-r--r-- | src/arch/i386/init/ldscript.lb | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/src/arch/i386/init/ldscript.lb b/src/arch/i386/init/ldscript.lb new file mode 100644 index 0000000000..1af399cf81 --- /dev/null +++ b/src/arch/i386/init/ldscript.lb @@ -0,0 +1,62 @@ +/* + * Memory map: + * + * _RAMBASE + * : data segment + * : bss segment + * : heap + * : stack + * _ROMBASE + * : linuxbios text + * : readonly text + */ +/* + * Bootstrap code for the STPC Consumer + * Copyright (c) 1999 by Net Insight AB. All Rights Reserved. + * + */ + +/* + * Written by Johan Rydberg, based on work by Daniel Kahlin. + * Rewritten by Eric Biederman + */ +/* + * We use ELF as output format. So that we can + * debug the code in some form. + */ +OUTPUT_FORMAT("elf32-i386", "elf32-i386", "elf32-i386") +OUTPUT_ARCH(i386) + +ENTRY(_start) + +TARGET(binary) +INPUT(linuxbios_payload) +SECTIONS +{ + . = _ROMBASE; + /* This section might be better named .setup */ + .rom . : { + _rom = .; + *(.rom.text); + *(.rom.data); + . = ALIGN(16); + _erom = .; + } + _lrom = LOADADDR(.rom); + _elrom = LOADADDR(.rom) + SIZEOF(.rom); + + .payload . : { + _payload = . ; + linuxbios_payload(*) + _epayload = . ; + } + _iseg = _RAMBASE; + _eiseg = _iseg + SIZEOF(.payload); + _liseg = _payload; + _eliseg = _epayload; + + /DISCARD/ : { + *(.comment) + *(.note) + } +} |