* reloc.c: Add BFD_RELOC_XSTORMY16_12.
authorDJ Delorie <dj@redhat.com>
Fri, 20 Dec 2002 21:13:19 +0000 (21:13 +0000)
committerDJ Delorie <dj@redhat.com>
Fri, 20 Dec 2002 21:13:19 +0000 (21:13 +0000)
* libbfd.h: Regenerate.
* bfd-in2.h: Regenerate.
* elf32-xstormy16.c (xstormy16_elf_howto): Add R_XSTORMY16_12.
(xstormy16_reloc_map): Add R_XSTORMY16_12.

bfd/ChangeLog
bfd/bfd-in2.h
bfd/elf32-xstormy16.c
bfd/libbfd.h
bfd/reloc.c

index fbe88d07aa25baadfee345df0ada4fcefd9acf03..75dd8444b48a737d85d7e85b80f19e31f6c2b814 100644 (file)
@@ -1,3 +1,11 @@
+2002-12-20  DJ Delorie  <dj@redhat.com>
+
+       * reloc.c: Add BFD_RELOC_XSTORMY16_12.
+       * libbfd.h: Regenerate.
+       * bfd-in2.h: Regenerate.
+       * elf32-xstormy16.c (xstormy16_elf_howto): Add R_XSTORMY16_12.
+       (xstormy16_reloc_map): Add R_XSTORMY16_12.
+       
 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
 
        * doc/bfdint.texi: Fix typos.
index 60b7b5182be7c52180d86973bfc890e66a70cff9..d010632650820b2908d1993fbec18a10cfcdbcdb 100644 (file)
@@ -3237,6 +3237,7 @@ to follow the 16K memory bank of 68HC12 (seen as mapped in the window).  */
 
 /* Sony Xstormy16 Relocations.  */
   BFD_RELOC_XSTORMY16_REL_12,
+  BFD_RELOC_XSTORMY16_12,
   BFD_RELOC_XSTORMY16_24,
   BFD_RELOC_XSTORMY16_FPTR16,
 
index 4f91e08faf57ee66e804b14650e3e5ca82986c27..df0d7ca405beec8c3ec50e46f5ff694223b67063 100644 (file)
@@ -238,6 +238,21 @@ static reloc_howto_type xstormy16_elf_howto_table [] =
         0,                     /* src_mask */
         0xffff,                /* dst_mask */
         FALSE),                /* pcrel_offset */
+  /* A 12 bit absolute relocation.  */
+  HOWTO (R_XSTORMY16_12,       /* type */
+        0,                     /* rightshift */
+        1,                     /* size (0 = byte, 1 = short, 2 = long) */
+        12,                    /* bitsize */
+        FALSE,                 /* pc_relative */
+        0,                     /* bitpos */
+        complain_overflow_signed, /* complain_on_overflow */
+        bfd_elf_generic_reloc, /* special_function */
+        "R_XSTORMY16_12",      /* name */
+        FALSE,                 /* partial_inplace */
+        0x0000,                /* src_mask */
+        0x0fff,                /* dst_mask */
+        FALSE),                /* pcrel_offset */
 };
 
 static reloc_howto_type xstormy16_elf_howto_table2 [] =
@@ -297,6 +312,7 @@ static const reloc_map xstormy16_reloc_map [] =
   { BFD_RELOC_XSTORMY16_FPTR16,            R_XSTORMY16_FPTR16,        xstormy16_elf_howto_table },
   { BFD_RELOC_LO16,                 R_XSTORMY16_LO16,          xstormy16_elf_howto_table },
   { BFD_RELOC_HI16,                 R_XSTORMY16_HI16,          xstormy16_elf_howto_table },
+  { BFD_RELOC_XSTORMY16_12,         R_XSTORMY16_12,            xstormy16_elf_howto_table },
   { BFD_RELOC_VTABLE_INHERIT,       R_XSTORMY16_GNU_VTINHERIT, xstormy16_elf_howto_table2 },
   { BFD_RELOC_VTABLE_ENTRY,         R_XSTORMY16_GNU_VTENTRY,   xstormy16_elf_howto_table2 },
 };
@@ -332,7 +348,7 @@ xstormy16_info_to_howto_rela (abfd, cache_ptr, dst)
 {
   unsigned int r_type = ELF32_R_TYPE (dst->r_info);
 
-  if (r_type <= (unsigned int) R_XSTORMY16_HI16)
+  if (r_type <= (unsigned int) R_XSTORMY16_12)
     cache_ptr->howto = &xstormy16_elf_howto_table [r_type];
   else if (r_type - R_XSTORMY16_GNU_VTINHERIT
           <= (unsigned int) R_XSTORMY16_GNU_VTENTRY)
index 540b233b335edde69e8559f2e8593fa74f67b029..8f3cf58b61df67414bae3bd06d97df0b4683b773 100644 (file)
@@ -1367,6 +1367,7 @@ static const char *const bfd_reloc_code_real_names[] = { "@@uninitialized@@",
   "BFD_RELOC_H8_DIR24R8",
   "BFD_RELOC_H8_DIR32A16",
   "BFD_RELOC_XSTORMY16_REL_12",
+  "BFD_RELOC_XSTORMY16_12",
   "BFD_RELOC_XSTORMY16_24",
   "BFD_RELOC_XSTORMY16_FPTR16",
   "BFD_RELOC_VAX_GLOB_DAT",
index 7111613fd3098f884012cae048c88502b39a9aae..23224f3b3ab59096847b5d5ad505868e5ad7fa2c 100644 (file)
@@ -3596,6 +3596,8 @@ ENUMDOC
 
 ENUM
   BFD_RELOC_XSTORMY16_REL_12
+ENUMX
+  BFD_RELOC_XSTORMY16_12
 ENUMX
   BFD_RELOC_XSTORMY16_24
 ENUMX