powerpc: Use common STABS_DEBUG and DWARF_DEBUG and ELF_DETAILS macro
authorYouling Tang <tangyouling@loongson.cn>
Fri, 27 Nov 2020 07:07:37 +0000 (15:07 +0800)
committerMichael Ellerman <mpe@ellerman.id.au>
Thu, 3 Dec 2020 14:01:20 +0000 (01:01 +1100)
Use the common STABS_DEBUG and DWARF_DEBUG and ELF_DETAILS macro rule for
the linker script in an effort.

Signed-off-by: Youling Tang <tangyouling@loongson.cn>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/1606460857-2723-1-git-send-email-tangyouling@loongson.cn
arch/powerpc/kernel/vdso32/vdso32.lds.S
arch/powerpc/kernel/vdso64/vdso64.lds.S

index 8bf958a..a4b806b 100644 (file)
@@ -5,6 +5,7 @@
  */
 #include <asm/vdso.h>
 #include <asm/page.h>
+#include <asm-generic/vmlinux.lds.h>
 
 #ifdef __LITTLE_ENDIAN__
 OUTPUT_FORMAT("elf32-powerpcle", "elf32-powerpcle", "elf32-powerpcle")
@@ -78,44 +79,9 @@ SECTIONS
        __end = .;
        PROVIDE(end = .);
 
-       /*
-        * Stabs debugging sections are here too.
-        */
-       .stab 0 : { *(.stab) }
-       .stabstr 0 : { *(.stabstr) }
-       .stab.excl 0 : { *(.stab.excl) }
-       .stab.exclstr 0 : { *(.stab.exclstr) }
-       .stab.index 0 : { *(.stab.index) }
-       .stab.indexstr 0 : { *(.stab.indexstr) }
-       .comment       0 : { *(.comment) }
-
-       /*
-        * DWARF debug sections.
-        * Symbols in the DWARF debugging sections are relative to the beginning
-        * of the section so we begin them at 0.
-        */
-       /* DWARF 1 */
-       .debug          0 : { *(.debug) }
-       .line           0 : { *(.line) }
-       /* GNU DWARF 1 extensions */
-       .debug_srcinfo  0 : { *(.debug_srcinfo) }
-       .debug_sfnames  0 : { *(.debug_sfnames) }
-       /* DWARF 1.1 and DWARF 2 */
-       .debug_aranges  0 : { *(.debug_aranges) }
-       .debug_pubnames 0 : { *(.debug_pubnames) }
-       /* DWARF 2 */
-       .debug_info     0 : { *(.debug_info .gnu.linkonce.wi.*) }
-       .debug_abbrev   0 : { *(.debug_abbrev) }
-       .debug_line     0 : { *(.debug_line) }
-       .debug_frame    0 : { *(.debug_frame) }
-       .debug_str      0 : { *(.debug_str) }
-       .debug_loc      0 : { *(.debug_loc) }
-       .debug_macinfo  0 : { *(.debug_macinfo) }
-       /* SGI/MIPS DWARF 2 extensions */
-       .debug_weaknames 0 : { *(.debug_weaknames) }
-       .debug_funcnames 0 : { *(.debug_funcnames) }
-       .debug_typenames 0 : { *(.debug_typenames) }
-       .debug_varnames  0 : { *(.debug_varnames) }
+       STABS_DEBUG
+       DWARF_DEBUG
+       ELF_DETAILS
 
        /DISCARD/       : {
                *(.note.GNU-stack)
index 20f4366..6164d1a 100644 (file)
@@ -5,6 +5,7 @@
  */
 #include <asm/vdso.h>
 #include <asm/page.h>
+#include <asm-generic/vmlinux.lds.h>
 
 #ifdef __LITTLE_ENDIAN__
 OUTPUT_FORMAT("elf64-powerpcle", "elf64-powerpcle", "elf64-powerpcle")
@@ -76,44 +77,9 @@ SECTIONS
        _end = .;
        PROVIDE(end = .);
 
-       /*
-        * Stabs debugging sections are here too.
-        */
-       .stab          0 : { *(.stab) }
-       .stabstr       0 : { *(.stabstr) }
-       .stab.excl     0 : { *(.stab.excl) }
-       .stab.exclstr  0 : { *(.stab.exclstr) }
-       .stab.index    0 : { *(.stab.index) }
-       .stab.indexstr 0 : { *(.stab.indexstr) }
-       .comment       0 : { *(.comment) }
-
-       /*
-        * DWARF debug sections.
-        * Symbols in the DWARF debugging sections are relative to the beginning
-        * of the section so we begin them at 0.
-        */
-       /* DWARF 1 */
-       .debug          0 : { *(.debug) }
-       .line           0 : { *(.line) }
-       /* GNU DWARF 1 extensions */
-       .debug_srcinfo  0 : { *(.debug_srcinfo) }
-       .debug_sfnames  0 : { *(.debug_sfnames) }
-       /* DWARF 1.1 and DWARF 2 */
-       .debug_aranges  0 : { *(.debug_aranges) }
-       .debug_pubnames 0 : { *(.debug_pubnames) }
-       /* DWARF 2 */
-       .debug_info     0 : { *(.debug_info .gnu.linkonce.wi.*) }
-       .debug_abbrev   0 : { *(.debug_abbrev) }
-       .debug_line     0 : { *(.debug_line) }
-       .debug_frame    0 : { *(.debug_frame) }
-       .debug_str      0 : { *(.debug_str) }
-       .debug_loc      0 : { *(.debug_loc) }
-       .debug_macinfo  0 : { *(.debug_macinfo) }
-       /* SGI/MIPS DWARF 2 extensions */
-       .debug_weaknames 0 : { *(.debug_weaknames) }
-       .debug_funcnames 0 : { *(.debug_funcnames) }
-       .debug_typenames 0 : { *(.debug_typenames) }
-       .debug_varnames  0 : { *(.debug_varnames) }
+       STABS_DEBUG
+       DWARF_DEBUG
+       ELF_DETAILS
 
        /DISCARD/       : {
                *(.note.GNU-stack)