scripts/gdb: add lx_current support for arm64
[linux-2.6-microblaze.git] / scripts / module.lds.S
index 2c52535..04c5685 100644 (file)
@@ -3,10 +3,20 @@
  * Archs are free to supply their own linker scripts.  ld will
  * combine them automatically.
  */
+#ifdef CONFIG_CFI_CLANG
+# include <asm/page.h>
+# define ALIGN_CFI             ALIGN(PAGE_SIZE)
+# define SANITIZER_DISCARDS    *(.eh_frame)
+#else
+# define ALIGN_CFI
+# define SANITIZER_DISCARDS
+#endif
+
 SECTIONS {
        /DISCARD/ : {
                *(.discard)
                *(.discard.*)
+               SANITIZER_DISCARDS
        }
 
        __ksymtab               0 : { *(SORT(___ksymtab+*)) }
@@ -41,7 +51,14 @@ SECTIONS {
                *(.rodata..L*)
        }
 
-       .text : { *(.text .text.[0-9a-zA-Z_]*) }
+       /*
+        * With CONFIG_CFI_CLANG, we assume __cfi_check is at the beginning
+        * of the .text section, and is aligned to PAGE_SIZE.
+        */
+       .text : ALIGN_CFI {
+               *(.text.__cfi_check)
+               *(.text .text.[0-9a-zA-Z_]* .text..L.cfi*)
+       }
 #endif
 }