* elf32-v850.c (enum reloc_type): Add R_V850_{32,16,8}.
authorJeff Law <law@redhat.com>
Sat, 31 Aug 1996 16:24:18 +0000 (16:24 +0000)
committerJeff Law <law@redhat.com>
Sat, 31 Aug 1996 16:24:18 +0000 (16:24 +0000)
        (elf_v850_howto_table): Add support for R_V850_{32,16,8}.
        (v850_reloc_map): Add translation from BFD_RELOC_{32,16,8}
        to R_V850_{32,16,8}.
So we don't get "reloc XXX not supported" messages anymore.

bfd/ChangeLog
bfd/elf32-v850.c

index b8e6b1422bae42af32ae51b94c0c30e23b007366..95bcbf3bfba295f86c2fd7305be9809e243b7333 100644 (file)
@@ -1,4 +1,11 @@
 start-sanitize-v850
+Sat Aug 31 10:22:25 1996  Jeffrey A Law  (law@cygnus.com)
+
+       * elf32-v850.c (enum reloc_type): Add R_V850_{32,16,8}.
+       (elf_v850_howto_table): Add support for R_V850_{32,16,8}.
+       (v850_reloc_map): Add translation from BFD_RELOC_{32,16,8}
+       to R_V850_{32,16,8}.
+
 Fri Aug 30 18:06:04 1996  J.T. Conklin  <jtc@hippo.cygnus.com>
 
        * elf32-v850.c (reloc_type): Add R_V850_HI16_S.
index d1c1d008e627f950ce32fd2fb43da9353ad21f11..22921b70d185706949b3090e8d6a6dc71f7a87b1 100644 (file)
@@ -40,6 +40,9 @@ enum reloc_type
   R_V850_HI16_S,
   R_V850_HI16,
   R_V850_LO16,
+  R_V850_32,
+  R_V850_16,
+  R_V850_8,
   R_V850_max
 };
 
@@ -134,6 +137,51 @@ static reloc_howto_type elf_v850_howto_table[] =
          0xffff,                /* src_mask */
          0xffff,                /* dst_mask */
          false),                /* pcrel_offset */
+
+  /* Simple 32bit reloc.  */
+  HOWTO (R_V850_32,           /* type */
+         0,                     /* rightshift */
+         2,                     /* size (0 = byte, 1 = short, 2 = long) */
+         32,                    /* bitsize */
+         false,                 /* pc_relative */
+         0,                     /* bitpos */
+         complain_overflow_dont,/* complain_on_overflow */
+         bfd_elf_generic_reloc, /* special_function */
+         "R_V850_32",         /* name */
+         false,                  /* partial_inplace */
+         0,                /* src_mask */
+         0xffffffff,                /* dst_mask */
+         false),                /* pcrel_offset */
+
+  /* Simple 16bit reloc.  */
+  HOWTO (R_V850_16,           /* type */
+         0,                     /* rightshift */
+         1,                     /* size (0 = byte, 1 = short, 2 = long) */
+         16,                    /* bitsize */
+         false,                 /* pc_relative */
+         0,                     /* bitpos */
+         complain_overflow_dont,/* complain_on_overflow */
+         bfd_elf_generic_reloc, /* special_function */
+         "R_V850_16",         /* name */
+         false,                  /* partial_inplace */
+         0,                /* src_mask */
+         0xffff,                /* dst_mask */
+         false),                /* pcrel_offset */
+
+  /* Simple 8bit reloc.  */
+  HOWTO (R_V850_8,           /* type */
+         0,                     /* rightshift */
+         0,                     /* size (0 = byte, 1 = short, 2 = long) */
+         8,                    /* bitsize */
+         false,                 /* pc_relative */
+         0,                     /* bitpos */
+         complain_overflow_dont,/* complain_on_overflow */
+         bfd_elf_generic_reloc, /* special_function */
+         "R_V850_8",         /* name */
+         false,                  /* partial_inplace */
+         0,                /* src_mask */
+         0xff,                /* dst_mask */
+         false),                /* pcrel_offset */
 };
 
 /* Map BFD reloc types to V850 ELF reloc types.  */
@@ -152,6 +200,9 @@ static const struct v850_reloc_map v850_reloc_map[] =
   { BFD_RELOC_HI16_S, R_V850_HI16_S, },
   { BFD_RELOC_HI16, R_V850_HI16, },
   { BFD_RELOC_LO16, R_V850_LO16, },
+  { BFD_RELOC_32, R_V850_32, },
+  { BFD_RELOC_16, R_V850_16, },
+  { BFD_RELOC_8, R_V850_8, },
 };
 
 static reloc_howto_type *