]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blobdiff - bfd/elf32-cris.c
HOWTO size encoding
[thirdparty/binutils-gdb.git] / bfd / elf32-cris.c
index 653d77f1ea84fec2e0ad626967510ee75d4a98c9..da81024f8da204508aadf638d4474088b6b44fe1 100644 (file)
@@ -40,7 +40,7 @@ static reloc_howto_type cris_elf_howto_table [] =
   /* This reloc does nothing.  */
   HOWTO (R_CRIS_NONE,          /* type */
         0,                     /* rightshift */
-        3,                     /* size (0 = byte, 1 = short, 2 = long) */
+        0,                     /* size */
         0,                     /* bitsize */
         false,                 /* pc_relative */
         0,                     /* bitpos */
@@ -55,7 +55,7 @@ static reloc_howto_type cris_elf_howto_table [] =
   /* An 8 bit absolute relocation.  */
   HOWTO (R_CRIS_8,             /* type */
         0,                     /* rightshift */
-        0,                     /* size (0 = byte, 1 = short, 2 = long) */
+        1,                     /* size */
         8,                     /* bitsize */
         false,                 /* pc_relative */
         0,                     /* bitpos */
@@ -70,7 +70,7 @@ static reloc_howto_type cris_elf_howto_table [] =
   /* A 16 bit absolute relocation.  */
   HOWTO (R_CRIS_16,            /* type */
         0,                     /* rightshift */
-        1,                     /* size (0 = byte, 1 = short, 2 = long) */
+        2,                     /* size */
         16,                    /* bitsize */
         false,                 /* pc_relative */
         0,                     /* bitpos */
@@ -85,7 +85,7 @@ static reloc_howto_type cris_elf_howto_table [] =
   /* A 32 bit absolute relocation.  */
   HOWTO (R_CRIS_32,            /* type */
         0,                     /* rightshift */
-        2,                     /* size (0 = byte, 1 = short, 2 = long) */
+        4,                     /* size */
         32,                    /* bitsize */
         false,                 /* pc_relative */
         0,                     /* bitpos */
@@ -105,7 +105,7 @@ static reloc_howto_type cris_elf_howto_table [] =
   /* An 8 bit PC-relative relocation.  */
   HOWTO (R_CRIS_8_PCREL,       /* type */
         0,                     /* rightshift */
-        0,                     /* size (0 = byte, 1 = short, 2 = long) */
+        1,                     /* size */
         8,                     /* bitsize */
         true,                  /* pc_relative */
         0,                     /* bitpos */
@@ -120,7 +120,7 @@ static reloc_howto_type cris_elf_howto_table [] =
   /* A 16 bit PC-relative relocation.  */
   HOWTO (R_CRIS_16_PCREL,      /* type */
         0,                     /* rightshift */
-        1,                     /* size (0 = byte, 1 = short, 2 = long) */
+        2,                     /* size */
         16,                    /* bitsize */
         true,                  /* pc_relative */
         0,                     /* bitpos */
@@ -135,7 +135,7 @@ static reloc_howto_type cris_elf_howto_table [] =
   /* A 32 bit PC-relative relocation.  */
   HOWTO (R_CRIS_32_PCREL,      /* type */
         0,                     /* rightshift */
-        2,                     /* size (0 = byte, 1 = short, 2 = long) */
+        4,                     /* size */
         32,                    /* bitsize */
         true,                  /* pc_relative */
         0,                     /* bitpos */
@@ -150,7 +150,7 @@ static reloc_howto_type cris_elf_howto_table [] =
   /* GNU extension to record C++ vtable hierarchy.  */
   HOWTO (R_CRIS_GNU_VTINHERIT, /* type */
         0,                     /* rightshift */
-        2,                     /* size (0 = byte, 1 = short, 2 = long) */
+        4,                     /* size */
         0,                     /* bitsize */
         false,                 /* pc_relative */
         0,                     /* bitpos */
@@ -165,7 +165,7 @@ static reloc_howto_type cris_elf_howto_table [] =
   /* GNU extension to record C++ vtable member usage.  */
   HOWTO (R_CRIS_GNU_VTENTRY,   /* type */
         0,                     /* rightshift */
-        2,                     /* size (0 = byte, 1 = short, 2 = long) */
+        4,                     /* size */
         0,                     /* bitsize */
         false,                 /* pc_relative */
         0,                     /* bitpos */
@@ -184,7 +184,7 @@ static reloc_howto_type cris_elf_howto_table [] =
      run has to have the data at some particular address.  */
   HOWTO (R_CRIS_COPY,          /* type */
         0,                     /* rightshift */
-        2,                     /* size (0 = byte, 1 = short, 2 = long) */
+        4,                     /* size */
         32,                    /* bitsize */
         false,                 /* pc_relative */
         0,                     /* bitpos */
@@ -199,7 +199,7 @@ static reloc_howto_type cris_elf_howto_table [] =
   /* Like R_CRIS_32, but used when setting global offset table entries.  */
   HOWTO (R_CRIS_GLOB_DAT,      /* type */
         0,                     /* rightshift */
-        2,                     /* size (0 = byte, 1 = short, 2 = long) */
+        4,                     /* size */
         32,                    /* bitsize */
         false,                 /* pc_relative */
         0,                     /* bitpos */
@@ -214,7 +214,7 @@ static reloc_howto_type cris_elf_howto_table [] =
   /* Marks a procedure linkage table entry for a symbol.  */
   HOWTO (R_CRIS_JUMP_SLOT,     /* type */
         0,                     /* rightshift */
-        2,                     /* size (0 = byte, 1 = short, 2 = long) */
+        4,                     /* size */
         32,                    /* bitsize */
         false,                 /* pc_relative */
         0,                     /* bitpos */
@@ -231,7 +231,7 @@ static reloc_howto_type cris_elf_howto_table [] =
      addend.  */
   HOWTO (R_CRIS_RELATIVE,      /* type */
         0,                     /* rightshift */
-        2,                     /* size (0 = byte, 1 = short, 2 = long) */
+        4,                     /* size */
         32,                    /* bitsize */
         false,                 /* pc_relative */
         0,                     /* bitpos */
@@ -246,7 +246,7 @@ static reloc_howto_type cris_elf_howto_table [] =
   /* Like R_CRIS_32, but referring to the GOT table entry for the symbol.  */
   HOWTO (R_CRIS_16_GOT,                /* type */
         0,                     /* rightshift */
-        1,                     /* size (0 = byte, 1 = short, 2 = long) */
+        2,                     /* size */
         16,                    /* bitsize */
         false,                 /* pc_relative */
         0,                     /* bitpos */
@@ -260,7 +260,7 @@ static reloc_howto_type cris_elf_howto_table [] =
 
   HOWTO (R_CRIS_32_GOT,                /* type */
         0,                     /* rightshift */
-        2,                     /* size (0 = byte, 1 = short, 2 = long) */
+        4,                     /* size */
         32,                    /* bitsize */
         false,                 /* pc_relative */
         0,                     /* bitpos */
@@ -276,7 +276,7 @@ static reloc_howto_type cris_elf_howto_table [] =
      the GOT table for the symbol.  */
   HOWTO (R_CRIS_16_GOTPLT,     /* type */
         0,                     /* rightshift */
-        1,                     /* size (0 = byte, 1 = short, 2 = long) */
+        2,                     /* size */
         16,                    /* bitsize */
         false,                 /* pc_relative */
         0,                     /* bitpos */
@@ -290,7 +290,7 @@ static reloc_howto_type cris_elf_howto_table [] =
 
   HOWTO (R_CRIS_32_GOTPLT,     /* type */
         0,                     /* rightshift */
-        2,                     /* size (0 = byte, 1 = short, 2 = long) */
+        4,                     /* size */
         32,                    /* bitsize */
         false,                 /* pc_relative */
         0,                     /* bitpos */
@@ -306,7 +306,7 @@ static reloc_howto_type cris_elf_howto_table [] =
      be necessary.  */
   HOWTO (R_CRIS_32_GOTREL,     /* type */
         0,                     /* rightshift */
-        2,                     /* size (0 = byte, 1 = short, 2 = long) */
+        4,                     /* size */
         32,                    /* bitsize */
         false,                 /* pc_relative */
         0,                     /* bitpos */
@@ -322,7 +322,7 @@ static reloc_howto_type cris_elf_howto_table [] =
      to create PLT entry for symbol.  */
   HOWTO (R_CRIS_32_PLT_GOTREL, /* type */
         0,                     /* rightshift */
-        2,                     /* size (0 = byte, 1 = short, 2 = long) */
+        4,                     /* size */
         32,                    /* bitsize */
         false,                 /* pc_relative */
         0,                     /* bitpos */
@@ -339,7 +339,7 @@ static reloc_howto_type cris_elf_howto_table [] =
      symbol.  */
   HOWTO (R_CRIS_32_PLT_PCREL,  /* type */
         0,                     /* rightshift */
-        2,                     /* size (0 = byte, 1 = short, 2 = long) */
+        4,                     /* size */
         32,                    /* bitsize */
         true,                  /* pc_relative */
         0,                     /* bitpos */
@@ -357,10 +357,10 @@ static reloc_howto_type cris_elf_howto_table [] =
      tests to actually refuse gracefully to handle these and PIC
      relocs for cross-format linking.  */
 #define TLSHOWTO32(name) \
- HOWTO (name, 0, 2, 32, false, 0, complain_overflow_bitfield, \
+ HOWTO (name, 0, 4, 32, false, 0, complain_overflow_bitfield, \
        bfd_elf_generic_reloc, #name, false, 0, 0xffffffff, false)
 #define TLSHOWTO16X(name, X)        \
- HOWTO (name, 0, 1, 16, false, 0, complain_overflow_ ## X, \
+ HOWTO (name, 0, 2, 16, false, 0, complain_overflow_ ## X, \
        bfd_elf_generic_reloc, #name, false, 0, 0xffff, false)
 #define TLSHOWTO16(name) TLSHOWTO16X(name, unsigned)
 #define TLSHOWTO16S(name) TLSHOWTO16X(name, signed)