1#include <asm-generic/vmlinux.lds.h> 2 3OUTPUT_FORMAT(ELF_FORMAT) 4OUTPUT_ARCH(ELF_ARCH) 5ENTRY(_start) 6jiffies = jiffies_64; 7 8SECTIONS 9{ 10 /*This must contain the right address - not quite the default ELF one.*/ 11 PROVIDE (__executable_start = START); 12 . = START + SIZEOF_HEADERS; 13 14 /* Used in arch/um/kernel/mem.c. Any memory between START and __binary_start 15 * is remapped.*/ 16 __binary_start = .; 17 18#ifdef MODE_TT 19 .remap_data : { arch/um/sys-SUBARCH/unmap_fin.o (.data .bss) } 20 .remap : { arch/um/sys-SUBARCH/unmap_fin.o (.text) } 21 22 . = ALIGN(4096); /* Init code and data */ 23#endif 24 25 _stext = .; 26 __init_begin = .; 27 .init.text : { 28 _sinittext = .; 29 *(.init.text) 30 _einittext = .; 31 } 32 . = ALIGN(4096); 33 .text : 34 { 35 *(.text) 36 SCHED_TEXT 37 LOCK_TEXT 38 *(.fixup) 39 /* .gnu.warning sections are handled specially by elf32.em. */ 40 *(.gnu.warning) 41 *(.gnu.linkonce.t*) 42 } 43 44 #include "asm/common.lds.S" 45 46 init.data : { *(init.data) } 47 .data : 48 { 49 . = ALIGN(KERNEL_STACK_SIZE); /* init_task */ 50 *(.data.init_task) 51 *(.data) 52 *(.gnu.linkonce.d*) 53 CONSTRUCTORS 54 } 55 .data1 : { *(.data1) } 56 .ctors : 57 { 58 *(.ctors) 59 } 60 .dtors : 61 { 62 *(.dtors) 63 } 64 65 .got : { *(.got.plt) *(.got) } 66 .dynamic : { *(.dynamic) } 67 .tdata : { *(.tdata .tdata.* .gnu.linkonce.td.*) } 68 .tbss : { *(.tbss .tbss.* .gnu.linkonce.tb.*) *(.tcommon) } 69 /* We want the small data sections together, so single-instruction offsets 70 can access them all, and initialized data all before uninitialized, so 71 we can shorten the on-disk segment size. */ 72 .sdata : { *(.sdata) } 73 _edata = .; 74 PROVIDE (edata = .); 75 . = ALIGN(0x1000); 76 .sbss : 77 { 78 __bss_start = .; 79 PROVIDE(_bss_start = .); 80 *(.sbss) 81 *(.scommon) 82 } 83 .bss : 84 { 85 *(.dynbss) 86 *(.bss) 87 *(COMMON) 88 } 89 _end = . ; 90 PROVIDE (end = .); 91 /* Stabs debugging sections. */ 92 .stab 0 : { *(.stab) } 93 .stabstr 0 : { *(.stabstr) } 94 .stab.excl 0 : { *(.stab.excl) } 95 .stab.exclstr 0 : { *(.stab.exclstr) } 96 .stab.index 0 : { *(.stab.index) } 97 .stab.indexstr 0 : { *(.stab.indexstr) } 98 .comment 0 : { *(.comment) } 99} 100