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