2013-06-12 Sandra Loosemore <sandra@codesourcery.com>

gas/
	* config/tc-nios2.c (md_apply_fix):  Mask constant
	BFD_RELOC_NIOS2_HIADJ16 value to 16 bits.

	gas/testsuite/
	* gas/nios2/movia.s: Add additional test case with negative
	constant value.
	* gas/nios2/movia.d: Likewise.
This commit is contained in:
Sandra Loosemore 2013-06-12 23:11:57 +00:00
parent 0c8fe7cfe2
commit 5d5755a724
5 changed files with 16 additions and 1 deletions

View File

@ -1,3 +1,8 @@
2013-06-12 Sandra Loosemore <sandra@codesourcery.com>
* config/tc-nios2.c (md_apply_fix): Mask constant
BFD_RELOC_NIOS2_HIADJ16 value to 16 bits.
2013-06-10 Maciej W. Rozycki <macro@codesourcery.com> 2013-06-10 Maciej W. Rozycki <macro@codesourcery.com>
* config/tc-mips.c (append_insn): Don't do branch relaxation for * config/tc-mips.c (append_insn): Don't do branch relaxation for

View File

@ -1258,7 +1258,8 @@ md_apply_fix (fixS *fixP, valueT *valP, segT seg ATTRIBUTE_UNUSED)
fixup = fixup & 0xFFFF; fixup = fixup & 0xFFFF;
break; break;
case BFD_RELOC_NIOS2_HIADJ16: case BFD_RELOC_NIOS2_HIADJ16:
fixup = ((fixup >> 16) & 0xFFFF) + ((fixup >> 15) & 0x01); fixup = ((((fixup >> 16) & 0xFFFF) + ((fixup >> 15) & 0x01))
& 0xFFFF);
break; break;
default: default:
{ {

View File

@ -1,3 +1,9 @@
2013-06-12 Sandra Loosemore <sandra@codesourcery.com>
* gas/nios2/movia.s: Add additional test case with negative
constant value.
* gas/nios2/movia.d: Likewise.
2013-06-12 Sandra Loosemore <sandra@codesourcery.com> 2013-06-12 Sandra Loosemore <sandra@codesourcery.com>
* gas/nios2/tret.d: Correct eret encoding. * gas/nios2/tret.d: Correct eret encoding.

View File

@ -16,3 +16,5 @@ Disassembly of section .text:
10: R_NIOS2_HIADJ16 sym-0x7fffffff 10: R_NIOS2_HIADJ16 sym-0x7fffffff
0+0014 <[^>]*> 21000004 addi r4,r4,0 0+0014 <[^>]*> 21000004 addi r4,r4,0
14: R_NIOS2_LO16 sym-0x7fffffff 14: R_NIOS2_LO16 sym-0x7fffffff
0+0018 <[^>]*> 00800034 movhi r2,0
0+001c <[^>]*> 10bffc04 addi r2,r2,-16

View File

@ -4,3 +4,4 @@ foo:
movia r2, 0x80808080 movia r2, 0x80808080
movia r3, sym + 0x80000000 movia r3, sym + 0x80000000
movia r4, sym - 0x7fffffff movia r4, sym - 0x7fffffff
movia r2, 0xfffffff0