diff options
Diffstat (limited to 'bfd')
-rw-r--r-- | bfd/ChangeLog | 5 | ||||
-rw-r--r-- | bfd/elfxx-ia64.c | 8 |
2 files changed, 11 insertions, 2 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index a6465a1..66cce35 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,8 @@ +2002-09-09 Richard Henderson <rth@redhat.com> + + * elfxx-ia64.c (elfNN_ia64_relax_section): Handle PCREL21M + and PCREL21F like PCREL21B. + 2002-09-04 Kevin Buettner <kevinb@redhat.com> * config.bfd (mips*-*-irix6*): Add new ABI vectors. Make n32 default diff --git a/bfd/elfxx-ia64.c b/bfd/elfxx-ia64.c index dca8b45..2a29347 100644 --- a/bfd/elfxx-ia64.c +++ b/bfd/elfxx-ia64.c @@ -724,7 +724,9 @@ elfNN_ia64_relax_section (abfd, sec, link_info, again) irelend = internal_relocs + sec->reloc_count; for (irel = internal_relocs; irel < irelend; irel++) - if (ELFNN_R_TYPE (irel->r_info) == (int) R_IA64_PCREL21B) + if (ELFNN_R_TYPE (irel->r_info) == (int) R_IA64_PCREL21B + || ELFNN_R_TYPE (irel->r_info) == (int) R_IA64_PCREL21M + || ELFNN_R_TYPE (irel->r_info) == (int) R_IA64_PCREL21F) break; /* No branch-type relocations. */ @@ -756,7 +758,9 @@ elfNN_ia64_relax_section (abfd, sec, link_info, again) struct one_fixup *f; bfd_size_type amt; - if (ELFNN_R_TYPE (irel->r_info) != (int) R_IA64_PCREL21B) + if (ELFNN_R_TYPE (irel->r_info) != (int) R_IA64_PCREL21B + && ELFNN_R_TYPE (irel->r_info) != (int) R_IA64_PCREL21M + && ELFNN_R_TYPE (irel->r_info) != (int) R_IA64_PCREL21F) continue; /* Get the value of the symbol referred to by the reloc. */ |