Teach readelf about IA64 MSB relocs.
authorAlan Modra <amodra@gmail.com>
Wed, 2 Aug 2017 05:48:56 +0000 (15:18 +0930)
committerAlan Modra <amodra@gmail.com>
Wed, 2 Aug 2017 07:06:57 +0000 (16:36 +0930)
* readelf.c (is_32bit_abs_reloc): Add R_IA64_SECREL32MSB and
R_IA64_DIR32MSB.
(is_64bit_abs_reloc): Add R_IA64_DIR64MSB.
(is_64bit_pcrel_reloc): Add R_IA64_PCREL64MSB.

binutils/ChangeLog
binutils/readelf.c

index 76047319ad8240f7dab9ee81e0d9d6e6fd68e670..933139295ae7cf3c66efa3f3ecbeb2b98b21cda9 100644 (file)
@@ -1,3 +1,10 @@
+2017-08-02  Alan Modra  <amodra@gmail.com>
+
+       * readelf.c (is_32bit_abs_reloc): Add R_IA64_SECREL32MSB and
+       R_IA64_DIR32MSB.
+       (is_64bit_abs_reloc): Add R_IA64_DIR64MSB.
+       (is_64bit_pcrel_reloc): Add R_IA64_PCREL64MSB.
+
 2017-08-01  Nick Clifton  <nickc@redhat.com>
 
        * po/sv.po: Updated Swedish translation.
index 67c44f563336aa2ed37137385d095b5741689bff..2b15f0f2cb227191be72464b869f60f7b9b06b65 100644 (file)
@@ -12069,8 +12069,10 @@ is_32bit_abs_reloc (unsigned int reloc_type)
     case EM_H8_300H:
       return reloc_type == 1; /* R_H8_DIR32.  */
     case EM_IA_64:
-      return reloc_type == 0x65 /* R_IA64_SECREL32LSB.  */
-       || reloc_type == 0x25;  /* R_IA64_DIR32LSB.  */
+      return (reloc_type == 0x64    /* R_IA64_SECREL32MSB.  */
+             || reloc_type == 0x65 /* R_IA64_SECREL32LSB.  */
+             || reloc_type == 0x24 /* R_IA64_DIR32MSB.  */
+             || reloc_type == 0x25 /* R_IA64_DIR32LSB.  */);
     case EM_IP2K_OLD:
     case EM_IP2K:
       return reloc_type == 2; /* R_IP2K_32.  */
@@ -12283,7 +12285,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.  */
+      return (reloc_type == 0x26    /* R_IA64_DIR64MSB.  */
+             || reloc_type == 0x27 /* R_IA64_DIR64LSB.  */);
     case EM_PARISC:
       return reloc_type == 80; /* R_PARISC_DIR64.  */
     case EM_PPC64:
@@ -12323,7 +12326,8 @@ is_64bit_pcrel_reloc (unsigned int reloc_type)
     case EM_ALPHA:
       return reloc_type == 11; /* R_ALPHA_SREL64.  */
     case EM_IA_64:
-      return reloc_type == 0x4f; /* R_IA64_PCREL64LSB.  */
+      return (reloc_type == 0x4e    /* R_IA64_PCREL64MSB.  */
+             || reloc_type == 0x4f /* R_IA64_PCREL64LSB.  */);
     case EM_PARISC:
       return reloc_type == 72; /* R_PARISC_PCREL64.  */
     case EM_PPC64: