Fix uninitialised CRIS insn

gas/
	* config/tc-cris.c (md_create_long_jump): Follow "short" jump
	with a nop rather than leaving uninitialised.
gas/testsuite/
	* gas/cris/rd-bkw4v32.d: Update.
This commit is contained in:
Alan Modra 2014-06-16 09:50:15 +09:30
parent cc0c4d535e
commit 44ed9ef26f
4 changed files with 18 additions and 3 deletions

View File

@ -1,3 +1,8 @@
2014-06-16 Alan Modra <amodra@gmail.com>
* config/tc-cris.c (md_create_long_jump): Follow "short" jump
with a nop rather than leaving uninitialised.
2014-06-13 Chen Gang <gang.chen.5i5j@gmail.com>
* config/tc-score7.c: Replace sprintf with strcpy where

View File

@ -1124,9 +1124,15 @@ md_create_long_jump (char *storep, addressT from_addr, addressT to_addr,
if (max_short_minus_distance <= distance
&& distance <= max_short_plus_distance)
/* Then make it a "short" long jump. */
md_create_short_jump (storep, from_addr, to_addr, fragP,
{
/* Then make it a "short" long jump. */
md_create_short_jump (storep, from_addr, to_addr, fragP,
to_symbol);
if (cris_arch == arch_crisv32)
md_number_to_chars (storep + 6, NOP_OPCODE_V32, 2);
else
md_number_to_chars (storep + 6, NOP_OPCODE, 2);
}
else
{
/* We have a "long" long jump: "JUMP [PC+]". If CRISv32, always

View File

@ -1,3 +1,7 @@
2014-06-16 Alan Modra <amodra@gmail.com>
* gas/cris/rd-bkw4v32.d: Update.
2014-06-10 H.J. Lu <hongjiu.lu@intel.com>
* gas/i386/prefix.s: Add another fwait test.

View File

@ -43,7 +43,7 @@ Disassembly of section \.text:
4acc: b005 nop
4ace: ffed 4635 ba 8014 <x\+0x8014>
4ad2: b005 nop
4ad4: 0000 bcc \.
4ad4: b005 nop
4ad6: 6f9e 0000 0000 move.d 0 <x>,r9
4ad8: R_CRIS_32 x336
4adc: bfbd 0000 0000 jsr 0 <x>