aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2016-02-01 11:36:59 +0000
committerNick Clifton <nickc@redhat.com>2016-02-01 11:36:59 +0000
commitac0d427f4b3a2b82dcf395da74fdbc71ee598095 (patch)
treee142458a338ebc781501b2a7c5eccbd271b24aff
parentec1f73bb0be7482f2dffd9bbca2f93fc74eca172 (diff)
downloadbinutils-ac0d427f4b3a2b82dcf395da74fdbc71ee598095.zip
binutils-ac0d427f4b3a2b82dcf395da74fdbc71ee598095.tar.gz
binutils-ac0d427f4b3a2b82dcf395da74fdbc71ee598095.tar.bz2
Fix error building Microblaze assembler on a 32-bit host.
* config/tc-microblaze.c (parse_imm): Fix compile time warning message extending a negative 32-bit value into a larger signed value on a 32-bit host.
-rw-r--r--gas/ChangeLog6
-rw-r--r--gas/config/tc-microblaze.c4
2 files changed, 8 insertions, 2 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index 3ed4665..027b556 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,9 @@
+2016-02-01 Nick Clifton <nickc@redhat.com>
+
+ * config/tc-microblaze.c (parse_imm): Fix compile time warning
+ message extending a negative 32-bit value into a larger signed
+ value on a 32-bit host.
+
2016-01-29 H.J. Lu <hongjiu.lu@intel.com>
PR gas/19532
diff --git a/gas/config/tc-microblaze.c b/gas/config/tc-microblaze.c
index 01341d4..5484b30 100644
--- a/gas/config/tc-microblaze.c
+++ b/gas/config/tc-microblaze.c
@@ -737,9 +737,9 @@ parse_imm (char * s, expressionS * e, offsetT min, offsetT max)
as_fatal (_("operand must be a constant or a label"));
else if (e->X_op == O_constant)
{
- /* Special case: sign extend negative 32-bit values to 64-bits. */
+ /* Special case: sign extend negative 32-bit values to offsetT size. */
if ((e->X_add_number >> 31) == 1)
- e->X_add_number |= -((offsetT) 1 << 31);
+ e->X_add_number |= -((addressT) (1U << 31));
if (e->X_add_number < min || e->X_add_number > max)
{