vmlinux.lds.S (0cce284537fb42d9c28b9b31038ffc9b464555f5) | vmlinux.lds.S (0f5bf6d0afe4be6e1391908ff2d6dc9730e91550) |
---|---|
1/* ld script to make ARM Linux kernel 2 * taken from the i386 version by Russell King 3 * Written by Martin Mares <mj@atrey.karlin.mff.cuni.cz> 4 */ 5 6#ifdef CONFIG_XIP_KERNEL 7#include "vmlinux-xip.lds.S" 8#else --- 83 unchanged lines hidden (view full) --- 92 } 93 94 . = PAGE_OFFSET + TEXT_OFFSET; 95 .head.text : { 96 _text = .; 97 HEAD_TEXT 98 } 99 | 1/* ld script to make ARM Linux kernel 2 * taken from the i386 version by Russell King 3 * Written by Martin Mares <mj@atrey.karlin.mff.cuni.cz> 4 */ 5 6#ifdef CONFIG_XIP_KERNEL 7#include "vmlinux-xip.lds.S" 8#else --- 83 unchanged lines hidden (view full) --- 92 } 93 94 . = PAGE_OFFSET + TEXT_OFFSET; 95 .head.text : { 96 _text = .; 97 HEAD_TEXT 98 } 99 |
100#ifdef CONFIG_DEBUG_RODATA | 100#ifdef CONFIG_STRICT_KERNEL_RWX |
101 . = ALIGN(1<<SECTION_SHIFT); 102#endif 103 104 .text : { /* Real text segment */ 105 _stext = .; /* Text and read-only data */ 106 IDMAP_TEXT 107 __exception_text_start = .; 108 *(.exception.text) --- 44 unchanged lines hidden (view full) --- 153 __start_unwind_tab = .; 154 *(.ARM.extab*) 155 __stop_unwind_tab = .; 156 } 157#endif 158 159 NOTES 160 | 101 . = ALIGN(1<<SECTION_SHIFT); 102#endif 103 104 .text : { /* Real text segment */ 105 _stext = .; /* Text and read-only data */ 106 IDMAP_TEXT 107 __exception_text_start = .; 108 *(.exception.text) --- 44 unchanged lines hidden (view full) --- 153 __start_unwind_tab = .; 154 *(.ARM.extab*) 155 __stop_unwind_tab = .; 156 } 157#endif 158 159 NOTES 160 |
161#ifdef CONFIG_DEBUG_RODATA | 161#ifdef CONFIG_STRICT_KERNEL_RWX |
162 . = ALIGN(1<<SECTION_SHIFT); 163#else 164 . = ALIGN(PAGE_SIZE); 165#endif 166 __init_begin = .; 167 168 /* 169 * The vectors and stubs are relocatable code, and the --- 55 unchanged lines hidden (view full) --- 225 .exit.data : { 226 ARM_EXIT_KEEP(EXIT_DATA) 227 } 228 229#ifdef CONFIG_SMP 230 PERCPU_SECTION(L1_CACHE_BYTES) 231#endif 232 | 162 . = ALIGN(1<<SECTION_SHIFT); 163#else 164 . = ALIGN(PAGE_SIZE); 165#endif 166 __init_begin = .; 167 168 /* 169 * The vectors and stubs are relocatable code, and the --- 55 unchanged lines hidden (view full) --- 225 .exit.data : { 226 ARM_EXIT_KEEP(EXIT_DATA) 227 } 228 229#ifdef CONFIG_SMP 230 PERCPU_SECTION(L1_CACHE_BYTES) 231#endif 232 |
233#ifdef CONFIG_DEBUG_RODATA | 233#ifdef CONFIG_STRICT_KERNEL_RWX |
234 . = ALIGN(1<<SECTION_SHIFT); 235#else 236 . = ALIGN(THREAD_SIZE); 237#endif 238 __init_end = .; 239 __data_loc = .; 240 241 .data : AT(__data_loc) { --- 78 unchanged lines hidden (view full) --- 320#endif 321 322 BSS_SECTION(0, 0, 0) 323 _end = .; 324 325 STABS_DEBUG 326} 327 | 234 . = ALIGN(1<<SECTION_SHIFT); 235#else 236 . = ALIGN(THREAD_SIZE); 237#endif 238 __init_end = .; 239 __data_loc = .; 240 241 .data : AT(__data_loc) { --- 78 unchanged lines hidden (view full) --- 320#endif 321 322 BSS_SECTION(0, 0, 0) 323 _end = .; 324 325 STABS_DEBUG 326} 327 |
328#ifdef CONFIG_DEBUG_RODATA | 328#ifdef CONFIG_STRICT_KERNEL_RWX |
329/* 330 * Without CONFIG_DEBUG_ALIGN_RODATA, __start_rodata_section_aligned will 331 * be the first section-aligned location after __start_rodata. Otherwise, 332 * it will be equal to __start_rodata. 333 */ 334__start_rodata_section_aligned = ALIGN(__start_rodata, 1 << SECTION_SHIFT); 335#endif 336 --- 17 unchanged lines hidden --- | 329/* 330 * Without CONFIG_DEBUG_ALIGN_RODATA, __start_rodata_section_aligned will 331 * be the first section-aligned location after __start_rodata. Otherwise, 332 * it will be equal to __start_rodata. 333 */ 334__start_rodata_section_aligned = ALIGN(__start_rodata, 1 << SECTION_SHIFT); 335#endif 336 --- 17 unchanged lines hidden --- |