* First cut at cleaning up PA instruction parsing.
authorJeff Law <law@redhat.com>
Sun, 7 Nov 1993 20:33:18 +0000 (20:33 +0000)
committerJeff Law <law@redhat.com>
Sun, 7 Nov 1993 20:33:18 +0000 (20:33 +0000)
commit513f04711d46c1277b9aae4e296ac36b15ec5d7b
treeb5f6684e39e45a62a8774b99babe2a0e761359e4
parent3e411021ccc8453d0b1d2161e521ee525edf5bc6
* First cut at cleaning up PA instruction parsing.
* config/tc-hppa.c (pa_get_absolute_expression): Accept pointer to
insn structure as an argument, and a pointer to a string.  All
callers changed.  Always read any field selector here.  Call
evaluate absolute to get a return value.
(evaluate_absolute): Addept pointer to insn structure as its
argument.  All callers changed.
(INSERT_FIELD_AND_CONTINUE): New macro for inserting a bitfield
into an instruction and continuing the main pa_ip loop.
(CHECK_FIELD): New macro for simple range checking of fields.
(pa_ip): Delete unused variables.  Use INSERT_FIELD_AND_CONTINUE
and CHECK_FIELD.  All immediate fields now pass through
pa_get_absolute_expression which will also handle field selectors.
Delete dead code.  Simplify.
(md_apply_fix_1): Use CHECK_FIELD to verify any fixes that are
applied are in range.  Use bfd_put_32 rather than inserting each
byte of the fixed instrution into the buffer ourselves.
gas/ChangeLog