]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
powerpc/32: Add .data..Lubsan_data*/.data..Lubsan_type* sections explicitly
authorMathieu Malaterre <malat@debian.org>
Wed, 31 Oct 2018 12:31:56 +0000 (13:31 +0100)
committerMichael Ellerman <mpe@ellerman.id.au>
Sun, 25 Nov 2018 06:11:22 +0000 (17:11 +1100)
When both `CONFIG_LD_DEAD_CODE_DATA_ELIMINATION=y` and `CONFIG_UBSAN=y`
are set, link step typically produce numberous warnings about orphan
section:

  + powerpc-linux-gnu-ld -EB -m elf32ppc -Bstatic --orphan-handling=warn --build-id --gc-sections -X -o .tmp_vmlinux1 -T ./arch/powerpc/kernel/vmlinux.lds --who
  le-archive built-in.a --no-whole-archive --start-group lib/lib.a --end-group
  powerpc-linux-gnu-ld: warning: orphan section `.data..Lubsan_data393' from `init/main.o' being placed in section `.data..Lubsan_data393'.
  powerpc-linux-gnu-ld: warning: orphan section `.data..Lubsan_data394' from `init/main.o' being placed in section `.data..Lubsan_data394'.
  ...
  powerpc-linux-gnu-ld: warning: orphan section `.data..Lubsan_type11' from `init/main.o' being placed in section `.data..Lubsan_type11'.
  powerpc-linux-gnu-ld: warning: orphan section `.data..Lubsan_type12' from `init/main.o' being placed in section `.data..Lubsan_type12'.
  ...

This commit remove those warnings produced at W=1.

Link: https://www.mail-archive.com/linuxppc-dev@lists.ozlabs.org/msg135407.html
Suggested-by: Nicholas Piggin <npiggin@gmail.com>
Signed-off-by: Mathieu Malaterre <malat@debian.org>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
arch/powerpc/kernel/vmlinux.lds.S

index 434581bcd5b420df3108feb7861eb09ce31914ea..1148c3c60c3b95cf1cc1719fe067426936e868a7 100644 (file)
@@ -308,6 +308,10 @@ SECTIONS
 #ifdef CONFIG_PPC32
        .data : AT(ADDR(.data) - LOAD_OFFSET) {
                DATA_DATA
+#ifdef CONFIG_UBSAN
+               *(.data..Lubsan_data*)
+               *(.data..Lubsan_type*)
+#endif
                *(.data.rel*)
                *(SDATA_MAIN)
                *(.sdata2)