瀏覽代碼

[MIPS] Discard .exit.text at runtime.

At times gcc will place bits of __exit functions into .rodata. If
compiled into the kernle itself we used to discard .exit.text - but
not the bits left in .rodata. While harmless this did at times result
in a large number of warnings. So until gcc fixes this, discard
.exit.text at runtime.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>

Ralf Baechle 19 年之前
父節點
當前提交
bb7d83f744
共有 1 個文件被更改,包括 3 次插入1 次删除
  1. 3 1
      arch/mips/kernel/vmlinux.lds.S

+ 3 - 1
arch/mips/kernel/vmlinux.lds.S

@@ -106,6 +106,9 @@ SECTIONS
   .con_initcall.init : { *(.con_initcall.init) }
   __con_initcall_end = .;
   SECURITY_INIT
+    /* .exit.text is discarded at runtime, not link time, to deal with
+     references from .rodata */
+  .exit.text : { *(.exit.text) }
   . = ALIGN(_PAGE_SIZE);
   __initramfs_start = .;
   .init.ramfs : { *(.init.ramfs) }
@@ -133,7 +136,6 @@ SECTIONS
 
   /* Sections to be discarded */
   /DISCARD/ : {
-        *(.exit.text)
         *(.exit.data)
         *(.exitcall.exit)