diff --git a/output/outaout.c b/output/outaout.c index b9f21ec66..860b8a8bd 100644 --- a/output/outaout.c +++ b/output/outaout.c @@ -677,11 +677,11 @@ static void aout_out(int32_t segto, const void *data, } } p = mydata; - if (size == 2) + if (asize == 2) WRITESHORT(p, addr); else WRITELONG(p, addr); - aout_sect_write(s, mydata, size); + aout_sect_write(s, mydata, asize); } else if (type == OUT_REL2ADR) { if (segment == segto) nasm_error(ERR_PANIC, "intra-segment OUT_REL2ADR"); diff --git a/output/outdbg.c b/output/outdbg.c index 77dcd7f93..155dbd177 100644 --- a/output/outdbg.c +++ b/output/outdbg.c @@ -128,7 +128,7 @@ static void dbg_out(int32_t segto, const void *data, int id; if (type == OUT_ADDRESS) - fprintf(ofile, "out to %"PRIx32", len = %d: ", segto, (int)size); + fprintf(ofile, "out to %"PRIx32", len = %d: ", segto, (int)abs((int)size)); else fprintf(ofile, "out to %"PRIx32", len = %"PRIu64": ", segto, size); diff --git a/output/outelf32.c b/output/outelf32.c index b55853ce1..c1c8b82f5 100644 --- a/output/outelf32.c +++ b/output/outelf32.c @@ -808,8 +808,8 @@ static void elf_out(int32_t segto, const void *data, } else if (asize != 4 && segment != NO_SEG) { nasm_error(ERR_NONFATAL, "Unsupported non-32-bit ELF relocation"); } - WRITEADDR(p, addr, size); - elf_sect_write(s, mydata, size); + WRITEADDR(p, addr, asize); + elf_sect_write(s, mydata, asize); break; }