summaryrefslogtreecommitdiffstats
path: root/arch/arm64/include/asm/module.lds.h
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm64/include/asm/module.lds.h')
-rw-r--r--arch/arm64/include/asm/module.lds.h26
1 files changed, 26 insertions, 0 deletions
diff --git a/arch/arm64/include/asm/module.lds.h b/arch/arm64/include/asm/module.lds.h
new file mode 100644
index 0000000000..b9ae8349e3
--- /dev/null
+++ b/arch/arm64/include/asm/module.lds.h
@@ -0,0 +1,26 @@
+SECTIONS {
+ .plt 0 : { BYTE(0) }
+ .init.plt 0 : { BYTE(0) }
+ .text.ftrace_trampoline 0 : { BYTE(0) }
+
+#ifdef CONFIG_KASAN_SW_TAGS
+ /*
+ * Outlined checks go into comdat-deduplicated sections named .text.hot.
+ * Because they are in comdats they are not combined by the linker and
+ * we otherwise end up with multiple sections with the same .text.hot
+ * name in the .ko file. The kernel module loader warns if it sees
+ * multiple sections with the same name so we use this sections
+ * directive to force them into a single section and silence the
+ * warning.
+ */
+ .text.hot : { *(.text.hot) }
+#endif
+
+#ifdef CONFIG_UNWIND_TABLES
+ /*
+ * Currently, we only use unwind info at module load time, so we can
+ * put it into the .init allocation.
+ */
+ .init.eh_frame : { *(.eh_frame) }
+#endif
+}