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 37 /* will be freed after init */ 38 . = ALIGN(PAGE_SIZE); /* Init code and data */ 39__init_begin = .; 40 .init.text : { 41 _sinittext = .; 42 INIT_TEXT 43 _einittext = .; 44 } 45 .init.data : { INIT_DATA } 46 . = ALIGN(16); 47 __setup_start = .; 48 .init.setup : { *(.init.setup) } 49 __setup_end = .; 50 __initcall_start = .; 51 .initcall.init : { 52 INITCALLS 53 } 54 __initcall_end = .; 55 __con_initcall_start = .; 56 .con_initcall.init : { *(.con_initcall.init) } 57 __con_initcall_end = .; 58 .m68k_fixup : { 59 __start_fixup = .; 60 *(.m68k_fixup) 61 __stop_fixup = .; 62 } 63 SECURITY_INIT 64#ifdef CONFIG_BLK_DEV_INITRD 65 . = ALIGN(PAGE_SIZE); 66 __initramfs_start = .; 67 .init.ramfs : { *(.init.ramfs) } 68 __initramfs_end = .; 69#endif 70 . = ALIGN(PAGE_SIZE); 71 __init_end = .; 72 .data.init.task : { *(.data.init_task) } 73 74 75 .bss : { *(.bss) } /* BSS */ 76 77 _end = . ; 78 79 /* Sections to be discarded */ 80 /DISCARD/ : { 81 EXIT_TEXT 82 EXIT_DATA 83 *(.exitcall.exit) 84 } 85 86 .crap : { 87 /* Stabs debugging sections. */ 88 *(.stab) 89 *(.stabstr) 90 *(.stab.excl) 91 *(.stab.exclstr) 92 *(.stab.index) 93 *(.stab.indexstr) 94 *(.comment) 95 *(.note) 96 } 97 98} 99