aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeff Law <law@redhat.com>1994-03-16 22:42:51 +0000
committerJeff Law <law@redhat.com>1994-03-16 22:42:51 +0000
commitf2ada9106d9803a83d338007754fa42b175858d9 (patch)
treebfc4369399293bcb7728db6de84707bb47b854df
parentd6e6bc1c529056b022926c1831123774f5862be6 (diff)
downloadgdb-f2ada9106d9803a83d338007754fa42b175858d9.zip
gdb-f2ada9106d9803a83d338007754fa42b175858d9.tar.gz
gdb-f2ada9106d9803a83d338007754fa42b175858d9.tar.bz2
* config/tc-hppa.c (pa_callinfo): Accept "millicode" as an
argument to a .callinfo directive. Don't loop forever on errors.
-rw-r--r--gas/ChangeLog3
-rw-r--r--gas/config/tc-hppa.c13
2 files changed, 15 insertions, 1 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index 9c5d081..ba51ee7 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -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.
diff --git a/gas/config/tc-hppa.c b/gas/config/tc-hppa.c
index 7539f03..82af7a0 100644
--- a/gas/config/tc-hppa.c
+++ b/gas/config/tc-hppa.c
@@ -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