tc-microblaze.c - int compare for X_add_number.

The range check should be checking for the range
ffffffff80000000..7fffffff, not ffffffff70000000.

This patch has been tested for years of AMD Xilinx Yocto
releases as part of the following patch set:

https://github.com/Xilinx/meta-xilinx/tree/master/meta-microblaze/recipes-devtools/binutils/binutils

Signed-off-by: nagaraju <nagaraju.mekala@amd.com>
Signed-off-by: Neal Frager <neal.frager@amd.com>
Signed-off-by: Michael J. Eager <eager@eagercon.com>
This commit is contained in:
Neal Frager 2023-09-29 08:45:46 -07:00 committed by Michael J. Eager
parent 54fd15eef7
commit 2677a57064

View File

@ -755,7 +755,7 @@ parse_imm (char * s, expressionS * e, offsetT min, offsetT max)
if ((e->X_add_number >> 31) == 1)
e->X_add_number |= -((addressT) (1U << 31));
if (e->X_add_number < min || e->X_add_number > max)
if ((int)e->X_add_number < min || (int)e->X_add_number > max)
{
as_fatal (_("operand must be absolute in range %lx..%lx, not %lx"),
(long) min, (long) max, (long) e->X_add_number);