From: H. Peter Anvin Date: Tue, 30 Apr 2002 21:04:18 +0000 (+0000) Subject: NASM 0.98.17 X-Git-Tag: nasm-2.11.05~2511 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=090a2185739075cbfe4d98437343670ae1a74962;p=platform%2Fupstream%2Fnasm.git NASM 0.98.17 --- diff --git a/doc/nasmdoc.src b/doc/nasmdoc.src index 66825ed..53e4b70 100644 --- a/doc/nasmdoc.src +++ b/doc/nasmdoc.src @@ -7920,8 +7920,8 @@ destination (first) operand. \c MOVSW ; o16 A5 [8086] \c MOVSD ; o32 A5 [386] -\c{MOVSB} copies the byte at \c{[ES:DI]} or \c{[ES:EDI]} to -\c{[DS:SI]} or \c{[DS:ESI]}. It then increments or decrements +\c{MOVSB} copies the byte at \c{[DS:SI]} or \c{[DS:ESI]} to +\c{[ES:DI]} or \c{[ES:EDI]}. It then increments or decrements (depending on the direction flag: increments if the flag is clear, decrements if it is set) \c{SI} and \c{DI} (or \c{ESI} and \c{EDI}). diff --git a/nasm.h b/nasm.h index 0d0fa5b..89705c6 100644 --- a/nasm.h +++ b/nasm.h @@ -13,7 +13,7 @@ #define NASM_MAJOR_VER 0 #define NASM_MINOR_VER 98 -#define NASM_VER "0.98.16" +#define NASM_VER "0.98.17" #ifndef NULL #define NULL 0 diff --git a/ndisasm.c b/ndisasm.c index 227dde7..71d07df 100644 --- a/ndisasm.c +++ b/ndisasm.c @@ -235,7 +235,7 @@ int main(int argc, char **argv) p += lenread; if ((unsigned long)offset == nextsync) { if (synclen) { - printf("%08lX skipping 0x%lX bytes\n", offset, synclen); + fprintf(stdout, "%08lX skipping 0x%lX bytes\n", offset, synclen); offset += synclen; skip (synclen, fp); } @@ -271,26 +271,26 @@ static void output_ins (unsigned long offset, unsigned char *data, int datalen, char *insn) { int bytes; - printf("%08lX ", offset); + fprintf(stdout, "%08lX ", offset); bytes = 0; while (datalen > 0 && bytes < BPL) { - printf("%02X", *data++); + fprintf(stdout, "%02X", *data++); bytes++; datalen--; } - printf("%*s%s\n", (BPL+1-bytes)*2, "", insn); + fprintf(stdout, "%*s%s\n", (BPL+1-bytes)*2, "", insn); while (datalen > 0) { - printf(" -"); + fprintf(stdout, " -"); bytes = 0; while (datalen > 0 && bytes < BPL) { - printf("%02X", *data++); + fprintf(stdout, "%02X", *data++); bytes++; datalen--; } - printf("\n"); + fprintf(stdout, "\n"); } } diff --git a/outelf.c b/outelf.c index 38f4a56..50cd36b 100644 --- a/outelf.c +++ b/outelf.c @@ -554,7 +554,7 @@ static void elf_add_reloc (struct Section *sect, long segment, r->symbol = 0; for (i=0; iindex) - r->symbol = i+3; + r->symbol = i+2; if (!r->symbol) r->symbol = GLOBAL_TEMP_BASE + raa_read(bsym, segment); } @@ -928,13 +928,13 @@ static struct SAA *elf_build_symtab (long *len, long *local) * Now some standard symbols defining the segments, for relocation * purposes. */ - for (i = 1; i <= nsects+1; i++) { + for (i = 1; i <= nsects; i++) { p = entry; WRITELONG (p, 0); /* no symbol name */ WRITELONG (p, 0); /* offset zero */ WRITELONG (p, 0); /* size zero */ WRITESHORT (p, 3); /* local section-type thing */ - WRITESHORT (p, (i==1 ? SHN_ABS : i-1)); /* the section id */ + WRITESHORT (p, i); /* the section id */ saa_wbytes (s, entry, 16L); *len += 16; (*local)++; @@ -992,7 +992,7 @@ static struct SAA *elf_build_reltab (long *len, struct Reloc *r) { long sym = r->symbol; if (sym >= GLOBAL_TEMP_BASE) - sym += -GLOBAL_TEMP_BASE + (nsects+3) + nlocals; + sym += -GLOBAL_TEMP_BASE + (nsects+2) + nlocals; p = entry; WRITELONG (p, r->address);