From 5d5755a724d32a703e7ff0fe3d6a864706d91fa3 Mon Sep 17 00:00:00 2001 From: Sandra Loosemore Date: Wed, 12 Jun 2013 23:11:57 +0000 Subject: 2013-06-12 Sandra Loosemore 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. --- gas/config/tc-nios2.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'gas/config/tc-nios2.c') diff --git a/gas/config/tc-nios2.c b/gas/config/tc-nios2.c index 6c91fbe..659bbbc 100644 --- a/gas/config/tc-nios2.c +++ b/gas/config/tc-nios2.c @@ -1258,7 +1258,8 @@ md_apply_fix (fixS *fixP, valueT *valP, segT seg ATTRIBUTE_UNUSED) fixup = fixup & 0xFFFF; break; case BFD_RELOC_NIOS2_HIADJ16: - fixup = ((fixup >> 16) & 0xFFFF) + ((fixup >> 15) & 0x01); + fixup = ((((fixup >> 16) & 0xFFFF) + ((fixup >> 15) & 0x01)) + & 0xFFFF); break; default: { -- cgit v1.1