blob: ebc4b9715baa2439efc59bc3a570e97b579ba5ce [file] [log] [blame]
/* Copyright 2018 The Fuchsia Authors
*
* Use of this source code is governed by a MIT-style
* license that can be found in the LICENSE file or at
* https://opensource.org/licenses/MIT
*/
OUTPUT_FORMAT(elf32-i386)
OUTPUT_ARCH(i386)
ENTRY(_start)
SECTIONS
{
PHYS_LOAD_ADDRESS = 0x100000;
. = PHYS_LOAD_ADDRESS + SIZEOF_HEADERS;
.multiboot.header : {
/*
* The Multiboot header goes next. The Multiboot format
* requires that it be somewhere in the first 8192 bytes.
*/
KEEP(*(.multiboot.header))
ASSERT(ABSOLUTE(.) <= PHYS_LOAD_ADDRESS + 8192, "headers too big");
} :load
.note.gnu.build-id : {
*(.note.gnu.build-id)
} :load :note
.rodata : {
*(.rodata*)
} :load
.text : {
*(.text*)
} :load
.data : {
*(.data*)
PROVIDE_HIDDEN(edata = .);
} :load
.bss : {
*(.bss*) *(.sbss*) *(COMMON)
} :load
PROVIDE_HIDDEN(end = .);
}
PHDRS
{
load PT_LOAD FLAGS(7); /* PF_R|PF_W|PF_X */
note PT_NOTE FLAGS(4); /* PF_R */
}