From f2ada9106d9803a83d338007754fa42b175858d9 Mon Sep 17 00:00:00 2001 From: Jeff Law Date: Wed, 16 Mar 1994 22:42:51 +0000 Subject: [PATCH] * config/tc-hppa.c (pa_callinfo): Accept "millicode" as an argument to a .callinfo directive. Don't loop forever on errors. --- gas/ChangeLog | 3 +++ gas/config/tc-hppa.c | 13 ++++++++++++- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/gas/ChangeLog b/gas/ChangeLog index 9c5d081988..ba51ee72d0 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 7539f036e9..82af7a0f88 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 -- 2.34.1