diff options
author | John David Anglin <danglin@gcc.gnu.org> | 2023-12-15 21:02:32 +0000 |
---|---|---|
committer | John David Anglin <danglin@gcc.gnu.org> | 2023-12-15 21:02:32 +0000 |
commit | fc4ddd6734e522debe7e99812b743b368f1cc946 (patch) | |
tree | 579389b25f157bb7726fd82662c53042289bdda4 /bfd | |
parent | c5a473d789d815c8f03f3ef9fc6df5ccfc40a468 (diff) | |
download | gdb-fc4ddd6734e522debe7e99812b743b368f1cc946.zip gdb-fc4ddd6734e522debe7e99812b743b368f1cc946.tar.gz gdb-fc4ddd6734e522debe7e99812b743b368f1cc946.tar.bz2 |
Fix segmentation fault in bfd/elf32-hppa.c
2023-12-15 John David Anglin <danglin@gcc.gnu.org>
PR ld/31148
bfd/ChangeLog:
* elf32-hppa.c (elf32_hppa_finish_dynamic_symbol): Output
relative reloc only when eh->root.type is bfd_link_hash_defined
or bfd_link_hash_defweak.
Diffstat (limited to 'bfd')
-rw-r--r-- | bfd/elf32-hppa.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/bfd/elf32-hppa.c b/bfd/elf32-hppa.c index 44129c8..d64ca75 100644 --- a/bfd/elf32-hppa.c +++ b/bfd/elf32-hppa.c @@ -4216,7 +4216,9 @@ elf32_hppa_finish_dynamic_symbol (bfd *output_bfd, file, we just want to emit a RELATIVE reloc. The entry in the global offset table will already have been initialized in the relocate_section function. */ - if (!is_dyn) + if (!is_dyn + && (eh->root.type == bfd_link_hash_defined + || eh->root.type == bfd_link_hash_defweak)) { rela.r_info = ELF32_R_INFO (0, R_PARISC_DIR32); rela.r_addend = (eh->root.u.def.value |