]> granicus.if.org Git - yasm/log
yasm
23 years agoMassive build system change: single Makefile instead of recursive.
Peter Johnson [Wed, 26 Dec 2001 07:14:06 +0000 (07:14 -0000)]
Massive build system change: single Makefile instead of recursive.
Note: still is automake-generated, but uses .inc files in the various
subdirectories instead of .am files.
TODO: Move arch-specific components of bytecode_test and memexpr_test to
arch/x86.

svn path=/trunk/yasm/; revision=395

23 years agoMassive build system change: single Makefile instead of recursive.
Peter Johnson [Wed, 26 Dec 2001 07:14:05 +0000 (07:14 -0000)]
Massive build system change: single Makefile instead of recursive.
Note: still is automake-generated, but uses .inc files in the various
subdirectories instead of .am files.
TODO: Move arch-specific components of bytecode_test and memexpr_test to
arch/x86.

svn path=/trunk/yasm/; revision=394

23 years agoFix build problem on Linux with toascii() define.
Peter Johnson [Mon, 24 Dec 2001 18:01:12 +0000 (18:01 -0000)]
Fix build problem on Linux with toascii() define.

svn path=/trunk/yasm/; revision=393

23 years agoRemove quoting from AC_CONFIG_AUX_DIR and AM_CONFIG_HEADER.
Peter Johnson [Mon, 24 Dec 2001 17:55:21 +0000 (17:55 -0000)]
Remove quoting from AC_CONFIG_AUX_DIR and AM_CONFIG_HEADER.

svn path=/trunk/yasm/; revision=392

23 years agoRemove quoting from AC_CONFIG_AUX_DIR and AM_CONFIG_HEADER.
Peter Johnson [Mon, 24 Dec 2001 17:55:21 +0000 (17:55 -0000)]
Remove quoting from AC_CONFIG_AUX_DIR and AM_CONFIG_HEADER.

svn path=/trunk/yasm/; revision=391

23 years agoAdd autoconf 2.50-based configure.ac. Keep configure.in around for 2.13
Peter Johnson [Mon, 24 Dec 2001 17:51:43 +0000 (17:51 -0000)]
Add autoconf 2.50-based configure.ac.  Keep configure.in around for 2.13
compatibility, but bring up to date with new organization of configure.ac.
Remove CHECK_FLAGS.  Someday, remove autoconf 2.13-based files.

svn path=/trunk/yasm/; revision=390

23 years agoAdd autoconf 2.50-based configure.ac. Keep configure.in around for 2.13
Peter Johnson [Mon, 24 Dec 2001 17:51:43 +0000 (17:51 -0000)]
Add autoconf 2.50-based configure.ac.  Keep configure.in around for 2.13
compatibility, but bring up to date with new organization of configure.ac.
Remove CHECK_FLAGS.  Someday, remove autoconf 2.13-based files.

svn path=/trunk/yasm/; revision=389

23 years agoStart work on optimizer module. Moved all "post-parser-finalization" code
Peter Johnson [Fri, 7 Dec 2001 03:32:05 +0000 (03:32 -0000)]
Start work on optimizer module.  Moved all "post-parser-finalization" code
into the optimizer stage, where it belongs.  Naming has changed, but most
implementations have not been brought up to date to do what they say they
do.

svn path=/trunk/yasm/; revision=388

23 years agoLCLint-related comment fixes.
Peter Johnson [Mon, 3 Dec 2001 07:37:33 +0000 (07:37 -0000)]
LCLint-related comment fixes.

svn path=/trunk/yasm/; revision=387

23 years agoAdd support for incbin pseudo-instruction.
Peter Johnson [Mon, 3 Dec 2001 07:33:48 +0000 (07:33 -0000)]
Add support for incbin pseudo-instruction.

svn path=/trunk/yasm/; revision=386

23 years agoMove assert.h include to util.h
Peter Johnson [Mon, 3 Dec 2001 03:05:51 +0000 (03:05 -0000)]
Move assert.h include to util.h
In util.h, define NDEBUG if not running lint.

svn path=/trunk/yasm/; revision=385

23 years agoAdd opt_flags (space for use by the optimizer).
Peter Johnson [Mon, 3 Dec 2001 02:52:44 +0000 (02:52 -0000)]
Add opt_flags (space for use by the optimizer).

svn path=/trunk/yasm/; revision=384

23 years agoPlug memory leak in floatnum_new().
Peter Johnson [Mon, 3 Dec 2001 00:55:00 +0000 (00:55 -0000)]
Plug memory leak in floatnum_new().

svn path=/trunk/yasm/; revision=383

23 years agostrcmp() returns 0 if the strings are equal.
Peter Johnson [Sun, 2 Dec 2001 23:23:12 +0000 (23:23 -0000)]
strcmp() returns 0 if the strings are equal.

svn path=/trunk/yasm/; revision=382

23 years agoMake extension-replacement a utility function in file.c (as it will need to
Peter Johnson [Sun, 2 Dec 2001 23:15:30 +0000 (23:15 -0000)]
Make extension-replacement a utility function in file.c (as it will need to
be performed for the list file, etc, as well as the object file).

svn path=/trunk/yasm/; revision=381

23 years agoFix a few LCLint errors.
Peter Johnson [Sun, 2 Dec 2001 22:39:06 +0000 (22:39 -0000)]
Fix a few LCLint errors.

svn path=/trunk/yasm/; revision=380

23 years agoReplace extension on output format rather than just always appending.
Peter Johnson [Sun, 2 Dec 2001 22:33:20 +0000 (22:33 -0000)]
Replace extension on output format rather than just always appending.

svn path=/trunk/yasm/; revision=379

23 years agoGenerate smaller code where possible (eg, when op_len=1, it's not necessary to
Peter Johnson [Sun, 2 Dec 2001 21:52:36 +0000 (21:52 -0000)]
Generate smaller code where possible (eg, when op_len=1, it's not necessary to
set op[1] and op[2]).

svn path=/trunk/yasm/; revision=378

23 years agoAllow overrides (a32/a16/rep/etc) to appear on their own line. The way this
Peter Johnson [Sun, 2 Dec 2001 21:18:04 +0000 (21:18 -0000)]
Allow overrides (a32/a16/rep/etc) to appear on their own line.  The way this
is done in the grammer causes 1 shift/reduce and 1 reduce/reduce conflict, but
yacc's default resolution gives correct results, and as the generated grammer
is smaller this way than specifically handling each prefix, we do it this way.

svn path=/trunk/yasm/; revision=377

23 years agoAdd support for NASM's %line.
Peter Johnson [Sun, 2 Dec 2001 20:12:04 +0000 (20:12 -0000)]
Add support for NASM's %line.

svn path=/trunk/yasm/; revision=376

23 years agoUse stdout as the default output file if stdin is the input.
Peter Johnson [Sun, 2 Dec 2001 20:11:33 +0000 (20:11 -0000)]
Use stdout as the default output file if stdin is the input.

svn path=/trunk/yasm/; revision=375

23 years agoRemove definition of line_number; it was overriding the global variable.
Peter Johnson [Sun, 2 Dec 2001 07:47:05 +0000 (07:47 -0000)]
Remove definition of line_number; it was overriding the global variable.

svn path=/trunk/yasm/; revision=374

23 years agoFix typo in HAVE_STRCMPI strncasecmp() #define.
Peter Johnson [Sun, 2 Dec 2001 06:42:39 +0000 (06:42 -0000)]
Fix typo in HAVE_STRCMPI strncasecmp() #define.

svn path=/trunk/yasm/; revision=373

23 years agoDo intl more correctly. nointl/libintl.h is unnecessary; it can be detected
Peter Johnson [Sun, 2 Dec 2001 06:40:17 +0000 (06:40 -0000)]
Do intl more correctly.  nointl/libintl.h is unnecessary; it can be detected
in util.h by the ENABLE_NLS define.  Fix Mkfiles to reflect.  Actually enable
if available in main().

svn path=/trunk/yasm/; revision=372

23 years agoOptimize if dev is not enabled. Don't use DEVFLAGS for non-gcc compiler.
Peter Johnson [Sun, 2 Dec 2001 04:37:55 +0000 (04:37 -0000)]
Optimize if dev is not enabled.  Don't use DEVFLAGS for non-gcc compiler.

svn path=/trunk/yasm/; revision=371

23 years ago(Mostly) Clean up floatnum internal allocations.
Peter Johnson [Sat, 1 Dec 2001 19:19:56 +0000 (19:19 -0000)]
(Mostly) Clean up floatnum internal allocations.

svn path=/trunk/yasm/; revision=370

23 years agoFix so "0h" works.
Peter Johnson [Sat, 1 Dec 2001 09:20:49 +0000 (09:20 -0000)]
Fix so "0h" works.

svn path=/trunk/yasm/; revision=369

23 years agoChange REG_SOMEREG -> reg_somereg and add rules that allow BYTE/WORD/DWORD
Peter Johnson [Sat, 1 Dec 2001 09:16:27 +0000 (09:16 -0000)]
Change REG_SOMEREG -> reg_somereg and add rules that allow BYTE/WORD/DWORD
prefixes on such registers.  Also fix bugs related to existing rules which
allowed those prefixes.

svn path=/trunk/yasm/; revision=368

23 years agoDon't free EA when simplifying shift_op case. Not only is this code completely
Peter Johnson [Sat, 1 Dec 2001 06:15:58 +0000 (06:15 -0000)]
Don't free EA when simplifying shift_op case.  Not only is this code completely
wrong (the ModRM byte definitely must be kept), but it had a memory leak too
(it just freed the ea without calling expr_delete())!

svn path=/trunk/yasm/; revision=367

23 years agoFix bug with ONE generation (overwrote both [0] and [1] indexes with opcode
Peter Johnson [Sat, 1 Dec 2001 06:10:19 +0000 (06:10 -0000)]
Fix bug with ONE generation (overwrote both [0] and [1] indexes with opcode
for ONE version).

svn path=/trunk/yasm/; revision=366

23 years agoChange dbg optimizer to basic.
Peter Johnson [Sat, 1 Dec 2001 05:47:12 +0000 (05:47 -0000)]
Change dbg optimizer to basic.

svn path=/trunk/yasm/; revision=365

23 years agoDelete dbg optimizer (won't be useful) and add "basic" (equiv. to NASM 2-pass)
Peter Johnson [Sat, 1 Dec 2001 03:07:23 +0000 (03:07 -0000)]
Delete dbg optimizer (won't be useful) and add "basic" (equiv. to NASM 2-pass)
optimizer.

svn path=/trunk/yasm/; revision=364

23 years agoSwitch from using ternary tree to Hash Array Mapped Trie (HAMT), which has
Peter Johnson [Mon, 26 Nov 2001 17:37:09 +0000 (17:37 -0000)]
Switch from using ternary tree to Hash Array Mapped Trie (HAMT), which has
*much* less overhead.
XXX: current implementation of HAMT is *not* portable due to pointer alignment
restrictions (it uses the LSB of a pointer to store a flag).  Need to write a
portable (if not so space-efficient) equivalent.

svn path=/trunk/yasm/; revision=363

23 years agoGeneral tests of directives.
Peter Johnson [Wed, 21 Nov 2001 08:42:56 +0000 (08:42 -0000)]
General tests of directives.

svn path=/trunk/yasm/; revision=362

23 years agoTest the imm and imm8x forms of add.
Peter Johnson [Wed, 21 Nov 2001 08:42:41 +0000 (08:42 -0000)]
Test the imm and imm8x forms of add.

svn path=/trunk/yasm/; revision=361

23 years agoAdd two larger NASM-preprocessed files from UIUC ECE 291's PModeLib as more
Peter Johnson [Wed, 21 Nov 2001 08:41:53 +0000 (08:41 -0000)]
Add two larger NASM-preprocessed files from UIUC ECE 291's PModeLib as more
typical assembly files.

svn path=/trunk/yasm/; revision=360

23 years agoTest global/common sharing in addition to extern.
Peter Johnson [Wed, 21 Nov 2001 08:40:15 +0000 (08:40 -0000)]
Test global/common sharing in addition to extern.

svn path=/trunk/yasm/; revision=359

23 years agoHow does NASM's bin format handle sections?
Peter Johnson [Wed, 21 Nov 2001 08:39:35 +0000 (08:39 -0000)]
How does NASM's bin format handle sections?

svn path=/trunk/yasm/; revision=358

23 years agoMassive cleanup of debugging output (via _print() functions). All now take
Peter Johnson [Wed, 21 Nov 2001 08:25:09 +0000 (08:25 -0000)]
Massive cleanup of debugging output (via _print() functions).  All now take
FILE *'s to print to somewhere other than stdout, and the formatting is
improved through the use of a global indent_level.

Changes to main() include the ability to specify an output file.

svn path=/trunk/yasm/; revision=357

23 years agoPolish up most directive support. This necessitated adding objfmt-specific
Peter Johnson [Wed, 21 Nov 2001 03:17:43 +0000 (03:17 -0000)]
Polish up most directive support.  This necessitated adding objfmt-specific
data pointers to symrec for extern/common/etc.  Also fixed parsing of direxpr;
it didn't allow exprs with ID's before.

svn path=/trunk/yasm/; revision=356

23 years agoAdd vps_next().
Peter Johnson [Wed, 21 Nov 2001 03:15:42 +0000 (03:15 -0000)]
Add vps_next().

svn path=/trunk/yasm/; revision=355

23 years agoAllow multiple EXTERN's of same variable without error (NASM's behavior).
Peter Johnson [Tue, 20 Nov 2001 23:30:19 +0000 (23:30 -0000)]
Allow multiple EXTERN's of same variable without error (NASM's behavior).

svn path=/trunk/yasm/; revision=354

23 years agoDon't do REG_E?AX combining with reg8/reg8x instructions, to allow things like
Peter Johnson [Tue, 20 Nov 2001 21:02:17 +0000 (21:02 -0000)]
Don't do REG_E?AX combining with reg8/reg8x instructions, to allow things like
"ADD AX, byte 8" to generate the same code as NASM does (OT: this doesn't save
any space because the reg8x form needs a ModRM, but if it's what the user
wants, do it).

svn path=/trunk/yasm/; revision=353

23 years agoPlug memory leak in dvs_delete().
Peter Johnson [Mon, 19 Nov 2001 07:43:26 +0000 (07:43 -0000)]
Plug memory leak in dvs_delete().

svn path=/trunk/yasm/; revision=352

23 years agoPrint "undefined symbol" message for all undefined symbols. Also make a little
Peter Johnson [Mon, 19 Nov 2001 06:47:14 +0000 (06:47 -0000)]
Print "undefined symbol" message for all undefined symbols.  Also make a little
nicer output by only outputting the "reported only once" informational message
once, for the first (line-wise) error.
Note: this isn't foolproof, as different files have different line countings...
need a monotonically increasing "line" counter to fix this.  This is a problem
in more areas than just here, though.

svn path=/trunk/yasm/; revision=351

23 years agoBugfix in expr_copy_except(): could allocate less than 2 terms of space (eg,
Peter Johnson [Mon, 19 Nov 2001 06:31:41 +0000 (06:31 -0000)]
Bugfix in expr_copy_except(): could allocate less than 2 terms of space (eg,
actually smaller than the structure).

svn path=/trunk/yasm/; revision=350

23 years agoDon't print out *all* bytecodes in the label's section for every label!
Peter Johnson [Mon, 19 Nov 2001 05:48:54 +0000 (05:48 -0000)]
Don't print out *all* bytecodes in the label's section for every label!

svn path=/trunk/yasm/; revision=349

23 years agoIn bytecode_print(), fix checks for short/near opcode printouts.
Peter Johnson [Mon, 19 Nov 2001 05:48:04 +0000 (05:48 -0000)]
In bytecode_print(), fix checks for short/near opcode printouts.

svn path=/trunk/yasm/; revision=348

23 years agoFix hexidecimal number handling. It was only allowing numbers starting with 0.
Peter Johnson [Mon, 19 Nov 2001 05:23:00 +0000 (05:23 -0000)]
Fix hexidecimal number handling.  It was only allowing numbers starting with 0.

svn path=/trunk/yasm/; revision=347

23 years agoRevert previous changes (which turned on -v), it was accidentally committed.
Peter Johnson [Mon, 19 Nov 2001 05:00:50 +0000 (05:00 -0000)]
Revert previous changes (which turned on -v), it was accidentally committed.

svn path=/trunk/yasm/; revision=346

23 years agoDon't try to redefine a label for an already existing segment. Thus, add a
Peter Johnson [Mon, 19 Nov 2001 04:25:44 +0000 (04:25 -0000)]
Don't try to redefine a label for an already existing segment.  Thus, add a
return flag from sections_switch_general() to indicate if the segment is new,
which is checked in objfmt_sections_switch().

svn path=/trunk/yasm/; revision=345

23 years agoFix a memory re-free issue in nasm_parser_directive(). vp->param was passed
Peter Johnson [Mon, 19 Nov 2001 04:15:22 +0000 (04:15 -0000)]
Fix a memory re-free issue in nasm_parser_directive().  vp->param was passed
to a function that keeps the pointer, and then the pointer is freed.  Whoops!

svn path=/trunk/yasm/; revision=344

23 years ago- Greatly enhance capabilities of directives (they're actually parsed now).
Peter Johnson [Mon, 19 Nov 2001 03:27:56 +0000 (03:27 -0000)]
- 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 agoChange val to be a string instead of an expr.
Peter Johnson [Mon, 19 Nov 2001 03:24:40 +0000 (03:24 -0000)]
Change val to be a string instead of an expr.

svn path=/trunk/yasm/; revision=342

23 years agoBetter LCLint settings for x86_bc_insn_get_ea().
Peter Johnson [Mon, 19 Nov 2001 03:23:45 +0000 (03:23 -0000)]
Better LCLint settings for x86_bc_insn_get_ea().

svn path=/trunk/yasm/; revision=341

23 years agoAdd valparam data structure.
Peter Johnson [Sun, 18 Nov 2001 18:44:26 +0000 (18:44 -0000)]
Add valparam data structure.

svn path=/trunk/yasm/; revision=340

23 years agoDon't set nasm_parser_debug (as we'll soon not define YYDEBUG in bison.y.in).
Peter Johnson [Sun, 18 Nov 2001 15:53:20 +0000 (15:53 -0000)]
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 agoNew function: expr_get_symrec().
Peter Johnson [Sun, 18 Nov 2001 15:51:47 +0000 (15:51 -0000)]
New function: expr_get_symrec().

svn path=/trunk/yasm/; revision=338

23 years agoAdd symrec_delete() for deleting non-table symbols. Use it from expr_delete().
Peter Johnson [Sun, 18 Nov 2001 07:06:05 +0000 (07:06 -0000)]
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 agoDecided to go ahead and commit these little NASM-syntax test files I've been
Peter Johnson [Sat, 17 Nov 2001 08:39:14 +0000 (08:39 -0000)]
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 agoModify so that almost everything passes LCLint with the options in lclint.sh.
Peter Johnson [Sat, 17 Nov 2001 08:33:23 +0000 (08:33 -0000)]
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 agoAdd RCSID().
Peter Johnson [Fri, 16 Nov 2001 22:58:43 +0000 (22:58 -0000)]
Add RCSID().

svn path=/trunk/yasm/; revision=334

23 years agoClean up to pass lclint.
Peter Johnson [Fri, 16 Nov 2001 22:56:33 +0000 (22:56 -0000)]
Clean up to pass lclint.

svn path=/trunk/yasm/; revision=333

23 years agoAllow symrec_foreach return value to be ignored (in lclint).
Peter Johnson [Fri, 16 Nov 2001 22:56:09 +0000 (22:56 -0000)]
Allow symrec_foreach return value to be ignored (in lclint).

svn path=/trunk/yasm/; revision=332

23 years agolclint-ize gettext().
Peter Johnson [Fri, 16 Nov 2001 22:55:26 +0000 (22:55 -0000)]
lclint-ize gettext().

svn path=/trunk/yasm/; revision=331

23 years agoFix some nits found by lclint. Still something weird going on with list2 in
Peter Johnson [Fri, 16 Nov 2001 22:05:24 +0000 (22:05 -0000)]
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 agoAdd some lclint annotations.
Peter Johnson [Fri, 16 Nov 2001 22:04:31 +0000 (22:04 -0000)]
Add some lclint annotations.

svn path=/trunk/yasm/; revision=329

23 years agoSplit away x86-specific parts of expression handling (eg, effective address ->
Peter Johnson [Thu, 15 Nov 2001 23:44:41 +0000 (23:44 -0000)]
Split away x86-specific parts of expression handling (eg, effective address ->
ModRM+SIB).

svn path=/trunk/yasm/; revision=328

23 years agoFix file comment.
Peter Johnson [Tue, 13 Nov 2001 23:02:54 +0000 (23:02 -0000)]
Fix file comment.

svn path=/trunk/yasm/; revision=327

23 years agoUpdate to match tree changes.
Peter Johnson [Thu, 8 Nov 2001 19:53:21 +0000 (19:53 -0000)]
Update to match tree changes.

svn path=/trunk/yasm/; revision=326

23 years agoUpdate to match tree changes.
Peter Johnson [Wed, 7 Nov 2001 21:50:33 +0000 (21:50 -0000)]
Update to match tree changes.

svn path=/trunk/yasm/; revision=325

23 years agoMaintain 'latest' symlink.
Peter Johnson [Mon, 5 Nov 2001 15:50:48 +0000 (15:50 -0000)]
Maintain 'latest' symlink.

svn path=/trunk/yasm/; revision=324

23 years agoAdd nightly build script.
Peter Johnson [Mon, 5 Nov 2001 09:14:19 +0000 (09:14 -0000)]
Add nightly build script.

svn path=/trunk/yasm/; revision=323

23 years agoBring in depcomp from Automake 1.5.
Peter Johnson [Mon, 5 Nov 2001 08:20:39 +0000 (08:20 -0000)]
Bring in depcomp from Automake 1.5.

svn path=/trunk/yasm/; revision=322

23 years agoRun with -a so that any missing files get added instead of just failing.
Peter Johnson [Mon, 5 Nov 2001 08:18:52 +0000 (08:18 -0000)]
Run with -a so that any missing files get added instead of just failing.

svn path=/trunk/yasm/; revision=321

23 years agoFix AC_REPLACE_FUNCS handling for tests as well as src/ by putting LIBOBJS
Peter Johnson [Mon, 5 Nov 2001 08:17:22 +0000 (08:17 -0000)]
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 agoHopefully fix problem with including replacement functions.
Peter Johnson [Mon, 5 Nov 2001 07:57:37 +0000 (07:57 -0000)]
Hopefully fix problem with including replacement functions.

svn path=/trunk/yasm/; revision=319

23 years agoAdd mergesort.c and strsep.c to EXTRA_DIST.
Peter Johnson [Mon, 5 Nov 2001 07:45:15 +0000 (07:45 -0000)]
Add mergesort.c and strsep.c to EXTRA_DIST.

svn path=/trunk/yasm/; revision=318

23 years agoAdd autogen script to make building straight from CVS easier.
Peter Johnson [Mon, 5 Nov 2001 07:22:22 +0000 (07:22 -0000)]
Add autogen script to make building straight from CVS easier.

svn path=/trunk/yasm/; revision=317

23 years agoSplit x86-specific stuff away from bytecode.
Peter Johnson [Mon, 5 Nov 2001 05:49:19 +0000 (05:49 -0000)]
Split x86-specific stuff away from bytecode.

svn path=/trunk/yasm/; revision=316

23 years agoChange PERL line to reflect instrs.dat move.
Peter Johnson [Sat, 3 Nov 2001 06:25:40 +0000 (06:25 -0000)]
Change PERL line to reflect instrs.dat move.

svn path=/trunk/yasm/; revision=315

23 years agoStart framework for separating architecture-dependent functions and data
Peter Johnson [Sat, 3 Nov 2001 06:22:55 +0000 (06:22 -0000)]
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 agoAdd coretype.h, make util.h do a lot more, use util.h to simplify include
Peter Johnson [Sat, 3 Nov 2001 05:17:51 +0000 (05:17 -0000)]
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 agobytecode_print(): Change how NULL values are output for imm and multiple.
Peter Johnson [Sat, 3 Nov 2001 04:13:42 +0000 (04:13 -0000)]
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 agoConditional x* prototypes on !DMALLOC (as they're defined by dmalloc.h if
Peter Johnson [Sat, 3 Nov 2001 04:11:22 +0000 (04:11 -0000)]
Conditional x* prototypes on !DMALLOC (as they're defined by dmalloc.h if
DMALLOC is enabled).

svn path=/trunk/yasm/; revision=311

23 years agoOptimize expression building a bit in expr_new() by eliminating IDENT's here.
Peter Johnson [Thu, 1 Nov 2001 03:51:26 +0000 (03:51 -0000)]
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 agoAdd memory expressions tests (checkea).
Peter Johnson [Thu, 1 Nov 2001 02:36:22 +0000 (02:36 -0000)]
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 agoFix errors found in expr_level_op() and checkea_calc_displen() by new test
Peter Johnson [Thu, 1 Nov 2001 02:34:54 +0000 (02:34 -0000)]
Fix errors found in expr_level_op() and checkea_calc_displen() by new test
cases.

svn path=/trunk/yasm/; revision=308

23 years agoFix directive memory leaks in a different way; the old way broke name/val
Peter Johnson [Thu, 1 Nov 2001 00:24:09 +0000 (00:24 -0000)]
Fix directive memory leaks in a different way; the old way broke name/val
splitting.

svn path=/trunk/yasm/; revision=307

23 years agoMissed a free->xfree conversion.
Peter Johnson [Wed, 31 Oct 2001 22:08:25 +0000 (22:08 -0000)]
Missed a free->xfree conversion.

svn path=/trunk/yasm/; revision=306

23 years agoPrevious commit broke ANSI C header checking (BAD). Fixed, by changing how
Peter Johnson [Wed, 31 Oct 2001 22:06:48 +0000 (22:06 -0000)]
Previous commit broke ANSI C header checking (BAD).  Fixed, by changing how
optional things are checked.

svn path=/trunk/yasm/; revision=305

23 years agoUpdate with changes made to source tree and configure options.
Peter Johnson [Tue, 30 Oct 2001 04:32:10 +0000 (04:32 -0000)]
Update with changes made to source tree and configure options.

svn path=/trunk/yasm/; revision=304

23 years agoCorrectly process 32-bit memory expressions in expr_checkea().
Peter Johnson [Mon, 29 Oct 2001 10:25:44 +0000 (10:25 -0000)]
Correctly process 32-bit memory expressions in expr_checkea().

svn path=/trunk/yasm/; revision=303

23 years agoOn xfree(NULL), just return instead of triggering InternalError().
Peter Johnson [Mon, 29 Oct 2001 06:28:51 +0000 (06:28 -0000)]
On xfree(NULL), just return instead of triggering InternalError().

svn path=/trunk/yasm/; revision=302

23 years agoPlug memory leaks, and enhance finding later ones with *_delete functions.
Peter Johnson [Mon, 29 Oct 2001 04:52:44 +0000 (04:52 -0000)]
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 agoGet rid of all the extra filename strdup()'s. (Bug #14).
Peter Johnson [Mon, 29 Oct 2001 01:10:20 +0000 (01:10 -0000)]
Get rid of all the extra filename strdup()'s.  (Bug #14).

svn path=/trunk/yasm/; revision=300

23 years agoMake InternalError() a bit easier to call. Also, reverse its file and line
Peter Johnson [Mon, 29 Oct 2001 00:21:00 +0000 (00:21 -0000)]
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 agoAdd xfree() to replace calls to free().
Peter Johnson [Mon, 29 Oct 2001 00:11:14 +0000 (00:11 -0000)]
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 agoAdd option for malloc debugging using dmalloc library (http://dmalloc.com/).
Peter Johnson [Mon, 29 Oct 2001 00:01:31 +0000 (00:01 -0000)]
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 agoPut in temporary implementations of ErrorAt() and WarningAt().
Peter Johnson [Sun, 28 Oct 2001 23:58:39 +0000 (23:58 -0000)]
Put in temporary implementations of ErrorAt() and WarningAt().

svn path=/trunk/yasm/; revision=296