1 /* SPDX-License-Identifier: GPL-2.0 */ << 2 /* ld script to make m68k Linux kernel */ 1 /* ld script to make m68k Linux kernel */ 3 2 4 #include <asm-generic/vmlinux.lds.h> 3 #include <asm-generic/vmlinux.lds.h> 5 #include <asm/page.h> 4 #include <asm/page.h> 6 #include <asm/thread_info.h> << 7 5 8 OUTPUT_FORMAT("elf32-m68k", "elf32-m68k", "elf 6 OUTPUT_FORMAT("elf32-m68k", "elf32-m68k", "elf32-m68k") 9 OUTPUT_ARCH(m68k) 7 OUTPUT_ARCH(m68k) 10 ENTRY(_start) 8 ENTRY(_start) 11 jiffies = jiffies_64 + 4; 9 jiffies = jiffies_64 + 4; 12 SECTIONS 10 SECTIONS 13 { 11 { 14 . = 0x1000; 12 . = 0x1000; 15 _text = .; /* Text and re 13 _text = .; /* Text and read-only data */ 16 .text : { 14 .text : { 17 HEAD_TEXT 15 HEAD_TEXT 18 TEXT_TEXT 16 TEXT_TEXT 19 IRQENTRY_TEXT << 20 SOFTIRQENTRY_TEXT << 21 SCHED_TEXT 17 SCHED_TEXT 22 LOCK_TEXT 18 LOCK_TEXT 23 *(.fixup) 19 *(.fixup) 24 *(.gnu.warning) 20 *(.gnu.warning) 25 } :text = 0x4e75 21 } :text = 0x4e75 26 22 27 _etext = .; /* End of text 23 _etext = .; /* End of text section */ 28 24 29 EXCEPTION_TABLE(16) !! 25 . = ALIGN(16); /* Exception table */ >> 26 __start___ex_table = .; >> 27 __ex_table : { *(__ex_table) } >> 28 __stop___ex_table = .; >> 29 >> 30 RODATA >> 31 >> 32 .data : { /* Data */ >> 33 DATA_DATA >> 34 CONSTRUCTORS >> 35 } 30 36 31 _sdata = .; /* Start of da !! 37 . = ALIGN(16); >> 38 .data.cacheline_aligned : { *(.data.cacheline_aligned) } 32 39 33 RO_DATA(4096) !! 40 .bss : { *(.bss) } /* BSS */ 34 << 35 RW_DATA(16, PAGE_SIZE, THREAD_SIZE) << 36 << 37 BSS_SECTION(0, 0, 0) << 38 41 39 _edata = .; /* End of data 42 _edata = .; /* End of data section */ 40 43 41 /* will be freed after init */ 44 /* will be freed after init */ 42 . = ALIGN(PAGE_SIZE); /* Init code a 45 . = ALIGN(PAGE_SIZE); /* Init code and data */ 43 __init_begin = .; 46 __init_begin = .; 44 INIT_TEXT_SECTION(PAGE_SIZE) :data !! 47 .init.text : { 45 INIT_DATA_SECTION(16) !! 48 _sinittext = .; >> 49 INIT_TEXT >> 50 _einittext = .; >> 51 } :data >> 52 .init.data : { INIT_DATA } >> 53 . = ALIGN(16); >> 54 __setup_start = .; >> 55 .init.setup : { *(.init.setup) } >> 56 __setup_end = .; >> 57 __initcall_start = .; >> 58 .initcall.init : { >> 59 INITCALLS >> 60 } >> 61 __initcall_end = .; >> 62 __con_initcall_start = .; >> 63 .con_initcall.init : { *(.con_initcall.init) } >> 64 __con_initcall_end = .; 46 .m68k_fixup : { 65 .m68k_fixup : { 47 __start_fixup = .; 66 __start_fixup = .; 48 *(.m68k_fixup) 67 *(.m68k_fixup) 49 __stop_fixup = .; 68 __stop_fixup = .; 50 } 69 } 51 .init_end : { !! 70 SECURITY_INIT 52 /* This ALIGN be in a section so that !! 71 #ifdef CONFIG_BLK_DEV_INITRD 53 load segment. */ !! 72 . = ALIGN(8192); 54 . = ALIGN(PAGE_SIZE); !! 73 __initramfs_start = .; 55 __init_end = .; !! 74 .init.ramfs : { *(.init.ramfs) } 56 } !! 75 __initramfs_end = .; >> 76 #endif >> 77 NOTES >> 78 . = ALIGN(8192); >> 79 __init_end = .; >> 80 >> 81 .data.init_task : { *(.data.init_task) } /* The initial task and kernel stack */ 57 82 58 _end = . ; 83 _end = . ; 59 84 60 STABS_DEBUG !! 85 /* Stabs debugging sections. */ 61 ELF_DETAILS !! 86 .stab 0 : { *(.stab) } >> 87 .stabstr 0 : { *(.stabstr) } >> 88 .stab.excl 0 : { *(.stab.excl) } >> 89 .stab.exclstr 0 : { *(.stab.exclstr) } >> 90 .stab.index 0 : { *(.stab.index) } >> 91 .stab.indexstr 0 : { *(.stab.indexstr) } >> 92 .comment 0 : { *(.comment) } 62 93 63 /* Sections to be discarded */ 94 /* Sections to be discarded */ 64 DISCARDS 95 DISCARDS 65 } 96 }
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.