aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Henderson <rth@redhat.com>2002-09-09 17:34:07 +0000
committerRichard Henderson <rth@redhat.com>2002-09-09 17:34:07 +0000
commit2f21f25e2bb2472e1a613bb2566496f4a3e0ad5f (patch)
tree39d5c1439299b6266f84fee0cb4a051dfbc5d0ad
parentfc697c14bd75d9b6fa860d17afb0e1cc98dd4e66 (diff)
downloadgdb-2f21f25e2bb2472e1a613bb2566496f4a3e0ad5f.zip
gdb-2f21f25e2bb2472e1a613bb2566496f4a3e0ad5f.tar.gz
gdb-2f21f25e2bb2472e1a613bb2566496f4a3e0ad5f.tar.bz2
* elfxx-ia64.c (elfNN_ia64_relax_section): Handle PCREL21M
and PCREL21F like PCREL21B.
-rw-r--r--bfd/ChangeLog5
-rw-r--r--bfd/elfxx-ia64.c8
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. */