diff options
author | Nick Clifton <nickc@redhat.com> | 2015-04-02 16:10:06 +0100 |
---|---|---|
committer | Nick Clifton <nickc@redhat.com> | 2015-04-02 16:10:06 +0100 |
commit | 03e080386e266243b2af667af026b992822085cd (patch) | |
tree | ad075efc8b54860928764bb2843fc22501ecef75 /gas/config | |
parent | 4295609462ce6c0983064c10d95ff6bacce0cdfd (diff) | |
download | gdb-03e080386e266243b2af667af026b992822085cd.zip gdb-03e080386e266243b2af667af026b992822085cd.tar.gz gdb-03e080386e266243b2af667af026b992822085cd.tar.bz2 |
Fixes a bug in the microblaze assembler where it would not complain about constants larger than 32-bits.
PR gas/18189
* config/tc-microblaze.c (parse_imm): Use offsetT as the type for
min and max parameters.
Diffstat (limited to 'gas/config')
-rw-r--r-- | gas/config/tc-microblaze.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/gas/config/tc-microblaze.c b/gas/config/tc-microblaze.c index bdf25c2..6f0e795 100644 --- a/gas/config/tc-microblaze.c +++ b/gas/config/tc-microblaze.c @@ -685,7 +685,7 @@ static symbolS * GOT_symbol; #define GOT_SYMBOL_NAME "_GLOBAL_OFFSET_TABLE_" static char * -parse_imm (char * s, expressionS * e, int min, int max) +parse_imm (char * s, expressionS * e, offsetT min, offsetT max) { char *new_pointer; char *atp; @@ -736,11 +736,11 @@ parse_imm (char * s, expressionS * e, int min, int max) ; /* An error message has already been emitted. */ else if ((e->X_op != O_constant && e->X_op != O_symbol) ) as_fatal (_("operand must be a constant or a label")); - else if ((e->X_op == O_constant) && ((int) e->X_add_number < min - || (int) e->X_add_number > max)) + else if ((e->X_op == O_constant) && (e->X_add_number < min + || e->X_add_number > max)) { - as_fatal (_("operand must be absolute in range %d..%d, not %d"), - min, max, (int) e->X_add_number); + as_fatal (_("operand must be absolute in range %lx..%lx, not %lx"), + (long) min, (long) max, (long) e->X_add_number); } if (atp) |