1/* Copyright 2018 The Fuchsia Authors 2 * 3 * Use of this source code is governed by a MIT-style 4 * license that can be found in the LICENSE file or at 5 * https://opensource.org/licenses/MIT 6 */ 7 8OUTPUT_FORMAT(elf32-i386) 9OUTPUT_ARCH(i386) 10 11ENTRY(_start) 12SECTIONS 13{ 14 PHYS_LOAD_ADDRESS = 0x100000; 15 . = PHYS_LOAD_ADDRESS + SIZEOF_HEADERS; 16 17 .multiboot.header : { 18 /* 19 * The Multiboot header goes next. The Multiboot format 20 * requires that it be somewhere in the first 8192 bytes. 21 */ 22 KEEP(*(.multiboot.header)) 23 ASSERT(ABSOLUTE(.) <= PHYS_LOAD_ADDRESS + 8192, "headers too big"); 24 } :load 25 26 .note.gnu.build-id : { 27 *(.note.gnu.build-id) 28 } :load :note 29 30 .rodata : { 31 *(.rodata*) 32 } :load 33 34 .text : { 35 *(.text*) 36 } :load 37 38 .data : { 39 *(.data*) 40 PROVIDE_HIDDEN(edata = .); 41 } :load 42 43 .bss : { 44 *(.bss*) *(.sbss*) *(COMMON) 45 } :load 46 47 PROVIDE_HIDDEN(end = .); 48} 49 50PHDRS 51{ 52 load PT_LOAD FLAGS(7); /* PF_R|PF_W|PF_X */ 53 note PT_NOTE FLAGS(4); /* PF_R */ 54} 55