]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blobdiff - bfd/elfxx-ia64.c
HOWTO size encoding
[thirdparty/binutils-gdb.git] / bfd / elfxx-ia64.c
index a108324ca3990d6dc338b0735e97c24be44241eb..a26db4e28b0903cf198165ce5ea87b31a1b33bc8 100644 (file)
@@ -90,102 +90,102 @@ ia64_elf_reloc (bfd *abfd ATTRIBUTE_UNUSED, arelent *reloc,
    TYPE field.  */
 static reloc_howto_type ia64_howto_table[] =
   {
-    IA64_HOWTO (R_IA64_NONE,       "NONE",        3, false, true),
-
-    IA64_HOWTO (R_IA64_IMM14,      "IMM14",       0, false, true),
-    IA64_HOWTO (R_IA64_IMM22,      "IMM22",       0, false, true),
-    IA64_HOWTO (R_IA64_IMM64,      "IMM64",       0, false, true),
-    IA64_HOWTO (R_IA64_DIR32MSB,    "DIR32MSB",           2, false, true),
-    IA64_HOWTO (R_IA64_DIR32LSB,    "DIR32LSB",           2, false, true),
-    IA64_HOWTO (R_IA64_DIR64MSB,    "DIR64MSB",           4, false, true),
-    IA64_HOWTO (R_IA64_DIR64LSB,    "DIR64LSB",           4, false, true),
-
-    IA64_HOWTO (R_IA64_GPREL22,            "GPREL22",     0, false, true),
-    IA64_HOWTO (R_IA64_GPREL64I,    "GPREL64I",           0, false, true),
-    IA64_HOWTO (R_IA64_GPREL32MSB,  "GPREL32MSB",  2, false, true),
-    IA64_HOWTO (R_IA64_GPREL32LSB,  "GPREL32LSB",  2, false, true),
-    IA64_HOWTO (R_IA64_GPREL64MSB,  "GPREL64MSB",  4, false, true),
-    IA64_HOWTO (R_IA64_GPREL64LSB,  "GPREL64LSB",  4, false, true),
-
-    IA64_HOWTO (R_IA64_LTOFF22,            "LTOFF22",     0, false, true),
-    IA64_HOWTO (R_IA64_LTOFF64I,    "LTOFF64I",           0, false, true),
-
-    IA64_HOWTO (R_IA64_PLTOFF22,    "PLTOFF22",           0, false, true),
-    IA64_HOWTO (R_IA64_PLTOFF64I,   "PLTOFF64I",   0, false, true),
-    IA64_HOWTO (R_IA64_PLTOFF64MSB, "PLTOFF64MSB", 4, false, true),
-    IA64_HOWTO (R_IA64_PLTOFF64LSB, "PLTOFF64LSB", 4, false, true),
-
-    IA64_HOWTO (R_IA64_FPTR64I,            "FPTR64I",     0, false, true),
-    IA64_HOWTO (R_IA64_FPTR32MSB,   "FPTR32MSB",   2, false, true),
-    IA64_HOWTO (R_IA64_FPTR32LSB,   "FPTR32LSB",   2, false, true),
-    IA64_HOWTO (R_IA64_FPTR64MSB,   "FPTR64MSB",   4, false, true),
-    IA64_HOWTO (R_IA64_FPTR64LSB,   "FPTR64LSB",   4, false, true),
-
-    IA64_HOWTO (R_IA64_PCREL60B,    "PCREL60B",           0, true, true),
-    IA64_HOWTO (R_IA64_PCREL21B,    "PCREL21B",           0, true, true),
-    IA64_HOWTO (R_IA64_PCREL21M,    "PCREL21M",           0, true, true),
-    IA64_HOWTO (R_IA64_PCREL21F,    "PCREL21F",           0, true, true),
-    IA64_HOWTO (R_IA64_PCREL32MSB,  "PCREL32MSB",  2, true, true),
-    IA64_HOWTO (R_IA64_PCREL32LSB,  "PCREL32LSB",  2, true, true),
-    IA64_HOWTO (R_IA64_PCREL64MSB,  "PCREL64MSB",  4, true, true),
-    IA64_HOWTO (R_IA64_PCREL64LSB,  "PCREL64LSB",  4, true, true),
-
-    IA64_HOWTO (R_IA64_LTOFF_FPTR22, "LTOFF_FPTR22", 0, false, true),
-    IA64_HOWTO (R_IA64_LTOFF_FPTR64I, "LTOFF_FPTR64I", 0, false, true),
-    IA64_HOWTO (R_IA64_LTOFF_FPTR32MSB, "LTOFF_FPTR32MSB", 2, false, true),
-    IA64_HOWTO (R_IA64_LTOFF_FPTR32LSB, "LTOFF_FPTR32LSB", 2, false, true),
-    IA64_HOWTO (R_IA64_LTOFF_FPTR64MSB, "LTOFF_FPTR64MSB", 4, false, true),
-    IA64_HOWTO (R_IA64_LTOFF_FPTR64LSB, "LTOFF_FPTR64LSB", 4, false, true),
-
-    IA64_HOWTO (R_IA64_SEGREL32MSB, "SEGREL32MSB", 2, false, true),
-    IA64_HOWTO (R_IA64_SEGREL32LSB, "SEGREL32LSB", 2, false, true),
-    IA64_HOWTO (R_IA64_SEGREL64MSB, "SEGREL64MSB", 4, false, true),
-    IA64_HOWTO (R_IA64_SEGREL64LSB, "SEGREL64LSB", 4, false, true),
-
-    IA64_HOWTO (R_IA64_SECREL32MSB, "SECREL32MSB", 2, false, true),
-    IA64_HOWTO (R_IA64_SECREL32LSB, "SECREL32LSB", 2, false, true),
-    IA64_HOWTO (R_IA64_SECREL64MSB, "SECREL64MSB", 4, false, true),
-    IA64_HOWTO (R_IA64_SECREL64LSB, "SECREL64LSB", 4, false, true),
-
-    IA64_HOWTO (R_IA64_REL32MSB,    "REL32MSB",           2, false, true),
-    IA64_HOWTO (R_IA64_REL32LSB,    "REL32LSB",           2, false, true),
-    IA64_HOWTO (R_IA64_REL64MSB,    "REL64MSB",           4, false, true),
-    IA64_HOWTO (R_IA64_REL64LSB,    "REL64LSB",           4, false, true),
-
-    IA64_HOWTO (R_IA64_LTV32MSB,    "LTV32MSB",           2, false, true),
-    IA64_HOWTO (R_IA64_LTV32LSB,    "LTV32LSB",           2, false, true),
-    IA64_HOWTO (R_IA64_LTV64MSB,    "LTV64MSB",           4, false, true),
-    IA64_HOWTO (R_IA64_LTV64LSB,    "LTV64LSB",           4, false, true),
-
-    IA64_HOWTO (R_IA64_PCREL21BI,   "PCREL21BI",   0, true, true),
-    IA64_HOWTO (R_IA64_PCREL22,     "PCREL22",     0, true, true),
-    IA64_HOWTO (R_IA64_PCREL64I,    "PCREL64I",    0, true, true),
-
-    IA64_HOWTO (R_IA64_IPLTMSB,            "IPLTMSB",     4, false, true),
-    IA64_HOWTO (R_IA64_IPLTLSB,            "IPLTLSB",     4, false, true),
-    IA64_HOWTO (R_IA64_COPY,       "COPY",        4, false, true),
-    IA64_HOWTO (R_IA64_LTOFF22X,    "LTOFF22X",           0, false, true),
-    IA64_HOWTO (R_IA64_LDXMOV,     "LDXMOV",      0, false, true),
-
-    IA64_HOWTO (R_IA64_TPREL14,            "TPREL14",     0, false, false),
-    IA64_HOWTO (R_IA64_TPREL22,            "TPREL22",     0, false, false),
-    IA64_HOWTO (R_IA64_TPREL64I,    "TPREL64I",           0, false, false),
-    IA64_HOWTO (R_IA64_TPREL64MSB,  "TPREL64MSB",  4, false, false),
-    IA64_HOWTO (R_IA64_TPREL64LSB,  "TPREL64LSB",  4, false, false),
-    IA64_HOWTO (R_IA64_LTOFF_TPREL22, "LTOFF_TPREL22",  0, false, false),
-
-    IA64_HOWTO (R_IA64_DTPMOD64MSB, "DTPMOD64MSB",  4, false, false),
-    IA64_HOWTO (R_IA64_DTPMOD64LSB, "DTPMOD64LSB",  4, false, false),
-    IA64_HOWTO (R_IA64_LTOFF_DTPMOD22, "LTOFF_DTPMOD22", 0, false, false),
-
-    IA64_HOWTO (R_IA64_DTPREL14,    "DTPREL14",           0, false, false),
-    IA64_HOWTO (R_IA64_DTPREL22,    "DTPREL22",           0, false, false),
-    IA64_HOWTO (R_IA64_DTPREL64I,   "DTPREL64I",   0, false, false),
-    IA64_HOWTO (R_IA64_DTPREL32MSB, "DTPREL32MSB", 2, false, false),
-    IA64_HOWTO (R_IA64_DTPREL32LSB, "DTPREL32LSB", 2, false, false),
-    IA64_HOWTO (R_IA64_DTPREL64MSB, "DTPREL64MSB", 4, false, false),
-    IA64_HOWTO (R_IA64_DTPREL64LSB, "DTPREL64LSB", 4, false, false),
-    IA64_HOWTO (R_IA64_LTOFF_DTPREL22, "LTOFF_DTPREL22", 0, false, false),
+    IA64_HOWTO (R_IA64_NONE,       "NONE",        0, false, true),
+
+    IA64_HOWTO (R_IA64_IMM14,      "IMM14",       1, false, true),
+    IA64_HOWTO (R_IA64_IMM22,      "IMM22",       1, false, true),
+    IA64_HOWTO (R_IA64_IMM64,      "IMM64",       1, false, true),
+    IA64_HOWTO (R_IA64_DIR32MSB,    "DIR32MSB",           4, false, true),
+    IA64_HOWTO (R_IA64_DIR32LSB,    "DIR32LSB",           4, false, true),
+    IA64_HOWTO (R_IA64_DIR64MSB,    "DIR64MSB",           8, false, true),
+    IA64_HOWTO (R_IA64_DIR64LSB,    "DIR64LSB",           8, false, true),
+
+    IA64_HOWTO (R_IA64_GPREL22,            "GPREL22",     1, false, true),
+    IA64_HOWTO (R_IA64_GPREL64I,    "GPREL64I",           1, false, true),
+    IA64_HOWTO (R_IA64_GPREL32MSB,  "GPREL32MSB",  4, false, true),
+    IA64_HOWTO (R_IA64_GPREL32LSB,  "GPREL32LSB",  4, false, true),
+    IA64_HOWTO (R_IA64_GPREL64MSB,  "GPREL64MSB",  8, false, true),
+    IA64_HOWTO (R_IA64_GPREL64LSB,  "GPREL64LSB",  8, false, true),
+
+    IA64_HOWTO (R_IA64_LTOFF22,            "LTOFF22",     1, false, true),
+    IA64_HOWTO (R_IA64_LTOFF64I,    "LTOFF64I",           1, false, true),
+
+    IA64_HOWTO (R_IA64_PLTOFF22,    "PLTOFF22",           1, false, true),
+    IA64_HOWTO (R_IA64_PLTOFF64I,   "PLTOFF64I",   1, false, true),
+    IA64_HOWTO (R_IA64_PLTOFF64MSB, "PLTOFF64MSB", 8, false, true),
+    IA64_HOWTO (R_IA64_PLTOFF64LSB, "PLTOFF64LSB", 8, false, true),
+
+    IA64_HOWTO (R_IA64_FPTR64I,            "FPTR64I",     1, false, true),
+    IA64_HOWTO (R_IA64_FPTR32MSB,   "FPTR32MSB",   4, false, true),
+    IA64_HOWTO (R_IA64_FPTR32LSB,   "FPTR32LSB",   4, false, true),
+    IA64_HOWTO (R_IA64_FPTR64MSB,   "FPTR64MSB",   8, false, true),
+    IA64_HOWTO (R_IA64_FPTR64LSB,   "FPTR64LSB",   8, false, true),
+
+    IA64_HOWTO (R_IA64_PCREL60B,    "PCREL60B",           1, true, true),
+    IA64_HOWTO (R_IA64_PCREL21B,    "PCREL21B",           1, true, true),
+    IA64_HOWTO (R_IA64_PCREL21M,    "PCREL21M",           1, true, true),
+    IA64_HOWTO (R_IA64_PCREL21F,    "PCREL21F",           1, true, true),
+    IA64_HOWTO (R_IA64_PCREL32MSB,  "PCREL32MSB",  4, true, true),
+    IA64_HOWTO (R_IA64_PCREL32LSB,  "PCREL32LSB",  4, true, true),
+    IA64_HOWTO (R_IA64_PCREL64MSB,  "PCREL64MSB",  8, true, true),
+    IA64_HOWTO (R_IA64_PCREL64LSB,  "PCREL64LSB",  8, true, true),
+
+    IA64_HOWTO (R_IA64_LTOFF_FPTR22, "LTOFF_FPTR22", 1, false, true),
+    IA64_HOWTO (R_IA64_LTOFF_FPTR64I, "LTOFF_FPTR64I", 1, false, true),
+    IA64_HOWTO (R_IA64_LTOFF_FPTR32MSB, "LTOFF_FPTR32MSB", 4, false, true),
+    IA64_HOWTO (R_IA64_LTOFF_FPTR32LSB, "LTOFF_FPTR32LSB", 4, false, true),
+    IA64_HOWTO (R_IA64_LTOFF_FPTR64MSB, "LTOFF_FPTR64MSB", 8, false, true),
+    IA64_HOWTO (R_IA64_LTOFF_FPTR64LSB, "LTOFF_FPTR64LSB", 8, false, true),
+
+    IA64_HOWTO (R_IA64_SEGREL32MSB, "SEGREL32MSB", 4, false, true),
+    IA64_HOWTO (R_IA64_SEGREL32LSB, "SEGREL32LSB", 4, false, true),
+    IA64_HOWTO (R_IA64_SEGREL64MSB, "SEGREL64MSB", 8, false, true),
+    IA64_HOWTO (R_IA64_SEGREL64LSB, "SEGREL64LSB", 8, false, true),
+
+    IA64_HOWTO (R_IA64_SECREL32MSB, "SECREL32MSB", 4, false, true),
+    IA64_HOWTO (R_IA64_SECREL32LSB, "SECREL32LSB", 4, false, true),
+    IA64_HOWTO (R_IA64_SECREL64MSB, "SECREL64MSB", 8, false, true),
+    IA64_HOWTO (R_IA64_SECREL64LSB, "SECREL64LSB", 8, false, true),
+
+    IA64_HOWTO (R_IA64_REL32MSB,    "REL32MSB",           4, false, true),
+    IA64_HOWTO (R_IA64_REL32LSB,    "REL32LSB",           4, false, true),
+    IA64_HOWTO (R_IA64_REL64MSB,    "REL64MSB",           8, false, true),
+    IA64_HOWTO (R_IA64_REL64LSB,    "REL64LSB",           8, false, true),
+
+    IA64_HOWTO (R_IA64_LTV32MSB,    "LTV32MSB",           4, false, true),
+    IA64_HOWTO (R_IA64_LTV32LSB,    "LTV32LSB",           4, false, true),
+    IA64_HOWTO (R_IA64_LTV64MSB,    "LTV64MSB",           8, false, true),
+    IA64_HOWTO (R_IA64_LTV64LSB,    "LTV64LSB",           8, false, true),
+
+    IA64_HOWTO (R_IA64_PCREL21BI,   "PCREL21BI",   1, true, true),
+    IA64_HOWTO (R_IA64_PCREL22,     "PCREL22",     1, true, true),
+    IA64_HOWTO (R_IA64_PCREL64I,    "PCREL64I",    1, true, true),
+
+    IA64_HOWTO (R_IA64_IPLTMSB,            "IPLTMSB",     8, false, true),
+    IA64_HOWTO (R_IA64_IPLTLSB,            "IPLTLSB",     8, false, true),
+    IA64_HOWTO (R_IA64_COPY,       "COPY",        8, false, true),
+    IA64_HOWTO (R_IA64_LTOFF22X,    "LTOFF22X",           1, false, true),
+    IA64_HOWTO (R_IA64_LDXMOV,     "LDXMOV",      1, false, true),
+
+    IA64_HOWTO (R_IA64_TPREL14,            "TPREL14",     1, false, false),
+    IA64_HOWTO (R_IA64_TPREL22,            "TPREL22",     1, false, false),
+    IA64_HOWTO (R_IA64_TPREL64I,    "TPREL64I",           1, false, false),
+    IA64_HOWTO (R_IA64_TPREL64MSB,  "TPREL64MSB",  8, false, false),
+    IA64_HOWTO (R_IA64_TPREL64LSB,  "TPREL64LSB",  8, false, false),
+    IA64_HOWTO (R_IA64_LTOFF_TPREL22, "LTOFF_TPREL22",  1, false, false),
+
+    IA64_HOWTO (R_IA64_DTPMOD64MSB, "DTPMOD64MSB",  8, false, false),
+    IA64_HOWTO (R_IA64_DTPMOD64LSB, "DTPMOD64LSB",  8, false, false),
+    IA64_HOWTO (R_IA64_LTOFF_DTPMOD22, "LTOFF_DTPMOD22", 1, false, false),
+
+    IA64_HOWTO (R_IA64_DTPREL14,    "DTPREL14",           1, false, false),
+    IA64_HOWTO (R_IA64_DTPREL22,    "DTPREL22",           1, false, false),
+    IA64_HOWTO (R_IA64_DTPREL64I,   "DTPREL64I",   1, false, false),
+    IA64_HOWTO (R_IA64_DTPREL32MSB, "DTPREL32MSB", 4, false, false),
+    IA64_HOWTO (R_IA64_DTPREL32LSB, "DTPREL32LSB", 4, false, false),
+    IA64_HOWTO (R_IA64_DTPREL64MSB, "DTPREL64MSB", 8, false, false),
+    IA64_HOWTO (R_IA64_DTPREL64LSB, "DTPREL64LSB", 8, false, false),
+    IA64_HOWTO (R_IA64_LTOFF_DTPREL22, "LTOFF_DTPREL22", 1, false, false),
   };
 
 static unsigned char elf_code_to_howto_index[R_IA64_MAX_RELOC_CODE + 1];