2009-09-15 H.J. Lu <hongjiu.lu@intel.com>

* config/tc-i386.c (offset_in_range): Sign extend offset only
	for 32bit address mode.
This commit is contained in:
H.J. Lu 2009-09-15 17:47:26 +00:00
parent 44353522ec
commit 9de868bf63
2 changed files with 10 additions and 2 deletions

View File

@ -1,3 +1,8 @@
2009-09-15 H.J. Lu <hongjiu.lu@intel.com>
* config/tc-i386.c (offset_in_range): Sign extend offset only
for 32bit address mode.
2009-09-15 Tristan Gingold <gingold@adacore.com>
* makefile.vms (OBJS): Compile te-vms.c only on Itanium.

View File

@ -1762,8 +1762,11 @@ offset_in_range (offsetT val, int size)
default: abort ();
}
/* If BFD64, sign extend val. */
if (!use_rela_relocations)
#ifdef BFD64
/* If BFD64, sign extend val for 32bit address mode. */
if (flag_code != CODE_64BIT
|| i.prefix[ADDR_PREFIX])
#endif
if ((val & ~(((addressT) 2 << 31) - 1)) == 0)
val = (val ^ ((addressT) 1 << 31)) - ((addressT) 1 << 31);