1/* ld script to make m68k Linux kernel */ 2 3#include <asm-generic/vmlinux.lds.h> 4 5OUTPUT_FORMAT("elf32-m68k", "elf32-m68k", "elf32-m68k") 6OUTPUT_ARCH(m68k) 7ENTRY(_start) 8jiffies = jiffies_64 + 4; 9SECTIONS 10{ 11 . = 0xE002000; 12 _text = .; /* Text and read-only data */ 13 .text : { 14 *(.text.head) 15 TEXT_TEXT 16 SCHED_TEXT 17 LOCK_TEXT 18 *(.fixup) 19 *(.gnu.warning) 20 } :text = 0x4e75 21 RODATA 22 23 _etext = .; /* End of text section */ 24 25 .data : { /* Data */ 26 DATA_DATA 27 CONSTRUCTORS 28 . = ALIGN(16); /* Exception table */ 29 __start___ex_table = .; 30 *(__ex_table) 31 __stop___ex_table = .; 32 } :data 33 /* End of data goes *here* so that freeing init code works properly. */ 34 _edata = .; 35 36 /* will be freed after init */ 37 . = ALIGN(8192); /* Init code and data */ 38__init_begin = .; 39 .init.text : { 40 _sinittext = .; 41 *(.init.text) 42 _einittext = .; 43 } 44 .init.data : { *(.init.data) } 45 . = ALIGN(16); 46 __setup_start = .; 47 .init.setup : { *(.init.setup) } 48 __setup_end = .; 49 __initcall_start = .; 50 .initcall.init : { 51 INITCALLS 52 } 53 __initcall_end = .; 54 __con_initcall_start = .; 55 .con_initcall.init : { *(.con_initcall.init) } 56 __con_initcall_end = .; 57 .m68k_fixup : { 58 __start_fixup = .; 59 *(.m68k_fixup) 60 __stop_fixup = .; 61 } 62 SECURITY_INIT 63#ifdef CONFIG_BLK_DEV_INITRD 64 . = ALIGN(8192); 65 __initramfs_start = .; 66 .init.ramfs : { *(.init.ramfs) } 67 __initramfs_end = .; 68#endif 69 . = ALIGN(8192); 70 __init_end = .; 71 .data.init.task : { *(.data.init_task) } 72 73 74 .bss : { *(.bss) } /* BSS */ 75 76 _end = . ; 77 78 /* Sections to be discarded */ 79 /DISCARD/ : { 80 *(.exit.text) 81 *(.exit.data) 82 *(.exitcall.exit) 83 } 84 85 .crap : { 86 /* Stabs debugging sections. */ 87 *(.stab) 88 *(.stabstr) 89 *(.stab.excl) 90 *(.stab.exclstr) 91 *(.stab.index) 92 *(.stab.indexstr) 93 *(.comment) 94 *(.note) 95 } 96 97} 98