Blame cross-binutils-2.26-fixup-microblaze.patch

0040a6e
commit ac0d427f4b3a2b82dcf395da74fdbc71ee598095
0040a6e
Author: Nick Clifton <nickc@redhat.com>
0040a6e
Date:   Mon Feb 1 11:36:59 2016 +0000
0040a6e
0040a6e
    Fix error building Microblaze assembler on a 32-bit host.
0040a6e
    
0040a6e
    	* config/tc-microblaze.c (parse_imm): Fix compile time warning
0040a6e
    	message extending a negative 32-bit value into a larger signed
0040a6e
    	value on a 32-bit host.
0040a6e
0040a6e
diff --git a/gas/config/tc-microblaze.c b/gas/config/tc-microblaze.c
0040a6e
index 01341d4..5484b30 100644
0040a6e
--- a/gas/config/tc-microblaze.c
0040a6e
+++ b/gas/config/tc-microblaze.c
0040a6e
@@ -737,9 +737,9 @@ parse_imm (char * s, expressionS * e, offsetT min, offsetT max)
0040a6e
     as_fatal (_("operand must be a constant or a label"));
0040a6e
   else if (e->X_op == O_constant)
0040a6e
     {
0040a6e
-      /* Special case: sign extend negative 32-bit values to 64-bits.  */
0040a6e
+      /* Special case: sign extend negative 32-bit values to offsetT size.  */
0040a6e
       if ((e->X_add_number >> 31) == 1)
0040a6e
-	e->X_add_number |= -((offsetT) 1 << 31);
0040a6e
+	e->X_add_number |= -((addressT) (1U << 31));
0040a6e
 
0040a6e
       if (e->X_add_number < min || e->X_add_number > max)
0040a6e
 	{