This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Commit: Microblaze: Fix building on a 32-bit host.
- From: Nick Clifton <nickc at redhat dot com>
- To: binutils at sourceware dot org
- Date: Mon, 01 Feb 2016 11:39:26 +0000
- Subject: Commit: Microblaze: Fix building on a 32-bit host.
- Authentication-results: sourceware.org; auth=none
Hi Guys,
I am checking in the patch below to fix building gas for the
microblaze target on a 32-bit host:
tc-microblaze.c:742:21: error: integer overflow in expression [-Werror=overflow]
Cheers
Nick
gas/ChangeLog
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.
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)
{