1 /* SPDX-License-Identifier: GPL-2.0-or-later * !! 1 #include <linux/config.h> 2 /* << 3 * Copyright (C) 2009 Thomas Chou <thomas@wytro << 4 */ << 5 #include <asm/page.h> << 6 #include <asm-generic/vmlinux.lds.h> 2 #include <asm-generic/vmlinux.lds.h> 7 #include <asm/cache.h> << 8 #include <asm/thread_info.h> << 9 << 10 OUTPUT_FORMAT("elf32-littlenios2", "elf32-litt << 11 << 12 OUTPUT_ARCH(nios) << 13 ENTRY(_start) /* Defined in head.S */ << 14 3 >> 4 OUTPUT_FORMAT("elf64-alpha") >> 5 OUTPUT_ARCH(alpha) >> 6 ENTRY(__start) >> 7 PHDRS { kernel PT_LOAD ; } 15 jiffies = jiffies_64; 8 jiffies = jiffies_64; 16 << 17 SECTIONS 9 SECTIONS 18 { 10 { 19 . = CONFIG_NIOS2_MEM_BASE | CONFIG_NIO !! 11 #ifdef CONFIG_ALPHA_LEGACY_START_ADDRESS 20 !! 12 . = 0xfffffc0000310000; 21 _text = .; !! 13 #else 22 _stext = .; !! 14 . = 0xfffffc0001010000; 23 HEAD_TEXT_SECTION !! 15 #endif 24 .text : { !! 16 25 TEXT_TEXT !! 17 _text = .; /* Text and read-only data */ 26 SCHED_TEXT !! 18 .text : { 27 LOCK_TEXT !! 19 *(.text) 28 IRQENTRY_TEXT !! 20 *(.fixup) 29 SOFTIRQENTRY_TEXT !! 21 *(.gnu.warning) 30 KPROBES_TEXT !! 22 } :kernel 31 } =0 !! 23 _etext = .; /* End of text section */ 32 _etext = .; !! 24 33 !! 25 . = ALIGN(16); 34 .got : { !! 26 __start___ex_table = .; /* Exception table */ 35 *(.got.plt) !! 27 __ex_table : { *(__ex_table) } 36 *(.igot.plt) !! 28 __stop___ex_table = .; 37 *(.got) !! 29 38 *(.igot) !! 30 RODATA 39 } !! 31 40 !! 32 /* Will be freed after init */ 41 EXCEPTION_TABLE(L1_CACHE_BYTES) !! 33 . = ALIGN(8192); /* Init code and data */ 42 !! 34 __init_begin = .; 43 . = ALIGN(PAGE_SIZE); !! 35 .init.text : { 44 __init_begin = .; !! 36 _sinittext = .; 45 INIT_TEXT_SECTION(PAGE_SIZE) !! 37 *(.init.text) 46 INIT_DATA_SECTION(PAGE_SIZE) !! 38 _einittext = .; 47 PERCPU_SECTION(L1_CACHE_BYTES) !! 39 } 48 __init_end = .; !! 40 .init.data : { *(.init.data) } 49 !! 41 50 _sdata = .; !! 42 . = ALIGN(16); 51 RO_DATA(PAGE_SIZE) !! 43 __setup_start = .; 52 RW_DATA(L1_CACHE_BYTES, PAGE_SIZE, THR !! 44 .init.setup : { *(.init.setup) } 53 _edata = .; !! 45 __setup_end = .; 54 !! 46 55 BSS_SECTION(0, 0, 0) !! 47 . = ALIGN(8); 56 _end = .; !! 48 __start___param = .; 57 !! 49 __param : { *(__param) } 58 STABS_DEBUG !! 50 __stop___param = .; 59 DWARF_DEBUG !! 51 60 ELF_DETAILS !! 52 . = ALIGN(8); 61 !! 53 __initcall_start = .; 62 DISCARDS !! 54 .initcall.init : { >> 55 *(.initcall1.init) >> 56 *(.initcall2.init) >> 57 *(.initcall3.init) >> 58 *(.initcall4.init) >> 59 *(.initcall5.init) >> 60 *(.initcall6.init) >> 61 *(.initcall7.init) >> 62 } >> 63 __initcall_end = .; >> 64 >> 65 . = ALIGN(8192); >> 66 __initramfs_start = .; >> 67 .init.ramfs : { *(.init.ramfs) } >> 68 __initramfs_end = .; >> 69 >> 70 . = ALIGN(8); >> 71 .con_initcall.init : { >> 72 __con_initcall_start = .; >> 73 *(.con_initcall.init) >> 74 __con_initcall_end = .; >> 75 } >> 76 >> 77 . = ALIGN(8); >> 78 SECURITY_INIT >> 79 >> 80 . = ALIGN(64); >> 81 __per_cpu_start = .; >> 82 .data.percpu : { *(.data.percpu) } >> 83 __per_cpu_end = .; >> 84 >> 85 . = ALIGN(2*8192); >> 86 __init_end = .; >> 87 /* Freed after init ends here */ >> 88 >> 89 /* Note 2 page alignment above. */ >> 90 .data.init_thread : { *(.data.init_thread) } >> 91 >> 92 . = ALIGN(8192); >> 93 .data.page_aligned : { *(.data.page_aligned) } >> 94 >> 95 . = ALIGN(64); >> 96 .data.cacheline_aligned : { *(.data.cacheline_aligned) } >> 97 >> 98 _data = .; >> 99 .data : { /* Data */ >> 100 *(.data) >> 101 CONSTRUCTORS >> 102 } >> 103 >> 104 .got : { *(.got) } >> 105 .sdata : { *(.sdata) } >> 106 >> 107 _edata = .; /* End of data section */ >> 108 >> 109 __bss_start = .; >> 110 .sbss : { *(.sbss) *(.scommon) } >> 111 .bss : { *(.bss) *(COMMON) } >> 112 __bss_stop = .; >> 113 >> 114 _end = .; >> 115 >> 116 /* Sections to be discarded */ >> 117 /DISCARD/ : { *(.exit.text) *(.exit.data) *(.exitcall.exit) } >> 118 >> 119 .mdebug 0 : { *(.mdebug) } >> 120 .note 0 : { *(.note) } >> 121 .comment 0 : { *(.comment) } >> 122 >> 123 /* Stabs debugging sections */ >> 124 .stab 0 : { *(.stab) } >> 125 .stabstr 0 : { *(.stabstr) } >> 126 .stab.excl 0 : { *(.stab.excl) } >> 127 .stab.exclstr 0 : { *(.stab.exclstr) } >> 128 .stab.index 0 : { *(.stab.index) } >> 129 .stab.indexstr 0 : { *(.stab.indexstr) } >> 130 /* DWARF 1 */ >> 131 .debug 0 : { *(.debug) } >> 132 .line 0 : { *(.line) } >> 133 /* GNU DWARF 1 extensions */ >> 134 .debug_srcinfo 0 : { *(.debug_srcinfo) } >> 135 .debug_sfnames 0 : { *(.debug_sfnames) } >> 136 /* DWARF 1.1 and DWARF 2 */ >> 137 .debug_aranges 0 : { *(.debug_aranges) } >> 138 .debug_pubnames 0 : { *(.debug_pubnames) } >> 139 /* DWARF 2 */ >> 140 .debug_info 0 : { *(.debug_info) } >> 141 .debug_abbrev 0 : { *(.debug_abbrev) } >> 142 .debug_line 0 : { *(.debug_line) } >> 143 .debug_frame 0 : { *(.debug_frame) } >> 144 .debug_str 0 : { *(.debug_str) } >> 145 .debug_loc 0 : { *(.debug_loc) } >> 146 .debug_macinfo 0 : { *(.debug_macinfo) } >> 147 /* SGI/MIPS DWARF 2 extensions */ >> 148 .debug_weaknames 0 : { *(.debug_weaknames) } >> 149 .debug_funcnames 0 : { *(.debug_funcnames) } >> 150 .debug_typenames 0 : { *(.debug_typenames) } >> 151 .debug_varnames 0 : { *(.debug_varnames) } 63 } 152 }
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.