segv in coff_aarch64_addr32nb_reloc

* coff-aarch64.c (coff_aarch64_addr32nb_reloc): When output_bfd
	is NULL (which it is for objdump -W) get the output bfd via the
	input section.
This commit is contained in:
Alan Modra 2023-01-26 18:25:05 +10:30
parent 4707199bd7
commit c37de29815

View File

@ -189,9 +189,10 @@ coff_aarch64_addr32nb_reloc (bfd *abfd,
+ symbol->section->output_section->vma);
bfd_vma addend = bfd_getl_signed_32 (data + reloc_entry->address);
relocation += addend;
if (bfd_get_flavour (output_bfd) == bfd_target_coff_flavour
&& obj_pe (output_bfd))
relocation -= pe_data (output_bfd)->pe_opthdr.ImageBase;
bfd *obfd = input_section->output_section->owner;
if (bfd_get_flavour (obfd) == bfd_target_coff_flavour
&& obj_pe (obfd))
relocation -= pe_data (obfd)->pe_opthdr.ImageBase;
else
{
*error_message = "unsupported";