aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--binutils/ChangeLog6
-rw-r--r--binutils/readelf.c5
2 files changed, 10 insertions, 1 deletions
diff --git a/binutils/ChangeLog b/binutils/ChangeLog
index 94a8739..2f50eff 100644
--- a/binutils/ChangeLog
+++ b/binutils/ChangeLog
@@ -1,3 +1,9 @@
+2007-10-29 Nick Clifton <nickc@redhat.com>
+
+ * readelf.c (is_32bit_abs_reloc): Add knowledge of reloc used by
+ IA64.
+ (is_64bit_abs_reloc): Likewise.
+
2007-10-28 Nick Clifton <nickc@redhat.com>
* dwarf.c (process_debug_info): Check for corrupt lengths.
diff --git a/binutils/readelf.c b/binutils/readelf.c
index 6ed75af..724e5f0 100644
--- a/binutils/readelf.c
+++ b/binutils/readelf.c
@@ -7975,6 +7975,8 @@ is_32bit_abs_reloc (unsigned int reloc_type)
case EM_H8_300:
case EM_H8_300H:
return reloc_type == 1; /* R_H8_DIR32. */
+ case EM_IA_64:
+ return reloc_type == 0x65; /* R_IA64_SECREL32LSB. */
case EM_IP2K_OLD:
case EM_IP2K:
return reloc_type == 2; /* R_IP2K_32. */
@@ -8040,7 +8042,6 @@ is_32bit_abs_reloc (unsigned int reloc_type)
case EM_ALTERA_NIOS2:
/* Fall through (what reloc type is used ?). */
case EM_NIOS32:
- case EM_IA_64:
/* Fall through (what reloc type is used ?). */
default:
error (_("Missing knowledge of 32-bit reloc types used in DWARF sections of machine number %d\n"),
@@ -8098,6 +8099,8 @@ is_64bit_abs_reloc (unsigned int reloc_type)
{
case EM_ALPHA:
return reloc_type == 2; /* R_ALPHA_REFQUAD. */
+ case EM_IA_64:
+ return reloc_type == 0x27; /* R_IA64_DIR64LSB. */
case EM_PPC64:
return reloc_type == 38; /* R_PPC64_ADDR64. */
case EM_SPARC32PLUS: