PowerPC64: fix assertion in ppc_build_one_stub with -Os code
Alan Modra
amodra@gmail.com
Thu Jun 23 08:36:31 GMT 2022
The last stub debug dump showed what was really going on.
save_res stubs aren't written in ppc_build_one_stub, their offsets
(which are zero) should not be checked.
* elf64-ppc.c (ppc_build_one_stub): Don't check save_res offsets.
diff --git a/bfd/elf64-ppc.c b/bfd/elf64-ppc.c
index 6af33d883b3..04f2c146535 100644
--- a/bfd/elf64-ppc.c
+++ b/bfd/elf64-ppc.c
@@ -11735,7 +11735,8 @@ ppc_build_one_stub (struct bfd_hash_entry *gen_entry, void *in_arg)
= ppc64_elf_section_data (stub_entry->group->stub_sec);
++htab->stub_id;
if (stub_entry->id != htab->stub_id
- || stub_entry->stub_offset < stub_entry->group->stub_sec->size)
+ || (stub_entry->type.main != ppc_stub_save_res
+ && stub_entry->stub_offset < stub_entry->group->stub_sec->size))
{
BFD_ASSERT (0);
if (stub_entry->id != htab->stub_id)
--
Alan Modra
Australia Development Lab, IBM
More information about the Binutils
mailing list