PR ld/15721
authorNick Clifton <nickc@redhat.com>
Thu, 18 Jul 2013 14:08:42 +0000 (14:08 +0000)
committerNick Clifton <nickc@redhat.com>
Thu, 18 Jul 2013 14:08:42 +0000 (14:08 +0000)
* elf32-msp430.c (R_MSP430_10_PCREL): Use 10-bit source and
destination masks.
* R_MSP430_2X_PCREL: Likewise.
* R_MSP430X_10_PCREL: Likewise.
* R_MSP430X_2X_PCREL: Likewise.

bfd/ChangeLog
bfd/elf32-msp430.c

index ecd2842..2fce0a8 100644 (file)
@@ -1,3 +1,12 @@
+2013-07-18  Travis Snoozy  <quandary@remstate.com>
+
+       PR ld/15721
+       * elf32-msp430.c (R_MSP430_10_PCREL): Use 10-bit source and
+       destination masks.
+       * R_MSP430_2X_PCREL: Likewise.
+       * R_MSP430X_10_PCREL: Likewise.
+       * R_MSP430X_2X_PCREL: Likewise.
+
 2013-07-18  Terry Guo  <terry.guo@arm.com>
 
         * elf32-arm.c (arm_type_of_stub): Don't use ST_BRANCH_TO_ARM for
index 6f66282..2f7a3da 100644 (file)
@@ -56,7 +56,7 @@ static reloc_howto_type elf_msp430_howto_table[] =
         0xffffffff,            /* dst_mask */
         FALSE),                /* pcrel_offset */
 
-  /* A 13 bit PC relative relocation.  */
+  /* A 10 bit PC relative relocation.  */
   HOWTO (R_MSP430_10_PCREL,    /* type */
         1,                     /* rightshift */
         1,                     /* size (0 = byte, 1 = short, 2 = long) */
@@ -67,8 +67,8 @@ static reloc_howto_type elf_msp430_howto_table[] =
         bfd_elf_generic_reloc, /* special_function */
         "R_MSP430_10_PCREL",   /* name */
         FALSE,                 /* partial_inplace */
-        0xfff,                 /* src_mask */
-        0xfff,                 /* dst_mask */
+        0x3ff,                 /* src_mask */
+        0x3ff,                 /* dst_mask */
         TRUE),                 /* pcrel_offset */
 
   /* A 16 bit absolute relocation.  */
@@ -131,7 +131,7 @@ static reloc_howto_type elf_msp430_howto_table[] =
         0xffff,                /* dst_mask */
         TRUE),                 /* pcrel_offset */
 
-  /* A 13 bit PC relative relocation for complicated polymorphs.  */
+  /* A 10 bit PC relative relocation for complicated polymorphs.  */
   HOWTO (R_MSP430_2X_PCREL,    /* type */
         1,                     /* rightshift */
         2,                     /* size (0 = byte, 1 = short, 2 = long) */
@@ -142,8 +142,8 @@ static reloc_howto_type elf_msp430_howto_table[] =
         bfd_elf_generic_reloc, /* special_function */
         "R_MSP430_2X_PCREL",   /* name */
         FALSE,                 /* partial_inplace */
-        0xfff,                 /* src_mask */
-        0xfff,                 /* dst_mask */
+        0x3ff,                 /* src_mask */
+        0x3ff,                 /* dst_mask */
         TRUE),                 /* pcrel_offset */
 
   /* A 16 bit relaxable relocation for command address.  */
@@ -449,7 +449,7 @@ static reloc_howto_type elf_msp430x_howto_table[] =
 
   EMPTY_HOWTO (R_MSP430_EHTYPE),
   
-  /* A 13 bit PC relative relocation.  */
+  /* A 10 bit PC relative relocation.  */
   HOWTO (R_MSP430X_10_PCREL,   /* type */
         1,                     /* rightshift */
         1,                     /* size (0 = byte, 1 = short, 2 = long) */
@@ -460,11 +460,11 @@ static reloc_howto_type elf_msp430x_howto_table[] =
         bfd_elf_generic_reloc, /* special_function */
         "R_MSP430X_10_PCREL",  /* name */
         FALSE,                 /* partial_inplace */
-        0xfff,                 /* src_mask */
-        0xfff,                 /* dst_mask */
+        0x3ff,                 /* src_mask */
+        0x3ff,                 /* dst_mask */
         TRUE),                 /* pcrel_offset */
 
-  /* A 13 bit PC relative relocation for complicated polymorphs.  */
+  /* A 10 bit PC relative relocation for complicated polymorphs.  */
   HOWTO (R_MSP430X_2X_PCREL,   /* type */
         1,                     /* rightshift */
         2,                     /* size (0 = byte, 1 = short, 2 = long) */
@@ -475,8 +475,8 @@ static reloc_howto_type elf_msp430x_howto_table[] =
         bfd_elf_generic_reloc, /* special_function */
         "R_MSP430X_2X_PCREL",  /* name */
         FALSE,                 /* partial_inplace */
-        0xfff,                 /* src_mask */
-        0xfff,                 /* dst_mask */
+        0x3ff,                 /* src_mask */
+        0x3ff,                 /* dst_mask */
         TRUE),                 /* pcrel_offset */
 
   /* Together with a following reloc, allows for the difference