/* 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 */ }