* config/tc-hppa.c (pa_callinfo): Accept "millicode" as an
authorJeff Law <law@redhat.com>
Wed, 16 Mar 1994 22:42:51 +0000 (22:42 +0000)
committerJeff Law <law@redhat.com>
Wed, 16 Mar 1994 22:42:51 +0000 (22:42 +0000)
        argument to a .callinfo directive.  Don't loop forever on errors.

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

index 9c5d0819886cac59fac53651b37dcefdf5c2f6ae..ba51ee72d0b1940011df620106b901030976875f 100644 (file)
@@ -11,6 +11,9 @@ Wed Mar 16 17:11:37 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
 
 Wed Mar 16 11:54:12 1994  Jeffrey A. Law  (law@snake.cs.utah.edu)
 
+       * config/tc-hppa.c (pa_callinfo): Accept "millicode" as an
+       argument to a .callinfo directive.  Don't loop forever on errors.
+
         * config/tc-hppa.c (pa_reg): Use pa_parse_number so that we can
         use pre-defined registers as arguments.
 
index 7539f036e9bc0b8fb1d314c01af2ca3a4b0096a2..82af7a0f8817fae381fe30c864e52a7feea258d4 100644 (file)
@@ -4323,9 +4323,20 @@ pa_callinfo (unused)
          *p = c;
          last_call_info->ci_unwind.descriptor.hpux_interrupt_marker = 1;
        }
+      /* Is this a millicode routine.  "millicode" isn't in my
+        assembler manual, but my copy is old.  The HP assembler
+        accepts it, and there's a place in the unwind descriptor
+        to drop the information, so we'll accept it too.  */
+      else if ((strncasecmp (name, "millicode", 9) == 0))
+       {
+         p = input_line_pointer;
+         *p = c;
+         last_call_info->ci_unwind.descriptor.millicode = 1;
+       }
       else
        {
          as_bad ("Invalid .CALLINFO argument: %s", name);
+         *input_line_pointer = c;
        }
       if (!is_end_of_statement ())
        input_line_pointer++;
@@ -4478,7 +4489,7 @@ pa_equ (reg)
   if (label_symbol)
     {
       symbol = label_symbol->lss_label;
-      S_SET_VALUE (symbol, (unsigned int) get_absolute_expression ());
+      S_SET_VALUE (symbol, pa_parse_number (&input_line_pointer, 0));
       S_SET_SEGMENT (symbol, &bfd_abs_section);
     }
   else