Peter Johnson
8f9c7383ea
Add COFF object format (for DJGPP). No debugging support yet (need to design
...
dbgfmt interface).
svn path=/trunk/yasm/; revision=773
22 years ago
Peter Johnson
2c94e53a91
symrec_data_print() doesn't need to handle a NULL data pointer.
...
svn path=/trunk/yasm/; revision=772
22 years ago
Peter Johnson
9b744cb938
Run test input files through standard input instead of as input files to avoid
...
pathname changing issues when builddir != srcdir (previous workaround worked
for text files, but for more complex objfmts such as coff that embed the source
filename in the binary output file, we need to find a different way).
svn path=/trunk/yasm/; revision=771
22 years ago
Peter Johnson
3adada2a00
Don't treat xfree as a real function (taking its address), as this doesn't work
...
if dmalloc is enabled.
svn path=/trunk/yasm/; revision=770
22 years ago
Peter Johnson
53f6123eaf
Check for NULL pointer in LT_DLMEM_REASSIGN() before freeing it.
...
svn path=/trunk/yasm/; revision=769
22 years ago
Peter Johnson
fab557b414
Add expr_extract_symrec() to assist in performing relocation output.
...
svn path=/trunk/yasm/; revision=768
22 years ago
Peter Johnson
9d9618eeba
Add offset parameter to output_expr functions (needed for relocation support).
...
svn path=/trunk/yasm/; revision=767
22 years ago
Peter Johnson
8ec46da76c
Combine global/common/extern handling into general of_data in symrec.
...
svn path=/trunk/yasm/; revision=766
22 years ago
Peter Johnson
8d851f2092
Cleanup objfmt before deleting sections and symrecs.
...
svn path=/trunk/yasm/; revision=765
22 years ago
Peter Johnson
3714208f36
Change how section of_data is allocated/destroyed, separating it from the
...
sections_switch_general() function.
svn path=/trunk/yasm/; revision=764
22 years ago
Peter Johnson
6707a585b9
Add general objfmt-specific data to symrec.
...
Add delete function for symrec objfmt-specific data to objfmt interface.
Delete declare_data_copy function from objfmt interface (it wasn't being called
from anywhere).
Implement functions missing from dbg objfmt.
svn path=/trunk/yasm/; revision=763
22 years ago
Peter Johnson
d0fa038137
Remove obsolete references to HAVE_GNU_C_LIBRARY which were causing build
...
breakage on some Linux platforms.
svn path=/trunk/yasm/; revision=762
22 years ago
Peter Johnson
c5bfd97db6
Make bytecode and effaddr "data" extensions more portable by including the
...
base structure as the first element in each data structure. Concept taken from
the JPEG library.
svn path=/trunk/yasm/; revision=761
22 years ago
Peter Johnson
9b6b24c054
Add a rex field in x86_insn (and some default initialization/output handling)
...
in preparation for x86-64 support.
svn path=/trunk/yasm/; revision=760
22 years ago
Peter Johnson
a49ffae2d7
Fix segreg mov instructions.
...
svn path=/trunk/yasm/; revision=759
22 years ago
Peter Johnson
6e3ed262f6
Add extended error/warning handling (just functionality, it's not actually
...
used yet).
svn path=/trunk/yasm/; revision=758
22 years ago
Peter Johnson
247701c0f4
Add test for just-committed changes to x86id.re (proper catchalls).
...
svn path=/trunk/yasm/; revision=757
22 years ago
Peter Johnson
c040fcfd6e
Comment out "marker"s, as in these cases re2c doesn't use them.
...
svn path=/trunk/yasm/; revision=756
22 years ago
Peter Johnson
88471b0611
bitvect_test doesn't need any sources besides itself and check.
...
svn path=/trunk/yasm/; revision=755
22 years ago
Peter Johnson
03705fd656
Fix catchalls so they really do catch everything else.
...
svn path=/trunk/yasm/; revision=754
22 years ago
Peter Johnson
d5600e7d20
Unbreak bin output (label resolution, Bug#6). Also fix alignment bug.
...
svn path=/trunk/yasm/; revision=753
22 years ago
Peter Johnson
4561686fda
Comment spacing fix.
...
svn path=/trunk/yasm/; revision=752
22 years ago
Peter Johnson
920f11a0e5
Add the ability to add an additional transformation function into the execution
...
flow of expr_level_tree(). Feature needed for objfmts/bin upcoming fixes.
svn path=/trunk/yasm/; revision=751
22 years ago
Peter Johnson
79cbfd8a17
Integrate BitVector version 6.3 changes.
...
svn path=/trunk/yasm/; revision=750
22 years ago
Peter Johnson
494ed1738d
Make output endian-tolerant by making intnum and floatnum output functions for
...
arch. This will also simplify other objfmt expr output functions. Change
file functions to use bits instead of byte/short/long, and create both little
and big endian versions. This name change caused changes in several other
files.
svn path=/trunk/yasm/; revision=747
22 years ago
Peter Johnson
d1f5de8d45
Run sed on the re2c output to update the newly added #line output.
...
svn path=/trunk/yasm/; revision=746
22 years ago
Peter Johnson
19d22bdbb3
Output something a little more unique than just - for the output file #line's.
...
svn path=/trunk/yasm/; revision=745
22 years ago
Peter Johnson
db4c347e32
Generate #line in the output in a useful way. Now it's much more usable for
...
debugging, code coverage, etc. (with a little post-processing sed help).
svn path=/trunk/yasm/; revision=744
22 years ago
Peter Johnson
9fc0fb05fc
Replace #line .. "lex.yy.c" with #line .. "output.c".
...
svn path=/trunk/yasm/; revision=743
22 years ago
Peter Johnson
6107f66e13
Import ylwrap from automake-1.5, as we're going to make some custom changes
...
to it.
svn path=/trunk/yasm/; revision=742
22 years ago
Peter Johnson
878444421b
Use _CFLAGS to eliminate extra CFLAGS (esp. gcov ones) from hitting on the
...
tests.
svn path=/trunk/yasm/; revision=741
22 years ago
Peter Johnson
cefe5613c8
Include src/compat-queue.h as an EXTRA_yasm_SOURCES instead of just EXTRA_DIST.
...
svn path=/trunk/yasm/; revision=740
22 years ago
Peter Johnson
c998053da9
Undo part of the tools/re2c flattening. Specifying a re2c_CFLAGS causes
...
automake to automatically prepend re2c- to all generated object files,
eliminating the main.o conflict. Also, it prevents extended compilation flags
from applying to the re2c build.
In Makefile.am, also allow automake to automatically include the autoconf
conditionally-included files strsep and mergesort.
svn path=/trunk/yasm/; revision=739
22 years ago
Peter Johnson
2c32c95d8f
Add gcov-related files.
...
svn path=/trunk/yasm/; revision=738
22 years ago
Peter Johnson
780d604eb6
Add an option to enable gcov code coverage compiler flags.
...
svn path=/trunk/yasm/; revision=737
22 years ago
Peter Johnson
e4988ea961
Make test scripts more portable by detecting echo line-ending features, using
...
fewer options for sed, and using a perl script for hexdump. As a side effect,
hexdumps are more accurate (the hexdump util put * for as many multiples as
were output, whereas the perl script outputs a line for every byte, no matter
what).
svn path=/trunk/yasm/; revision=736
22 years ago
Peter Johnson
d6dd56e1eb
Add parsers/nasm automated tests.
...
svn path=/trunk/yasm/; revision=735
22 years ago
Peter Johnson
2368686527
Add automated arch/x86 tests. Some were moved from tests/nasm, others are new.
...
svn path=/trunk/yasm/; revision=734
22 years ago
Peter Johnson
7b4d90d981
Create a common out_test.sh test script to be used by a variety of tests.
...
Rename objfmts/bin/tests/*.bin.hx to *.hex to fit better in the common usage.
svn path=/trunk/yasm/; revision=733
22 years ago
Peter Johnson
015f373d32
x86_bc_resolve_insn(): If x86_expr_checkea fails, return not only
...
BC_RESOLVE_UNKNOWN_LEN but also BC_RESOLVE_ERROR so that a spurious circular
reference detected is not output from the basic optimizer.
svn path=/trunk/yasm/; revision=732
22 years ago
Peter Johnson
2252b6215b
Increase strictness of EA part of lds family (e.g. so no size specifier is
...
legal).
svn path=/trunk/yasm/; revision=731
22 years ago
Peter Johnson
49796c2b11
Fix a major bug: after switching sections, prev_bc was always being set to
...
NULL, causing any labels at that point to point to the start of the section
instead of the current position!
svn path=/trunk/yasm/; revision=730
22 years ago
Peter Johnson
e4411d414d
Make bcs_last() a fully visible function rather than a bc-int macro.
...
svn path=/trunk/yasm/; revision=729
22 years ago
Peter Johnson
de3fb86f35
expr_level_op(): Pull up IDENT-EXPR as well as EXPR-IDENT subtrees.
...
expr_level_tree(): Call recursively after calling expr_xform_bc_dist instead
of just calling expr_level_op, which wasn't simplifying the whole tree
properly.
svn path=/trunk/yasm/; revision=728
22 years ago
Peter Johnson
3466293ed7
bc_tobytes(): Check for multiple of 0 and return with bufsize of 0.
...
svn path=/trunk/yasm/; revision=727
22 years ago
Peter Johnson
79326b3d29
EQU's should not affect local label mechanism.
...
svn path=/trunk/yasm/; revision=726
22 years ago
Peter Johnson
46c26f12a7
Fix incorrect invalidation of [eax+ebx+ecx-eax] and others like it.
...
svn path=/trunk/yasm/; revision=725
22 years ago
Peter Johnson
b3e9ae6254
Don't fully simplify effective addresses before trying to determine their
...
registers.
svn path=/trunk/yasm/; revision=724
22 years ago
Peter Johnson
6591a155d0
Check for circular equ references (Bug#8).
...
svn path=/trunk/yasm/; revision=723
22 years ago
Peter Johnson
bd5d6b2f9d
Add missing files: x86id.c, src/section.c, src/arch/x86/x86arch.c.
...
svn path=/trunk/yasm/; revision=722
22 years ago