From 2efec98b28bbc89fc8e062709c7e28cc8a56ee40 Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Sat, 18 Apr 2020 15:57:07 +0930 Subject: [PATCH] PowerPC64: remove empty .rela.dyn (.rela.branch_lt) Stripping .rela.branch_lt is easy enough but messes with the testsuite due to stub symbols (that use section id) changing. Tests that run on more than one target variant can be tricky to fix, this renaming happened to work. bfd/ * elf64-ppc.c (ppc64_elf_size_stubs): Strip relbrlt too. ld/ * testsuite/ld-powerpc/tlsopt5.s: Rename foo to aaaaa. * testsuite/ld-powerpc/tlsopt5.d: Adjust to suit. * testsuite/ld-powerpc/tlsopt6.d: Likewise. --- bfd/ChangeLog | 4 ++++ bfd/elf64-ppc.c | 2 ++ ld/ChangeLog | 6 ++++++ ld/testsuite/ld-powerpc/tlsopt5.d | 12 ++++++------ ld/testsuite/ld-powerpc/tlsopt5.s | 4 ++-- ld/testsuite/ld-powerpc/tlsopt6.d | 12 ++++++------ 6 files changed, 26 insertions(+), 14 deletions(-) diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 9d5f1cb89ec..f88e8831828 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,7 @@ +2020-04-20 Alan Modra + + * elf64-ppc.c (ppc64_elf_size_stubs): Strip relbrlt too. + 2020-04-18 Alan Modra * section.c (bfd_is_const_section): Correct test for special diff --git a/bfd/elf64-ppc.c b/bfd/elf64-ppc.c index 63de3aba594..53e5d913e5d 100644 --- a/bfd/elf64-ppc.c +++ b/bfd/elf64-ppc.c @@ -13772,6 +13772,8 @@ ppc64_elf_size_stubs (struct bfd_link_info *info) } maybe_strip_output (info, htab->brlt); + if (htab->relbrlt != NULL) + maybe_strip_output (info, htab->relbrlt); if (htab->glink_eh_frame != NULL) maybe_strip_output (info, htab->glink_eh_frame); diff --git a/ld/ChangeLog b/ld/ChangeLog index 0f4abca9a34..dffd363494d 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,9 @@ +2020-04-20 Alan Modra + + * testsuite/ld-powerpc/tlsopt5.s: Rename foo to aaaaa. + * testsuite/ld-powerpc/tlsopt5.d: Adjust to suit. + * testsuite/ld-powerpc/tlsopt6.d: Likewise. + 2020-04-18 Rainer Orth * testsuite/ld-elf/warn1.d: Don't xfail on 64-bit Solaris/SPARC. diff --git a/ld/testsuite/ld-powerpc/tlsopt5.d b/ld/testsuite/ld-powerpc/tlsopt5.d index 596c426bd7f..0fcb79821b8 100644 --- a/ld/testsuite/ld-powerpc/tlsopt5.d +++ b/ld/testsuite/ld-powerpc/tlsopt5.d @@ -8,9 +8,9 @@ Disassembly of section \.text: -.* <.*\.plt_call\.foo>: +.* <.*\.plt_call\.aaaaa>: .*: (18 00 41 f8|f8 41 00 18) std r2,24\(r1\) -.*: (28 80 82 e9|e9 82 80 28) ld r12,-32728\(r2\) +.*: (30 80 82 e9|e9 82 80 30) ld r12,-32720\(r2\) .*: (a6 03 89 7d|7d 89 03 a6) mtctr r12 .*: (20 04 80 4e|4e 80 04 20) bctr \.\.\. @@ -26,7 +26,7 @@ Disassembly of section \.text: .*: (a6 02 08 7c|7c 08 02 a6) mflr r0 .*: (08 00 01 f8|f8 01 00 08) std r0,8\(r1\) .*: (18 00 41 f8|f8 41 00 18) std r2,24\(r1\) -.*: (30 80 82 e9|e9 82 80 30) ld r12,-32720\(r2\) +.*: (28 80 82 e9|e9 82 80 28) ld r12,-32728\(r2\) .*: (a6 03 89 7d|7d 89 03 a6) mtctr r12 .*: (21 04 80 4e|4e 80 04 21) bctrl .*: (18 00 41 e8|e8 41 00 18) ld r2,24\(r1\) @@ -39,7 +39,7 @@ Disassembly of section \.text: .*: (08 80 62 38|38 62 80 08) addi r3,r2,-32760 .*: (9d ff ff 4b|4b ff ff 9d) bl .* <.*\.plt_call\.__tls_get_addr_opt@@GLIBC_2\.22> .*: (00 00 00 60|60 00 00 00) nop -.*: (75 ff ff 4b|4b ff ff 75) bl .* <.*\.plt_call\.foo> +.*: (75 ff ff 4b|4b ff ff 75) bl .* <.*\.plt_call\.aaaaa> .*: (18 00 41 e8|e8 41 00 18) ld r2,24\(r1\) .*: (00 00 00 60|60 00 00 00) nop .* @@ -61,8 +61,8 @@ Disassembly of section \.text: .*: (08 00 6b e9|e9 6b 00 08) ld r11,8\(r11\) .*: (20 04 80 4e|4e 80 04 20) bctr -.* : +.* <__tls_get_addr_opt@plt>: .* (c8 ff ff 4b|4b ff ff c8) b .* -.* <__tls_get_addr_opt@plt>: +.* : .*: (c4 ff ff 4b|4b ff ff c4) b .* diff --git a/ld/testsuite/ld-powerpc/tlsopt5.s b/ld/testsuite/ld-powerpc/tlsopt5.s index 7cb82db1f65..004279a5bda 100644 --- a/ld/testsuite/ld-powerpc/tlsopt5.s +++ b/ld/testsuite/ld-powerpc/tlsopt5.s @@ -1,10 +1,10 @@ .globl _start - .weak foo + .weak aaaaa _start: .cfi_startproc addi 3,2,gd@got@tlsgd bl __tls_get_addr(gd@tlsgd) nop - bl foo + bl aaaaa nop .cfi_endproc diff --git a/ld/testsuite/ld-powerpc/tlsopt6.d b/ld/testsuite/ld-powerpc/tlsopt6.d index 4100302a42f..4ca64092c1d 100644 --- a/ld/testsuite/ld-powerpc/tlsopt6.d +++ b/ld/testsuite/ld-powerpc/tlsopt6.d @@ -8,9 +8,9 @@ Disassembly of section \.text: -.* <.*\.plt_call\.foo>: +.* <.*\.plt_call\.aaaaa>: .*: (18 00 41 f8|f8 41 00 18) std r2,24\(r1\) -.*: (28 80 82 e9|e9 82 80 28) ld r12,-32728\(r2\) +.*: (30 80 82 e9|e9 82 80 30) ld r12,-32720\(r2\) .*: (a6 03 89 7d|7d 89 03 a6) mtctr r12 .*: (20 04 80 4e|4e 80 04 20) bctr \.\.\. @@ -35,7 +35,7 @@ Disassembly of section \.text: .*: (f8 ff 61 f9|f9 61 ff f8) std r11,-8\(r1\) .*: (a1 ff 21 f8|f8 21 ff a1) stdu r1,-96\(r1\) .*: (18 00 41 f8|f8 41 00 18) std r2,24\(r1\) -.*: (30 80 82 e9|e9 82 80 30) ld r12,-32720\(r2\) +.*: (28 80 82 e9|e9 82 80 28) ld r12,-32728\(r2\) .*: (a6 03 89 7d|7d 89 03 a6) mtctr r12 .*: (21 04 80 4e|4e 80 04 21) bctrl .*: (18 00 41 e8|e8 41 00 18) ld r2,24\(r1\) @@ -57,7 +57,7 @@ Disassembly of section \.text: .*: (08 80 62 38|38 62 80 08) addi r3,r2,-32760 .*: (5d ff ff 4b|4b ff ff 5d) bl .* <.*\.plt_call\.__tls_get_addr_opt@@GLIBC_2\.22> .*: (00 00 00 60|60 00 00 00) nop -.*: (35 ff ff 4b|4b ff ff 35) bl .* <.*\.plt_call\.foo> +.*: (35 ff ff 4b|4b ff ff 35) bl .* <.*\.plt_call\.aaaaa> .*: (18 00 41 e8|e8 41 00 18) ld r2,24\(r1\) .*: (00 00 00 60|60 00 00 00) nop .* @@ -79,8 +79,8 @@ Disassembly of section \.text: .*: (08 00 6b e9|e9 6b 00 08) ld r11,8\(r11\) .*: (20 04 80 4e|4e 80 04 20) bctr -.* : +.* <__tls_get_addr_opt@plt>: .* (c8 ff ff 4b|4b ff ff c8) b .* -.* <__tls_get_addr_opt@plt>: +.* : .*: (c4 ff ff 4b|4b ff ff c4) b .* -- 2.30.2