• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 #include <asm/page-def.h>
3 
4 SECTIONS {
5 	.plt 0 : { BYTE(0) }
6 	.init.plt 0 : { BYTE(0) }
7 	.text.ftrace_trampoline 0 : { BYTE(0) }
8 
9 #ifdef CONFIG_KASAN_SW_TAGS
10 	/*
11 	 * Outlined checks go into comdat-deduplicated sections named .text.hot.
12 	 * Because they are in comdats they are not combined by the linker and
13 	 * we otherwise end up with multiple sections with the same .text.hot
14 	 * name in the .ko file. The kernel module loader warns if it sees
15 	 * multiple sections with the same name so we use this sections
16 	 * directive to force them into a single section and silence the
17 	 * warning.
18 	 */
19 	.text.hot : { *(.text.hot) }
20 #endif
21 
22 #ifdef CONFIG_UNWIND_TABLES
23 	/*
24 	 * Currently, we only use unwind info at module load time, so we can
25 	 * put it into the .init allocation.
26 	 */
27 	.init.eh_frame : { *(.eh_frame) }
28 #endif
29 
30 #ifdef CONFIG_KVM
ALIGN(PAGE_SIZE)31 	.hyp.text : ALIGN(PAGE_SIZE) {
32 		*(.hyp.text)
33 		*(.hyp.text.ftrace_tramp)
34 		. = ALIGN(PAGE_SIZE);
35 	}
ALIGN(PAGE_SIZE)36 	.hyp.bss : ALIGN(PAGE_SIZE) {
37 		*(.hyp.bss)
38 		. = ALIGN(PAGE_SIZE);
39 	}
ALIGN(PAGE_SIZE)40 	.hyp.rodata : ALIGN(PAGE_SIZE) {
41 		*(.hyp.rodata)
42 		. = ALIGN(PAGE_SIZE);
43 	}
ALIGN(PAGE_SIZE)44 	.hyp.event_ids : ALIGN(PAGE_SIZE) {
45 		/*
46 		 * Yet empty, without that *(.hyp.event_ids) input section
47 		 * (named after the output section), the location counter
48 		 * page-alignment below is ignored.
49 		 */
50 		*(.hyp.event_ids)
51 		*(SORT(.hyp.event_ids.*))
52 		*(.hyp.printk_fmt_offset)
53 		. = ALIGN(PAGE_SIZE);
54 	}
ALIGN(PAGE_SIZE)55 	.hyp.patchable_function_entries : ALIGN(PAGE_SIZE) {
56 		*(.hyp.patchable_function_entries)
57 		. = ALIGN(PAGE_SIZE);
58 	}
ALIGN(PAGE_SIZE)59 	.hyp.data : ALIGN(PAGE_SIZE) {
60 		*(.hyp.data)
61 		. = ALIGN(PAGE_SIZE);
62 	}
63 	.hyp.reloc : ALIGN(4) {	*(.hyp.reloc) }
64 	_hyp_events : { *(SORT(_hyp_events.*)) }
65 #endif
66 }
67