From 4149dd2474d75a27c3cf60e72c1f2242c8dc609e Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Tue, 8 Sep 2009 10:53:22 +0000 Subject: [PATCH] gas/ * read.c (emit_expr_fix): Handle size 3. * config/tc-avr.c (md_assemble): Call dwarf2_emit_insn. * config/tc-d30v.c (write_long, write_1_short, write_2_short, md_assemble): Likewise. * config/tc-dlx.c (md_assemble): Likewise. * config/tc-i860.c (md_assemble): Likewise. * config/tc-mn10200.c (md_assemble): Likewise. * config/tc-pj.c (md_assemble): Likewise. * config/tc-vax.c (md_assemble): Likewise. gas/testsuite/ * gas/d30v/serial2.l: Adjust position of page break. * gas/lns/lns-common-1-alt.d: Match 2009-04-24 change. * gas/mt/ms1-16-003.d: Correct reloc name. * gas/mt/relocs.d: Elide incorrect file format strings. --- gas/ChangeLog | 12 ++++++++++++ gas/config/tc-avr.c | 2 ++ gas/config/tc-d30v.c | 5 +++++ gas/config/tc-dlx.c | 2 ++ gas/config/tc-i860.c | 1 + gas/config/tc-mn10200.c | 3 ++- gas/config/tc-pj.c | 1 + gas/config/tc-vax.c | 1 + gas/read.c | 3 +++ gas/testsuite/ChangeLog | 7 +++++++ gas/testsuite/gas/d30v/serial2.l | 2 +- gas/testsuite/gas/lns/lns-common-1-alt.d | 4 ++++ gas/testsuite/gas/mt/ms1-16-003.d | 2 +- gas/testsuite/gas/mt/relocs.d | 2 +- 14 files changed, 43 insertions(+), 4 deletions(-) diff --git a/gas/ChangeLog b/gas/ChangeLog index 5425e9a290c..7b09b27beb2 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,15 @@ +2009-09-08 Alan Modra + + * read.c (emit_expr_fix): Handle size 3. + * config/tc-avr.c (md_assemble): Call dwarf2_emit_insn. + * config/tc-d30v.c (write_long, write_1_short, + write_2_short, md_assemble): Likewise. + * config/tc-dlx.c (md_assemble): Likewise. + * config/tc-i860.c (md_assemble): Likewise. + * config/tc-mn10200.c (md_assemble): Likewise. + * config/tc-pj.c (md_assemble): Likewise. + * config/tc-vax.c (md_assemble): Likewise. + 2009-09-07 Tristan Gingold * po/gas.pot: Regenerate diff --git a/gas/config/tc-avr.c b/gas/config/tc-avr.c index 5f243b43cb5..9d14f6418ea 100644 --- a/gas/config/tc-avr.c +++ b/gas/config/tc-avr.c @@ -1366,6 +1366,8 @@ md_assemble (char *str) if (!avr_opt.all_opcodes && (opcode->isa & avr_mcu->isa) != opcode->isa) as_bad (_("illegal opcode %s for mcu %s"), opcode->name, avr_mcu->name); + dwarf2_emit_insn (0); + /* We used to set input_line_pointer to the result of get_operands, but that is wrong. Our caller assumes we don't change it. */ { diff --git a/gas/config/tc-d30v.c b/gas/config/tc-d30v.c index 5e3e96efb9a..3e95375626d 100644 --- a/gas/config/tc-d30v.c +++ b/gas/config/tc-d30v.c @@ -23,6 +23,7 @@ #include "safe-ctype.h" #include "subsegs.h" #include "opcode/d30v.h" +#include "dwarf2dbg.h" const char comment_chars[] = ";"; const char line_comment_chars[] = "#"; @@ -593,6 +594,7 @@ write_long (struct d30v_insn *opcode ATTRIBUTE_UNUSED, int i, where; char *f = frag_more (8); + dwarf2_emit_insn (8); insn |= FM11; d30v_number_to_chars (f, insn, 8); @@ -620,6 +622,7 @@ write_1_short (struct d30v_insn *opcode, char *f = frag_more (8); int i, where; + dwarf2_emit_insn (8); if (warn_nops == NOP_ALL) as_warn (_("%s NOP inserted"), use_sequential ? _("sequential") : _("parallel")); @@ -1087,6 +1090,7 @@ write_2_short (struct d30v_insn *opcode1, } f = frag_more (8); + dwarf2_emit_insn (8); d30v_number_to_chars (f, insn, 8); /* If the previous instruction was a 32-bit multiply but it is put into a @@ -1684,6 +1688,7 @@ md_assemble (char *str) else { f = frag_more (8); + dwarf2_emit_insn (8); d30v_number_to_chars (f, NOP2, 8); if (warn_nops == NOP_ALL || warn_nops == NOP_MULTIPLY) diff --git a/gas/config/tc-dlx.c b/gas/config/tc-dlx.c index 65e4b552f33..6cf1fcd1a49 100644 --- a/gas/config/tc-dlx.c +++ b/gas/config/tc-dlx.c @@ -909,6 +909,8 @@ md_assemble (char *str) know (str); machine_ip (str); toP = frag_more (4); + dwarf2_emit_insn (4); + /* Put out the opcode. */ md_number_to_chars (toP, the_insn.opcode, 4); diff --git a/gas/config/tc-i860.c b/gas/config/tc-i860.c index ec9bda8a33e..32aed0fc7a9 100644 --- a/gas/config/tc-i860.c +++ b/gas/config/tc-i860.c @@ -408,6 +408,7 @@ md_assemble (char *str) as_warn (_("An instruction was expanded (%s)"), str); } + dwarf2_emit_insn (0); i = 0; do { diff --git a/gas/config/tc-mn10200.c b/gas/config/tc-mn10200.c index fa78d53da30..4f7cccb51e5 100644 --- a/gas/config/tc-mn10200.c +++ b/gas/config/tc-mn10200.c @@ -1,6 +1,6 @@ /* tc-mn10200.c -- Assembler code for the Matsushita 10200 Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, - 2005, 2006, 2007 Free Software Foundation, Inc. + 2005, 2006, 2007, 2009 Free Software Foundation, Inc. This file is part of GAS, the GNU Assembler. @@ -1156,6 +1156,7 @@ keep_going: abort (); /* Write out the instruction. */ + dwarf2_emit_insn (0); if (relaxable && fc > 0) { /* On a 64-bit host the size of an 'int' is not the same diff --git a/gas/config/tc-pj.c b/gas/config/tc-pj.c index 1c8471f575d..8f49e8f70ae 100644 --- a/gas/config/tc-pj.c +++ b/gas/config/tc-pj.c @@ -261,6 +261,7 @@ md_assemble (char *str) return; } + dwarf2_emit_insn (0); if (opcode->opcode == -1) { /* It's a fake opcode. Dig out the args and pretend that was diff --git a/gas/config/tc-vax.c b/gas/config/tc-vax.c index 7db0991035c..33353dab4b0 100644 --- a/gas/config/tc-vax.c +++ b/gas/config/tc-vax.c @@ -2713,6 +2713,7 @@ md_assemble (char *instruction_string) if (need_pass_2 || goofed) return; + dwarf2_emit_insn (0); /* Emit op-code. */ /* Remember where it is, in case we want to modify the op-code later. */ opcode_low_byteP = frag_more (v.vit_opcode_nbytes); diff --git a/gas/read.c b/gas/read.c index 9c38bc86252..5a384a655d2 100644 --- a/gas/read.c +++ b/gas/read.c @@ -4265,6 +4265,9 @@ emit_expr_fix (expressionS *exp, unsigned int nbytes, fragS *frag, char *p) case 2: r = BFD_RELOC_16; break; + case 3: + r = BFD_RELOC_24; + break; case 4: r = BFD_RELOC_32; break; diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog index e0fcb9e1196..1ff9c462550 100644 --- a/gas/testsuite/ChangeLog +++ b/gas/testsuite/ChangeLog @@ -1,3 +1,10 @@ +2009-09-08 Alan Modra + + * gas/d30v/serial2.l: Adjust position of page break. + * gas/lns/lns-common-1-alt.d: Match 2009-04-24 change. + * gas/mt/ms1-16-003.d: Correct reloc name. + * gas/mt/relocs.d: Elide incorrect file format strings. + 2009-09-08 Alan Modra * gas/all/gas.exp (do_comment): Don't run on m32c. diff --git a/gas/testsuite/gas/d30v/serial2.l b/gas/testsuite/gas/d30v/serial2.l index 3dc2652dacf..a799bb906c0 100644 --- a/gas/testsuite/gas/d30v/serial2.l +++ b/gas/testsuite/gas/d30v/serial2.l @@ -79,10 +79,10 @@ GAS LISTING .* 17 00F00000 18 \?\?\?\? 10080001 bra/tx -3 -> bra 10 ; Valid \*\*\*\* Error:Unable to mix instructions as specified - 18 00F00000 GAS LISTING .* + 18 00F00000 18 100BFFFF 18 00F00000 19 \?\?\?\? 00080001 bra/tx -3 -> bra/fx 10 ; Valid diff --git a/gas/testsuite/gas/lns/lns-common-1-alt.d b/gas/testsuite/gas/lns/lns-common-1-alt.d index b19b425ca3c..39e65dcd9b3 100644 --- a/gas/testsuite/gas/lns/lns-common-1-alt.d +++ b/gas/testsuite/gas/lns/lns-common-1-alt.d @@ -34,6 +34,10 @@ Raw dump of debug contents of section \.debug_line: Advance Line by 1 to 7 Advance PC by fixed size amount .* to .* Copy + Extended opcode 4: set Discriminator to 1 + Advance Line by 0 to 7 + Advance PC by fixed size amount .* to .* + Copy Advance PC by fixed size amount .* to .* Extended opcode 1: End of Sequence #... diff --git a/gas/testsuite/gas/mt/ms1-16-003.d b/gas/testsuite/gas/mt/ms1-16-003.d index f8556962f84..0701a166619 100644 --- a/gas/testsuite/gas/mt/ms1-16-003.d +++ b/gas/testsuite/gas/mt/ms1-16-003.d @@ -14,7 +14,7 @@ Disassembly of section .text: 8: 09 00 00 00 muli R0,R0,#\$0 0000000c : c: 3d 00 00 00 dbnz R0,c -[ ]*c: R_MS1_PC16 dbnz +[ ]*c: R_MT_PC16 dbnz 00000010 : 10: f0 00 00 00 fbcbincs #\$0,#\$0,#\$0,#\$0,#\$0,#\$0,#\$0,#\$0,#\$0,#\$0 00000014 : diff --git a/gas/testsuite/gas/mt/relocs.d b/gas/testsuite/gas/mt/relocs.d index 2a752ba2e02..8546367bae3 100644 --- a/gas/testsuite/gas/mt/relocs.d +++ b/gas/testsuite/gas/mt/relocs.d @@ -1,5 +1,5 @@ -relocs.x: file format elf32-(mrisc1|ms1) +relocs.x: file format .* Contents of section .text: 2000 00131000 3700dffc 12000000 3700fff8 ....7.......7... -- 2.47.3