PR31872, Segfault in objdump (elf_slurp_reloc_table_from_section)

This one was triggered by trying to dump an AMDGPU object.
elf64-amdgcn.c lacks support for objdump relocation handling.

	PR 31872
	* elfcode.h (elf_slurp_reloc_table_from_section): Don't segfault
	on NULL elf_info_to_howto_rel.
This commit is contained in:
Alan Modra 2024-06-11 09:22:49 +09:30
parent 39071d57ab
commit b20ab53f81

View File

@ -1614,11 +1614,11 @@ elf_slurp_reloc_table_from_section (bfd *abfd,
relent->addend = rela.r_addend;
if ((entsize == sizeof (Elf_External_Rela)
&& ebd->elf_info_to_howto != NULL)
|| ebd->elf_info_to_howto_rel == NULL)
res = false;
if (entsize == sizeof (Elf_External_Rela)
&& ebd->elf_info_to_howto != NULL)
res = ebd->elf_info_to_howto (abfd, relent, &rela);
else
else if (ebd->elf_info_to_howto_rel != NULL)
res = ebd->elf_info_to_howto_rel (abfd, relent, &rela);
if (! res || relent->howto == NULL)