diff options
author | Tom Rix <trix@redhat.com> | 2002-05-10 21:20:16 +0000 |
---|---|---|
committer | Tom Rix <trix@redhat.com> | 2002-05-10 21:20:16 +0000 |
commit | f1f0d9ab14a55973f82d67fe1fa8195e80b325be (patch) | |
tree | 57a08d67b8ff3ee368ad55b158cc7b5f5ad832ba /ld/ldfile.c | |
parent | ecac9a4eaf012690d73417818b19477e90d34af4 (diff) | |
download | gdb-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.c | 8 |
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); |