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) {