* elfxx-ia64.c (elfNN_ia64_relax_section): Handle PCREL21M
authorRichard Henderson <rth@redhat.com>
Mon, 9 Sep 2002 17:34:07 +0000 (17:34 +0000)
committerRichard Henderson <rth@redhat.com>
Mon, 9 Sep 2002 17:34:07 +0000 (17:34 +0000)
        and PCREL21F like PCREL21B.

bfd/ChangeLog
bfd/elfxx-ia64.c

index a6465a18b4198d82760a0ab539f7e7a094b891c7..66cce3515b7989d6e5e238e9e759319c9a00ec0a 100644 (file)
@@ -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
index dca8b45cd34d738a383f5ecfce9b6be989b5b9d5..2a29347365f297c32c1e5e0f73de783ea5d6074a 100644 (file)
@@ -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.  */