]> granicus.if.org Git - yasm/commit
Completely revamp how label resolution is done (part of Bug#6). Now calculates
authorPeter Johnson <peter@tortall.net>
Tue, 1 Oct 2002 18:56:28 +0000 (18:56 -0000)
committerPeter Johnson <peter@tortall.net>
Tue, 1 Oct 2002 18:56:28 +0000 (18:56 -0000)
commita3a9fd2aa0b75c22e11ff75067d5bbfbe8fdc36a
tree81dfce92e32a1fc9c00537bb74faa9911441ebe7
parentc40005c22300c77ad9d32c8ae843b5dbb23ba52e
Completely revamp how label resolution is done (part of Bug#6).  Now calculates
/distances/ between bytecodes in a section using bc_calc_dist() functions (a
"typical" one is provided for most occasions).  expr_expand_labelequ() is gone,
as its functionality is integrated into expr_simplify().  Currently these
changes break most bin objfmt output, as it doesn't know how to resolve
absolute labels yet.  Also, very preliminary expr support for :, SEG, and WRT
operators has been added (part of Bug#2).  Several other minor bug fixes.

svn path=/trunk/yasm/; revision=718
32 files changed:
libyasm/arch.h
libyasm/bytecode.c
libyasm/bytecode.h
libyasm/coretype.h
libyasm/expr-int.h
libyasm/expr.c
libyasm/expr.h
modules/arch/x86/x86arch.c
modules/arch/x86/x86arch.h
modules/arch/x86/x86bc.c
modules/arch/x86/x86expr.c
modules/arch/x86/x86id.re
modules/objfmts/bin/bin-objfmt.c
modules/objfmts/bin/tests/reserve-err.errwarn
modules/optimizers/basic/basic-optimizer.c
modules/parsers/nasm/nasm-bison.y
src/arch.h
src/arch/x86/x86arch.c
src/arch/x86/x86arch.h
src/arch/x86/x86bc.c
src/arch/x86/x86expr.c
src/arch/x86/x86id.re
src/bytecode.c
src/bytecode.h
src/coretype.h
src/expr-int.h
src/expr.c
src/expr.h
src/objfmts/bin/bin-objfmt.c
src/objfmts/bin/tests/reserve-err.errwarn
src/optimizers/basic/basic-optimizer.c
src/parsers/nasm/nasm-bison.y