2009-04-01 Matt Thomas <matt@netbsd.org>
authorMatt Thomas <matt@3am-software.com>
Thu, 2 Apr 2009 00:10:46 +0000 (00:10 +0000)
committerMatt Thomas <matt@3am-software.com>
Thu, 2 Apr 2009 00:10:46 +0000 (00:10 +0000)
* config/tc-vax.c (synthetic_votstrs): add "jbbcci" and "jbbssi"
(md_assemble): emit symbol name when used as immediate in PIC mode.
(md_assemble): fix LP64 bug (use sizeof (valueT) instead 4).

gas/ChangeLog
gas/config/tc-vax.c

index 2b7615de8afe912e48ef6e15be1f90f32ee847c6..fc14173daf1f03c29c81d3eb657fdaa1fdd9fd2b 100644 (file)
@@ -1,3 +1,9 @@
+2009-04-01  Matt Thomas        <matt@netbsd.org>
+
+       * config/tc-vax.c (synthetic_votstrs): add "jbbcci" and "jbbssi"
+       (md_assemble): emit symbol name when used as immediate in PIC mode.
+       (md_assemble): fix LP64 bug (use sizeof (valueT) instead 4).
+
 2009-04-01  Sterling Augustine  <sterling@jaw.hq.tensilica.com>
 
        * config/tc-xtensa.c (parse_arguments): call demand_empty_rest_of_line
index b8cdec971482016486212a7a0029d59c03747d20..db2055e7169c56085e7e1c7ad29e8a419ce2c71b 100644 (file)
@@ -852,6 +852,8 @@ static const struct vot
   {"jbcs",     {"rlvbb?", 0x800000e3}},
   {"jbsc",     {"rlvbb?", 0x800000e4}},
   {"jbcc",     {"rlvbb?", 0x800000e5}},
+  {"jbssi",    {"rlvbb?", 0x800000e6}},
+  {"jbcci",    {"rlvbb?", 0x800000e7}},
   {"jlbs",     {"rlb?", 0x800000e8}},
   {"jlbc",     {"rlb?", 0x800000e9}},
 
@@ -3152,7 +3154,8 @@ md_assemble (char *instruction_string)
                          if (flag_want_pic && operandP->vop_mode == 8
                                && this_add_symbol != NULL)
                            {
-                             as_warn (_("Symbol used as immediate operand in PIC mode."));
+                             as_warn (_("Symbol %s used as immediate operand in PIC mode."),
+                                      S_GET_NAME (this_add_symbol));
                            }
 #endif
                          p[0] = (operandP->vop_mode << 4) | 0xF;
@@ -3168,7 +3171,8 @@ md_assemble (char *instruction_string)
                                                  min (sizeof (valueT),
                                                       (size_t) nbytes));
                              if ((size_t) nbytes > sizeof (valueT))
-                               memset (p + 5, '\0', nbytes - sizeof (valueT));
+                               memset (p + 1 + sizeof (valueT),
+                                       '\0', nbytes - sizeof (valueT));
                            }
                          else
                            {