|
|
|
# $Id$
|
|
|
|
|
|
|
|
TESTS += bitvect_test
|
|
|
|
TESTS += floatnum_test
|
|
|
|
TESTS += leb128_test
|
|
|
|
TESTS += splitpath_test
|
|
|
|
TESTS += combpath_test
|
|
|
|
TESTS += libyasm/tests/libyasm_test.sh
|
|
|
|
|
|
|
|
EXTRA_DIST += libyasm/tests/libyasm_test.sh
|
|
|
|
EXTRA_DIST += libyasm/tests/absloop-err.asm
|
|
|
|
EXTRA_DIST += libyasm/tests/absloop-err.errwarn
|
|
|
|
EXTRA_DIST += libyasm/tests/charconst64.asm
|
|
|
|
EXTRA_DIST += libyasm/tests/charconst64.errwarn
|
|
|
|
EXTRA_DIST += libyasm/tests/charconst64.hex
|
|
|
|
EXTRA_DIST += libyasm/tests/duplabel-err.asm
|
|
|
|
EXTRA_DIST += libyasm/tests/duplabel-err.errwarn
|
|
|
|
EXTRA_DIST += libyasm/tests/expr-wide-ident.asm
|
|
|
|
EXTRA_DIST += libyasm/tests/expr-wide-ident.errwarn
|
|
|
|
EXTRA_DIST += libyasm/tests/expr-wide-ident.hex
|
|
|
|
EXTRA_DIST += libyasm/tests/externdef.asm
|
|
|
|
EXTRA_DIST += libyasm/tests/externdef.errwarn
|
|
|
|
EXTRA_DIST += libyasm/tests/externdef.hex
|
|
|
|
EXTRA_DIST += libyasm/tests/incbin.asm
|
|
|
|
EXTRA_DIST += libyasm/tests/incbin.errwarn
|
|
|
|
EXTRA_DIST += libyasm/tests/incbin.hex
|
|
|
|
EXTRA_DIST += libyasm/tests/jmpsize1.asm
|
|
|
|
EXTRA_DIST += libyasm/tests/jmpsize1.errwarn
|
|
|
|
EXTRA_DIST += libyasm/tests/jmpsize1.hex
|
|
|
|
EXTRA_DIST += libyasm/tests/jmpsize1-err.asm
|
|
|
|
EXTRA_DIST += libyasm/tests/jmpsize1-err.errwarn
|
|
|
|
EXTRA_DIST += libyasm/tests/timesover-err.asm
|
|
|
|
EXTRA_DIST += libyasm/tests/timesover-err.errwarn
|
|
|
|
EXTRA_DIST += libyasm/tests/unary.asm
|
|
|
|
EXTRA_DIST += libyasm/tests/unary.errwarn
|
|
|
|
EXTRA_DIST += libyasm/tests/unary.hex
|
Massive cleanup of relocation and WRT handling. Closes #49 and lays the
groundwork for further features and possible cleanups.
Note: this commit changes the way in which relocations in the
COFF/Win32/Win64 target can be forced to reference a different symbol than
is being pointed to; instead of the ambiguous "trap+(trap.end-trap)" to get
the reloc to point at trap.end but reference the trap symbol, after this
commit "trap.end wrt trap" is the way to say this. This also reads a lot
more clearly and is not ambiguous. This should really only affect people
who write .pdata sections for Win64. See the
objfmts/win64/tests/win64-dataref.asm testcase for an example of usage.
This cleanup adds a new data structure, yasm_value, which is used for all
expressions that can be potentially relocatable. This data structure
splits the absolute portion of the expression away from the relative
portion and any modifications to the relative portion (SEG, WRT,
PC-relative, etc). A large amount of code in the new value module breaks
a general expression into its absolute and relative parts
(yasm_value_finalize_expr) and provides a common set of code for writing
out non-relocated values (yasm_value_output_basic).
All bytecode handling in both libyasm and the architecture modules was
rewritten to use yasm_values when appropriate (e.g. data values,
immediates, and effective addresses). The yasm_output_expr_func is now
yasm_output_value_func and all users and implementors (mainly in object
formats) have been updated to handle yasm_values.
Simultaneously with this change, yasm_effaddr and yasm_immval full
structure definitions have been moved from bc-int.h to bytecode.h.
The data hiding provided by bc-int.h was relatively minimal and probably
overkill. Also, great simplifications have been made to x86 effective
address expression handling.
svn path=/trunk/yasm/; revision=1419
19 years ago
|
|
|
EXTRA_DIST += libyasm/tests/value-err.asm
|
|
|
|
EXTRA_DIST += libyasm/tests/value-err.errwarn
|
|
|
|
|
|
|
|
check_PROGRAMS += bitvect_test
|
|
|
|
check_PROGRAMS += floatnum_test
|
|
|
|
check_PROGRAMS += leb128_test
|
|
|
|
check_PROGRAMS += splitpath_test
|
|
|
|
check_PROGRAMS += combpath_test
|
|
|
|
|
|
|
|
bitvect_test_SOURCES = libyasm/tests/bitvect_test.c
|
|
|
|
bitvect_test_LDADD = libyasm.a $(INTLLIBS)
|
|
|
|
|
|
|
|
floatnum_test_SOURCES = libyasm/tests/floatnum_test.c
|
|
|
|
floatnum_test_LDADD = libyasm.a $(INTLLIBS)
|
|
|
|
|
|
|
|
leb128_test_SOURCES = libyasm/tests/leb128_test.c
|
|
|
|
leb128_test_LDADD = libyasm.a $(INTLLIBS)
|
|
|
|
|
|
|
|
splitpath_test_SOURCES = libyasm/tests/splitpath_test.c
|
|
|
|
splitpath_test_LDADD = libyasm.a $(INTLLIBS)
|
|
|
|
|
|
|
|
combpath_test_SOURCES = libyasm/tests/combpath_test.c
|
|
|
|
combpath_test_LDADD = libyasm.a $(INTLLIBS)
|
|
|
|
|