svn commit: r1536 - in trunk/yasm: libyasm modules/listfmts/nasm modules/objfmts/bin modules/objfmts/coff modules/objfmts/elf modules/objfmts/xdf tools/python-yasm

peter at tortall.net peter at tortall.net
Thu May 11 00:00:36 PDT 2006


Author: peter
Date: Thu May 11 00:00:33 2006
New Revision: 1536

Added:
   trunk/yasm/tests/win32-relocovfl.asm
Modified:
   trunk/yasm/libyasm/bytecode.c
   trunk/yasm/libyasm/bytecode.h
   trunk/yasm/modules/listfmts/nasm/nasm-listfmt.c
   trunk/yasm/modules/objfmts/bin/bin-objfmt.c
   trunk/yasm/modules/objfmts/coff/coff-objfmt.c
   trunk/yasm/modules/objfmts/elf/elf-objfmt.c
   trunk/yasm/modules/objfmts/xdf/xdf-objfmt.c
   trunk/yasm/tools/python-yasm/bytecode.pxi
Changeset:
   http://www.tortall.net/projects/yasm/changeset/1536

Log:
Fix major bug related to multiple handling.  Unfortunately this slows down
bytecode multiple output significantly, but this way handles generating
relocations correctly (otherwise extern foo; times 5 dd foo doesn't work!).

* bytecode.h (yasm_bc_tobytes): Remove multiple output parameter.
(yasm_bc_get_multiple): New.
* bytecode.c (yasm_bc_tobytes): Update to iterate through multiple here.
(yasm_bc_get_multiple): New.
* xdf-objfmt.c, elf-objfmt.c, bin-objfmt.c, coff-objfmt.c: Don't iterate
through multiple here.
* nasm-listfmt.c: Use yasm_bc_get_multiple() to get multiple instead of
yasm_bc_tobytes().

* bytecode.pxi: Update.

* tests/win32-relocovfl.asm: Tests both this and [1534] but generates too
huge of a file (3MB) to be put into the automated tests.



More information about the yasm-cvs mailing list