diff options
author | Dave Anglin <dave.anglin@nrc.ca> | 2005-05-22 01:40:28 +0000 |
---|---|---|
committer | Dave Anglin <dave.anglin@nrc.ca> | 2005-05-22 01:40:28 +0000 |
commit | 9f45e54b876e1bcfb25f6e64cb88a074b900f21c (patch) | |
tree | 664d37ab7334c96fbcbe48095b598a2180a8c9e4 /gas | |
parent | 8eb60b5cd82e03d9b26879cda73a0290efb1234c (diff) | |
download | gdb-9f45e54b876e1bcfb25f6e64cb88a074b900f21c.zip gdb-9f45e54b876e1bcfb25f6e64cb88a074b900f21c.tar.gz gdb-9f45e54b876e1bcfb25f6e64cb88a074b900f21c.tar.bz2 |
* config/tc-hppa.c (pa_ip): Promote architecture from PA 1.0 to 1.1
only if an instruction match is found.
Diffstat (limited to 'gas')
-rw-r--r-- | gas/ChangeLog | 5 | ||||
-rw-r--r-- | gas/config/tc-hppa.c | 26 |
2 files changed, 17 insertions, 14 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog index a54e152..f25b6a8 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,8 @@ +2005-05-21 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> + + * config/tc-hppa.c (pa_ip): Promote architecture from PA 1.0 to 1.1 + only if an instruction match is found. + 2005-05-20 Bob Wilson <bob.wilson@acm.org> * config/tc-xtensa.c (xg_assemble_vliw_tokens): Change subtraction diff --git a/gas/config/tc-hppa.c b/gas/config/tc-hppa.c index 57cc427..398e746 100644 --- a/gas/config/tc-hppa.c +++ b/gas/config/tc-hppa.c @@ -1641,21 +1641,9 @@ pa_ip (str) the_insn.reloc = R_HPPA_NONE; - /* If this instruction is specific to a particular architecture, - then set a new architecture. */ - /* But do not automatically promote to pa2.0. The automatic promotion - crud is for compatibility with HP's old assemblers only. */ - if (insn->arch < 20 + if (insn->arch >= 20 && bfd_get_mach (stdoutput) < insn->arch) - { - if (!bfd_set_arch_mach (stdoutput, bfd_arch_hppa, insn->arch)) - as_warn (_("could not update architecture and machine")); - } - else if (bfd_get_mach (stdoutput) < insn->arch) - { - match = FALSE; - goto failed; - } + goto failed; /* Build the opcode, checking as we go to make sure that the operands match. */ @@ -3962,6 +3950,16 @@ pa_ip (str) break; } + /* If this instruction is specific to a particular architecture, + then set a new architecture. This automatic promotion crud is + for compatibility with HP's old assemblers only. */ + if (match == TRUE + && bfd_get_mach (stdoutput) < insn->arch) + { + if (!bfd_set_arch_mach (stdoutput, bfd_arch_hppa, insn->arch)) + as_warn (_("could not update architecture and machine")); + } + failed: /* Check if the args matched. */ if (!match) |