diff options
-rw-r--r-- | asm/assemble.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/asm/assemble.c b/asm/assemble.c index a3752b47..875a0d32 100644 --- a/asm/assemble.c +++ b/asm/assemble.c @@ -376,8 +376,9 @@ static void out(struct out_data *data) amax = ofmt->maxbits >> 3; /* Maximum address size in bytes */ if ((ofmt->flags & OFMT_KEEP_ADDR) == 0 && data->tsegment == fixseg && data->twrt == NO_SEG) { - if (asize < (size_t)(data->bits >> 3)) - warn_overflow_out(addrval, asize, data->sign); + if (asize >= (size_t)(data->bits >> 3)) + data->sign = OUT_WRAP; /* Support address space wrapping for low-bit modes */ + warn_overflow_out(addrval, asize, data->sign); xdata.q = cpu_to_le64(addrval); data->data = xdata.b; data->type = OUT_RAWDATA; |