commit ac0d427f4b3a2b82dcf395da74fdbc71ee598095
Author: Nick Clifton <nickc@redhat.com>
Date: Mon Feb 1 11:36:59 2016 +0000
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.
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)
{