aboutsummaryrefslogtreecommitdiff
path: root/ld/ldfile.c
diff options
context:
space:
mode:
authorTom Rix <trix@redhat.com>2002-05-10 21:20:16 +0000
committerTom Rix <trix@redhat.com>2002-05-10 21:20:16 +0000
commitf1f0d9ab14a55973f82d67fe1fa8195e80b325be (patch)
tree57a08d67b8ff3ee368ad55b158cc7b5f5ad832ba /ld/ldfile.c
parentecac9a4eaf012690d73417818b19477e90d34af4 (diff)
downloadgdb-f1f0d9ab14a55973f82d67fe1fa8195e80b325be.zip
gdb-f1f0d9ab14a55973f82d67fe1fa8195e80b325be.tar.gz
gdb-f1f0d9ab14a55973f82d67fe1fa8195e80b325be.tar.bz2
XCOFF64 fixes. For setting arch/mach and for R_BR relocations.
Diffstat (limited to 'ld/ldfile.c')
-rw-r--r--ld/ldfile.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/ld/ldfile.c b/ld/ldfile.c
index 8d8310a..7258bb1 100644
--- a/ld/ldfile.c
+++ b/ld/ldfile.c
@@ -132,7 +132,13 @@ ldfile_try_open_bfd (attempt, entry)
{
if (! bfd_check_format (check, bfd_object))
return true;
- if (bfd_arch_get_compatible (check, output_bfd) == NULL)
+
+ if ((bfd_arch_get_compatible (check, output_bfd) == NULL)
+ /* XCOFF archives can have 32 and 64 bit objects */
+ && ! (bfd_get_flavour (check) == bfd_target_xcoff_flavour
+ && bfd_get_flavour (output_bfd) ==
+ bfd_target_xcoff_flavour
+ && bfd_check_format (entry->the_bfd, bfd_archive)))
{
einfo (_("%P: skipping incompatible %s when searching for %s\n"),
attempt, entry->local_sym_name);