aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDave Anglin <dave.anglin@nrc.ca>2005-05-22 01:40:28 +0000
committerDave Anglin <dave.anglin@nrc.ca>2005-05-22 01:40:28 +0000
commit9f45e54b876e1bcfb25f6e64cb88a074b900f21c (patch)
tree664d37ab7334c96fbcbe48095b598a2180a8c9e4
parent8eb60b5cd82e03d9b26879cda73a0290efb1234c (diff)
downloadgdb-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.
-rw-r--r--gas/ChangeLog5
-rw-r--r--gas/config/tc-hppa.c26
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)