Alan Modra <amo...@gmail.com> explains:

 > Likely you could discard .interp > and .dynstr too, and .dynsym when
 > !CONFIG_PPC32.

Discarding of interp and dynstr happened in a previous patch. The dynsym
cleanup was a bit less straightforward, so it gets it's own patch.

Signed-off-by: Joel Stanley <j...@jms.id.au>
---
See 
https://lore.kernel.org/lkml/CACPK8Xft3n5KkpTjN3=7_vucxhfck7mxvzm2rrqu7tppcbo...@mail.gmail.com/T/#m58532c86cf0c7b4fb01cc1fe724e48d4c7d8e4a7

 arch/powerpc/kernel/vmlinux.lds.S | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/arch/powerpc/kernel/vmlinux.lds.S 
b/arch/powerpc/kernel/vmlinux.lds.S
index e14cde32b003..49dd678a2de4 100644
--- a/arch/powerpc/kernel/vmlinux.lds.S
+++ b/arch/powerpc/kernel/vmlinux.lds.S
@@ -266,14 +266,13 @@ SECTIONS
        }
 #ifdef CONFIG_RELOCATABLE
        . = ALIGN(8);
+#ifdef CONFIG_PPC32
        .dynsym : AT(ADDR(.dynsym) - LOAD_OFFSET)
        {
-#ifdef CONFIG_PPC32
                __dynamic_symtab = .;
-#endif
                *(.dynsym)
        }
-       .dynstr : AT(ADDR(.dynstr) - LOAD_OFFSET) { *(.dynstr) }
+#endif
        .dynamic : AT(ADDR(.dynamic) - LOAD_OFFSET)
        {
                __dynamic_start = .;
@@ -390,5 +389,8 @@ SECTIONS
                *(.hash .gnu.hash)
                *(.interp)
                *(.dynstr)
+#ifndef CONFIG_PPC32
+               *(.dynsym)
+#endif
        }
 }
-- 
2.19.1

Reply via email to