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 <tangyoul...@loongson.cn>
---
 arch/powerpc/kernel/vdso32/vdso32.lds.S | 42 ++++-----------------------------
 arch/powerpc/kernel/vdso64/vdso64.lds.S | 42 ++++-----------------------------
 2 files changed, 8 insertions(+), 76 deletions(-)

diff --git a/arch/powerpc/kernel/vdso32/vdso32.lds.S 
b/arch/powerpc/kernel/vdso32/vdso32.lds.S
index 7eadac7..8b5c7eb 100644
--- a/arch/powerpc/kernel/vdso32/vdso32.lds.S
+++ b/arch/powerpc/kernel/vdso32/vdso32.lds.S
@@ -4,6 +4,7 @@
  * library
  */
 #include <asm/vdso.h>
+#include <asm-generic/vmlinux.lds.h>
 
 #ifdef __LITTLE_ENDIAN__
 OUTPUT_FORMAT("elf32-powerpcle", "elf32-powerpcle", "elf32-powerpcle")
@@ -68,44 +69,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)
diff --git a/arch/powerpc/kernel/vdso64/vdso64.lds.S 
b/arch/powerpc/kernel/vdso64/vdso64.lds.S
index 256fb97..0002f4e 100644
--- a/arch/powerpc/kernel/vdso64/vdso64.lds.S
+++ b/arch/powerpc/kernel/vdso64/vdso64.lds.S
@@ -4,6 +4,7 @@
  * library
  */
 #include <asm/vdso.h>
+#include <asm-generic/vmlinux.lds.h>
 
 #ifdef __LITTLE_ENDIAN__
 OUTPUT_FORMAT("elf64-powerpcle", "elf64-powerpcle", "elf64-powerpcle")
@@ -67,44 +68,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)
-- 
2.1.0

Reply via email to