From: H.J. Lu Date: Sat, 1 Sep 2018 02:56:25 +0000 (-0700) Subject: Allow an IR object with unknown architecture X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=b986869b6605e45044626c5b3111390ac4e70b82;p=binutils-gdb.git Allow an IR object with unknown architecture An IR object may have an unknown architecture. But it is compatible with other architecture. PR ld/23600 * archures.c (bfd_arch_get_compatible): Allow an IR object with unknown architecture. --- diff --git a/bfd/ChangeLog b/bfd/ChangeLog index fcbfa96625a..792df8a1fa5 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,9 @@ +018-08-31 H.J. Lu + + PR ld/23600 + * archures.c (bfd_arch_get_compatible): Allow an IR object with + unknown architecture. + 2018-08-31 Alan Modra * elf64-ppc.c (num_relocs_for_offset): New function. diff --git a/bfd/archures.c b/bfd/archures.c index 300e17e9eb2..82b6741d2ef 100644 --- a/bfd/archures.c +++ b/bfd/archures.c @@ -896,12 +896,13 @@ bfd_arch_get_compatible (const bfd *abfd, /* Otherwise architecture-specific code has to decide. */ return abfd->arch_info->compatible (abfd->arch_info, bbfd->arch_info); - /* We can allow an unknown architecture if accept_unknowns - is true, or if the target is the "binary" format, which - has an unknown architecture. Since the binary format can + /* We can allow an unknown architecture if accept_unknowns is true, + if UBFD is an IR object, or if the target is the "binary" format, + which has an unknown architecture. Since the binary format can only be set by explicit request from the user, it is safe to assume that they know what they are doing. */ if (accept_unknowns + || ubfd->plugin_format == bfd_plugin_yes || strcmp (bfd_get_target (ubfd), "binary") == 0) return kbfd->arch_info; return NULL;