From a4aa0fb7d08aca921a8a977cc61a116883201dcc Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Wed, 7 Aug 2002 05:23:09 +0000 Subject: [PATCH] * elf64-ppc.c (edit_opd): Arrange to drop symbols for discarded .opd entries. --- bfd/ChangeLog | 5 +++++ bfd/elf64-ppc.c | 18 +++++++++++++++++- 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 3d9e2b0d767..e3ada44c420 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,8 @@ +2002-08-07 Alan Modra + + * elf64-ppc.c (edit_opd): Arrange to drop symbols for discarded .opd + entries. + 2002-08-07 Thiemo Seufer * elfxx-mips.c (mips_elf_create_dynamic_relocation): Cast signedness diff --git a/bfd/elf64-ppc.c b/bfd/elf64-ppc.c index 86161fcb05f..616fbd496af 100644 --- a/bfd/elf64-ppc.c +++ b/bfd/elf64-ppc.c @@ -3753,7 +3753,23 @@ edit_opd (obfd, info) } skip = sym_sec->output_section == bfd_abs_section_ptr; - if (!skip) + if (skip) + { + if (h != NULL) + { + /* Arrange for the function descriptor sym + to be dropped. */ + struct elf_link_hash_entry *fdh; + struct ppc_link_hash_entry *fh; + + fh = (struct ppc_link_hash_entry *) h; + BFD_ASSERT (fh->is_func); + fdh = fh->oh; + fdh->root.u.def.value = 0; + fdh->root.u.def.section = sym_sec; + } + } + else { /* We'll be keeping this opd entry. */ -- 2.30.2