Peter Johnson
8cbf2c2312
- Greatly enhance capabilities of directives (they're actually parsed now).
...
objfmt interface changed a lot due to this.
- New variables cur_objfmt and cur_parser that define what objfmt/parser are
active. They're set in main() by searching through the list of objfmts and
parsers. This necessitated libyasm.a to be listed twice in LDADD.
svn path=/trunk/yasm/; revision=343
23 years ago
Peter Johnson
b963c38833
Change val to be a string instead of an expr.
...
svn path=/trunk/yasm/; revision=342
23 years ago
Peter Johnson
ac65ee8770
Better LCLint settings for x86_bc_insn_get_ea().
...
svn path=/trunk/yasm/; revision=341
23 years ago
Peter Johnson
5cd0858637
Add valparam data structure.
...
svn path=/trunk/yasm/; revision=340
23 years ago
Peter Johnson
c7e3ad29e9
Don't set nasm_parser_debug (as we'll soon not define YYDEBUG in bison.y.in).
...
svn path=/trunk/yasm/; revision=339
23 years ago
Peter Johnson
29f7d9a917
New function: expr_get_symrec().
...
svn path=/trunk/yasm/; revision=338
23 years ago
Peter Johnson
d6d0cb8785
Add symrec_delete() for deleting non-table symbols. Use it from expr_delete().
...
Also allow the sect for labels to be NULL (special case for new directive
handling code).
svn path=/trunk/yasm/; revision=337
23 years ago
Peter Johnson
dd9ad840fe
Decided to go ahead and commit these little NASM-syntax test files I've been
...
using for testing various things during development. Many don't even actually
assemble, as they're testing error conditions. These all need to be integrated
into a test suite at some point to be truly useful.
svn path=/trunk/yasm/; revision=336
23 years ago
Peter Johnson
8178f883a5
Modify so that almost everything passes LCLint with the options in lclint.sh.
...
This is actually worthwhile; I found and fixed a few bugs/edge cases while
doing this.
For more information on LCLint, see <http://lclint.cs.virginia.edu/ >.
svn path=/trunk/yasm/; revision=335
23 years ago
Peter Johnson
fc603c2900
Add RCSID().
...
svn path=/trunk/yasm/; revision=334
23 years ago
Peter Johnson
15c08c6969
Clean up to pass lclint.
...
svn path=/trunk/yasm/; revision=333
23 years ago
Peter Johnson
424c30fdaa
Allow symrec_foreach return value to be ignored (in lclint).
...
svn path=/trunk/yasm/; revision=332
23 years ago
Peter Johnson
4df0191de8
lclint-ize gettext().
...
svn path=/trunk/yasm/; revision=331
23 years ago
Peter Johnson
9f97bcd9d0
Fix some nits found by lclint. Still something weird going on with list2 in
...
mergesort(), according to lclint, but I haven't figured out if it's real or
not.
svn path=/trunk/yasm/; revision=330
23 years ago
Peter Johnson
21eb7c7fe2
Add some lclint annotations.
...
svn path=/trunk/yasm/; revision=329
23 years ago
Peter Johnson
d7fe402fb9
Split away x86-specific parts of expression handling (eg, effective address ->
...
ModRM+SIB).
svn path=/trunk/yasm/; revision=328
23 years ago
Peter Johnson
a2bc46cb54
Fix file comment.
...
svn path=/trunk/yasm/; revision=327
23 years ago
Peter Johnson
7463b74d8f
Update to match tree changes.
...
svn path=/trunk/yasm/; revision=326
23 years ago
Peter Johnson
8aae1337e7
Update to match tree changes.
...
svn path=/trunk/yasm/; revision=325
23 years ago
Peter Johnson
6c53c9525c
Maintain 'latest' symlink.
...
svn path=/trunk/yasm/; revision=324
23 years ago
Peter Johnson
d00bfd8443
Add nightly build script.
...
svn path=/trunk/yasm/; revision=323
23 years ago
Peter Johnson
418bece971
Bring in depcomp from Automake 1.5.
...
svn path=/trunk/yasm/; revision=322
23 years ago
Peter Johnson
50a79210b0
Run with -a so that any missing files get added instead of just failing.
...
svn path=/trunk/yasm/; revision=321
23 years ago
Peter Johnson
c438c62948
Fix AC_REPLACE_FUNCS handling for tests as well as src/ by putting LIBOBJS
...
into libyasm.a instead of just for the yasm target.
svn path=/trunk/yasm/; revision=320
23 years ago
Peter Johnson
25e52594c4
Hopefully fix problem with including replacement functions.
...
svn path=/trunk/yasm/; revision=319
23 years ago
Peter Johnson
c88fae3f49
Add mergesort.c and strsep.c to EXTRA_DIST.
...
svn path=/trunk/yasm/; revision=318
23 years ago
Peter Johnson
cb34adf93e
Add autogen script to make building straight from CVS easier.
...
svn path=/trunk/yasm/; revision=317
23 years ago
Peter Johnson
f58d7cb093
Split x86-specific stuff away from bytecode.
...
svn path=/trunk/yasm/; revision=316
23 years ago
Peter Johnson
65810babc4
Change PERL line to reflect instrs.dat move.
...
svn path=/trunk/yasm/; revision=315
23 years ago
Peter Johnson
c9d92847b6
Start framework for separating architecture-dependent functions and data
...
structures from the rest of the assembler. We're not trying to write GAS
here (yet :), but doing this will make large parts of the codebase a lot
clearer.
svn path=/trunk/yasm/; revision=314
23 years ago
Peter Johnson
a7ac50c918
Add coretype.h, make util.h do a lot more, use util.h to simplify include
...
sections of C files. Also remove IdPath from top comment in files where
RCSID() is used. Move RCSID() to immediately after util.h include.
svn path=/trunk/yasm/; revision=313
23 years ago
Peter Johnson
405df52913
bytecode_print(): Change how NULL values are output for imm and multiple.
...
bytecode_parser_finalize_insn(): Add some preliminary imm handling. Handle
shift_op special-casing (,1 hack).
svn path=/trunk/yasm/; revision=312
23 years ago
Peter Johnson
665eddf5d7
Conditional x* prototypes on !DMALLOC (as they're defined by dmalloc.h if
...
DMALLOC is enabled).
svn path=/trunk/yasm/; revision=311
23 years ago
Peter Johnson
79e945c33c
Optimize expression building a bit in expr_new() by eliminating IDENT's here.
...
This saves a lot of extra unnecessary recursions when the expr gets to the
simplification stage.
svn path=/trunk/yasm/; revision=310
23 years ago
Peter Johnson
ad7cbcea04
Add memory expressions tests (checkea).
...
Split off errwarn functions so that they can be overridden in test cases.
svn path=/trunk/yasm/; revision=309
23 years ago
Peter Johnson
00788fa80c
Fix errors found in expr_level_op() and checkea_calc_displen() by new test
...
cases.
svn path=/trunk/yasm/; revision=308
23 years ago
Peter Johnson
1d26b1de84
Fix directive memory leaks in a different way; the old way broke name/val
...
splitting.
svn path=/trunk/yasm/; revision=307
23 years ago
Peter Johnson
94730125be
Missed a free->xfree conversion.
...
svn path=/trunk/yasm/; revision=306
23 years ago
Peter Johnson
df933810ea
Previous commit broke ANSI C header checking (BAD). Fixed, by changing how
...
optional things are checked.
svn path=/trunk/yasm/; revision=305
23 years ago
Peter Johnson
50ff757dae
Update with changes made to source tree and configure options.
...
svn path=/trunk/yasm/; revision=304
23 years ago
Peter Johnson
10fa8fadc1
Correctly process 32-bit memory expressions in expr_checkea().
...
svn path=/trunk/yasm/; revision=303
23 years ago
Peter Johnson
305b471f51
On xfree(NULL), just return instead of triggering InternalError().
...
svn path=/trunk/yasm/; revision=302
23 years ago
Peter Johnson
4d95de5161
Plug memory leaks, and enhance finding later ones with *_delete functions.
...
Fix a *major* bug in expr_level_op().
svn path=/trunk/yasm/; revision=301
23 years ago
Peter Johnson
dc1c3c70f5
Get rid of all the extra filename strdup()'s. (Bug #14 ).
...
svn path=/trunk/yasm/; revision=300
23 years ago
Peter Johnson
7a6eaf8c03
Make InternalError() a bit easier to call. Also, reverse its file and line
...
parameters to match the *At() functions.
svn path=/trunk/yasm/; revision=299
23 years ago
Peter Johnson
6f708e3034
Add xfree() to replace calls to free().
...
This also fixes the build breakage caused by removing stdlib includes.
svn path=/trunk/yasm/; revision=298
23 years ago
Peter Johnson
adf5a95e89
Add option for malloc debugging using dmalloc library ( http://dmalloc.com/ ).
...
Remove unnecessary stdlib includes (because we use xmalloc instead of malloc).
svn path=/trunk/yasm/; revision=297
23 years ago
Peter Johnson
21c598f9f8
Put in temporary implementations of ErrorAt() and WarningAt().
...
svn path=/trunk/yasm/; revision=296
23 years ago
Peter Johnson
e7bab50cf2
Parse NOSPLIT.
...
Move some work to subfunctions in expr so they can be used for both 16-bit
and 32-bit checking.
svn path=/trunk/yasm/; revision=295
23 years ago
Peter Johnson
121f93b0a0
*COMPLETELY* rewrite most of expression handling.
...
Features:
- More complex memory expressions like [bx-(bx-di)] are now calculated through
as valid.
- Much better simplification.
Internal changes:
- More flexible n-way tree (rather than old binary-only).
- Many new functions to simplify and deal with very complex expressions.
svn path=/trunk/yasm/; revision=294
23 years ago