hc
2024-01-31 f9004dbfff8a3fbbd7e2a88c8a4327c7f2f8e5b2
kernel/arch/arm/kernel/vmlinux-xip.lds.S
....@@ -9,14 +9,12 @@
99
1010 #include <linux/sizes.h>
1111
12
-#include <asm-generic/vmlinux.lds.h>
12
+#include <asm/vmlinux.lds.h>
1313 #include <asm/cache.h>
1414 #include <asm/thread_info.h>
1515 #include <asm/memory.h>
1616 #include <asm/mpu.h>
1717 #include <asm/page.h>
18
-
19
-#include "vmlinux.lds.h"
2018
2119 OUTPUT_ARCH(arm)
2220 ENTRY(stext)
....@@ -42,6 +40,10 @@
4240 ARM_DISCARD
4341 *(.alt.smp.init)
4442 *(.pv_table)
43
+#ifndef CONFIG_ARM_UNWIND
44
+ *(.ARM.exidx) *(.ARM.exidx.*)
45
+ *(.ARM.extab) *(.ARM.extab.*)
46
+#endif
4547 }
4648
4749 . = XIP_VIRT_ADDR(CONFIG_XIP_PHYS_ADDR);
....@@ -70,8 +72,6 @@
7072 ARM_UNWIND_SECTIONS
7173 #endif
7274
73
- NOTES
74
-
7575 _etext = .; /* End of text and rodata section */
7676
7777 ARM_VECTORS
....@@ -96,7 +96,6 @@
9696 INIT_SETUP(16)
9797 INIT_CALLS
9898 CON_INITCALL
99
- SECURITY_INITCALL
10099 INIT_RAM_FS
101100 }
102101
....@@ -115,7 +114,7 @@
115114
116115 . = ALIGN(THREAD_SIZE);
117116 _sdata = .;
118
- RW_DATA_SECTION(L1_CACHE_BYTES, PAGE_SIZE, THREAD_SIZE)
117
+ RW_DATA(L1_CACHE_BYTES, PAGE_SIZE, THREAD_SIZE)
119118 .data.ro_after_init : AT(ADDR(.data.ro_after_init) - LOAD_OFFSET) {
120119 *(.data..ro_after_init)
121120 }
....@@ -155,6 +154,10 @@
155154 _end = .;
156155
157156 STABS_DEBUG
157
+ DWARF_DEBUG
158
+ ARM_DETAILS
159
+
160
+ ARM_ASSERTS
158161 }
159162
160163 /*
....@@ -164,14 +167,6 @@
164167 */
165168 ASSERT((__proc_info_end - __proc_info_begin), "missing CPU support")
166169 ASSERT((__arch_info_end - __arch_info_begin), "no machine record defined")
167
-
168
-/*
169
- * The HYP init code can't be more than a page long,
170
- * and should not cross a page boundary.
171
- * The above comment applies as well.
172
- */
173
-ASSERT(__hyp_idmap_text_end - (__hyp_idmap_text_start & PAGE_MASK) <= PAGE_SIZE,
174
- "HYP init code too big or misaligned")
175170
176171 #ifdef CONFIG_XIP_DEFLATED_DATA
177172 /*