1/* ld script to make s390 Linux kernel 2 * Written by Martin Schwidefsky (schwidefsky@de.ibm.com) 3 */ 4OUTPUT_FORMAT("elf32-s390", "elf32-s390", "elf32-s390") 5OUTPUT_ARCH(s390) 6ENTRY(_start) 7SECTIONS 8{ 9 . = 0x00000000; 10 _text = .; /* Text and read-only data */ 11 .text : { 12 *(.text) 13 *(.fixup) 14 *(.gnu.warning) 15 } = 0x0700 16 .rodata : { *(.rodata) *(.rodata.*) } 17 .kstrtab : { *(.kstrtab) } 18 19 . = ALIGN(16); /* Exception table */ 20 __start___ex_table = .; 21 __ex_table : { *(__ex_table) } 22 __stop___ex_table = .; 23 24 __start___ksymtab = .; /* Kernel symbol table */ 25 __ksymtab : { *(__ksymtab) } 26 __stop___ksymtab = .; 27 28 __start___kallsyms = .; /* All kernel symbols */ 29 __kallsyms : { *(__kallsyms) } 30 __stop___kallsyms = .; 31 32 _etext = .; /* End of text section */ 33 34 .data : { /* Data */ 35 *(.data) 36 CONSTRUCTORS 37 } 38 39 _edata = .; /* End of data section */ 40 41 . = ALIGN(8192); /* init_task */ 42 .data.init_task : { *(.data.init_task) } 43 44 . = ALIGN(4096); /* Init code and data */ 45 __init_begin = .; 46 .text.init : { *(.text.init) } 47 .data.init : { *(.data.init) } 48 . = ALIGN(4096); 49 __init_end = .; 50 51 __setup_start = .; 52 .setup.init : { *(.setup.init) } 53 __setup_end = .; 54 __initcall_start = .; 55 .initcall.init : { *(.initcall.init) } 56 __initcall_end = .; 57 . = ALIGN(4096); 58 __init_end = .; 59 60 . = ALIGN(32); 61 .data.cacheline_aligned : { *(.data.cacheline_aligned) } 62 63 . = ALIGN(4096); 64 .data.page_aligned : { *(.data.idt) } 65 66 67 __bss_start = .; /* BSS */ 68 .bss : { 69 *(.bss) 70 } 71 _end = . ; 72 73 /* Stabs debugging sections. */ 74 .stab 0 : { *(.stab) } 75 .stabstr 0 : { *(.stabstr) } 76 .stab.excl 0 : { *(.stab.excl) } 77 .stab.exclstr 0 : { *(.stab.exclstr) } 78 .stab.index 0 : { *(.stab.index) } 79 .stab.indexstr 0 : { *(.stab.indexstr) } 80 .comment 0 : { *(.comment) } 81} 82