yasm/tools/python-yasm
Peter Johnson fe09480565 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.

svn path=/trunk/yasm/; revision=1536
2006-05-11 07:00:33 +00:00
..
tests Rework yasm.Expression to accept strings like '+' to indicate operation. 2006-05-07 16:41:16 +00:00
bytecode.pxi Fix major bug related to multiple handling. Unfortunately this slows down 2006-05-11 07:00:33 +00:00
coretype.pxi * coretype.h (yasm_value): Add size field (specified in bits). 2006-05-10 08:54:52 +00:00
errwarn.pxi Raise IntNum division by zero errors in Python. 2006-05-06 19:12:05 +00:00
expr.pxi Add/Use helpers to pass void* as manually type-checked PyCObjects. 2006-05-07 18:23:33 +00:00
floatnum.pxi Revamp error/warning handling, using a model similar to Python's internal 2006-05-04 07:55:32 +00:00
intnum.pxi Add/Use helpers to pass void* as manually type-checked PyCObjects. 2006-05-07 18:23:33 +00:00
Makefile.inc Revamp error/warning handling, using a model similar to Python's internal 2006-05-04 07:55:32 +00:00
setup.py * setup.py: strip() opts["srcdir"] to unbreak distcheck. 2006-04-05 05:36:06 +00:00
symrec.pxi Add/Use helpers to pass void* as manually type-checked PyCObjects. 2006-05-07 18:23:33 +00:00
value.pxi * coretype.h (yasm_value): Add size field (specified in bits). 2006-05-10 08:54:52 +00:00
yasm.pyx Add/Use helpers to pass void* as manually type-checked PyCObjects. 2006-05-07 18:23:33 +00:00