]>
granicus.if.org Git - yasm/log
Peter Johnson [Sat, 10 Aug 2002 21:05:21 +0000 (21:05 -0000)]
Add a few control transfer instructions, plus set byte on flag, bit manip,
int, bound, and 286 protection control.
svn path=/trunk/yasm/; revision=678
Peter Johnson [Sat, 10 Aug 2002 18:18:59 +0000 (18:18 -0000)]
Added shift instructions, as well as new "postponed" actions for things such
as shift ,1 operands and imm operands that have sign-extended imm8 forms that
can't be decided at parse-time. The x86 bc format already had support for
these. Also fixed a bug in the lfs family (incorrect inst len).
svn path=/trunk/yasm/; revision=677
Peter Johnson [Sat, 10 Aug 2002 08:26:02 +0000 (08:26 -0000)]
Add lea, l?s, and arithmetic instructions. Arithmetic instructions needed
two additional actions: signed immediate and spare+ea.
svn path=/trunk/yasm/; revision=676
Peter Johnson [Sat, 10 Aug 2002 05:09:35 +0000 (05:09 -0000)]
Add xchg, in, out. in and out required operand type Dreg (DL/DX/EDX) to be
added.
svn path=/trunk/yasm/; revision=675
Peter Johnson [Sat, 10 Aug 2002 04:36:38 +0000 (04:36 -0000)]
Add push and pop. This required adding some new specific operand types, which
required adding to the number of bits allocated for the operand type.
svn path=/trunk/yasm/; revision=674
Peter Johnson [Sat, 10 Aug 2002 00:43:06 +0000 (00:43 -0000)]
Run through cleanup.pl to get rid of unused labels.
svn path=/trunk/yasm/; revision=673
Peter Johnson [Fri, 9 Aug 2002 07:14:52 +0000 (07:14 -0000)]
Add explicit $(top_builddir) when running re2c.
svn path=/trunk/yasm/; revision=672
Peter Johnson [Fri, 9 Aug 2002 05:45:10 +0000 (05:45 -0000)]
Add re2c files, libtool, and x86id.c.
svn path=/trunk/yasm/; revision=671
Peter Johnson [Fri, 9 Aug 2002 05:43:03 +0000 (05:43 -0000)]
Massive restructuring of lexing and parsing (NASM-compatible parser).
Bugzilla Bug#3. Not all instructions are parsed yet, so this is actually a
minor feature regression from the user side, but this commit lays the framework
for much easier additions of new assembler syntaxes and architectures. The
re2c tool is now used to generate the lexers, as it's much more flexibly
function-oriented than lex.
- nasm-bison.y is a repocopy+modify of nasm/bison.y.in.
- x86arch.h now includes all of x86-int.h
svn path=/trunk/yasm/; revision=670
Peter Johnson [Fri, 9 Aug 2002 05:26:21 +0000 (05:26 -0000)]
Neaten the line-continuation a bit.
svn path=/trunk/yasm/; revision=669
Peter Johnson [Fri, 9 Aug 2002 05:22:07 +0000 (05:22 -0000)]
Flatten the tools/re2c build.
- Moved (by repocopy) main.c to re2c.c
- Moved (by repocopy) parser.y to re2c-parser.y
- Changed to Makefile.inc's rather than Makefile.am's
- Modified all the source file local includes to point to tools/re2c/*.h
svn path=/trunk/yasm/; revision=668
Peter Johnson [Thu, 8 Aug 2002 02:50:40 +0000 (02:50 -0000)]
Accidently included a second change in the previous commit.
svn path=/trunk/yasm/; revision=666
Peter Johnson [Thu, 8 Aug 2002 02:49:40 +0000 (02:49 -0000)]
Disable loading preloaded symbols until there's actually loadable modules being
compiled.
svn path=/trunk/yasm/; revision=665
Peter Johnson [Thu, 8 Aug 2002 02:08:10 +0000 (02:08 -0000)]
Initialize and shut down libltdl.
svn path=/trunk/yasm/; revision=664
Peter Johnson [Thu, 8 Aug 2002 00:59:42 +0000 (00:59 -0000)]
Allow objfmt initialize and cleanup function pointers to be NULL when not needed.
svn path=/trunk/yasm/; revision=663
Peter Johnson [Wed, 7 Aug 2002 01:55:48 +0000 (01:55 -0000)]
Fix a few cases of freeing NULL pointers.
svn path=/trunk/yasm/; revision=662
Peter Johnson [Wed, 7 Aug 2002 01:04:34 +0000 (01:04 -0000)]
Move strndup() declaration outside !DMALLOC #ifdef, as it's not defined by
the dmalloc library.
svn path=/trunk/yasm/; revision=661
Peter Johnson [Tue, 6 Aug 2002 00:49:59 +0000 (00:49 -0000)]
fucom* are FPU instructions.
svn path=/trunk/yasm/; revision=660
Peter Johnson [Sat, 3 Aug 2002 17:01:05 +0000 (17:01 -0000)]
vps_print() should take a const valparamhead *.
svn path=/trunk/yasm/; revision=659
Peter Johnson [Sat, 3 Aug 2002 03:40:51 +0000 (03:40 -0000)]
Remove .re.c suffix rule. In GNU make, this doesn't work as intended (instead
of making all .re -> .c builds require re2c (as a suffix rule), it instead sees
it as a rule to build ".re.c"). Oddly enough, in BSD make this works perfectly.
svn path=/trunk/yasm/; revision=658
Peter Johnson [Fri, 2 Aug 2002 05:27:29 +0000 (05:27 -0000)]
This file is going away soon, but it's still good to fix errors: CLTS was
passing too many values to the twobyte group.
svn path=/trunk/yasm/; revision=657
Peter Johnson [Sat, 13 Jul 2002 18:51:26 +0000 (18:51 -0000)]
Bring in AC_PROVIDE_IFELSE changes necessary for AC_LIBTOOL_DLOPEN and like
under autoconf 2.53+.
svn path=/trunk/yasm/; revision=656
Peter Johnson [Sat, 13 Jul 2002 18:50:38 +0000 (18:50 -0000)]
- Disable libtool win32 DLL support.
- Use AC_PROG_LIBTOOL instead of AM_PROG_LIBTOOL.
- Move AC_LIB_LTDL down to libraries section.
svn path=/trunk/yasm/; revision=655
Peter Johnson [Sat, 13 Jul 2002 05:47:13 +0000 (05:47 -0000)]
Ignore libtool-generated objects and directories.
svn path=/trunk/yasm/; revision=653
Peter Johnson [Thu, 27 Jun 2002 04:59:13 +0000 (04:59 -0000)]
Declare errwarn_new(), error_common(), and warning_common() as static.
svn path=/trunk/yasm/; revision=652
Peter Johnson [Mon, 24 Jun 2002 07:30:28 +0000 (07:30 -0000)]
Add configure.lineno to CLEANFILES. It doesn't delete itself or have something
else delete it, making distcheck impossible (the build directory isn't empty
after a distclean).
svn path=/trunk/yasm/; revision=651
Peter Johnson [Sat, 22 Jun 2002 02:37:25 +0000 (02:37 -0000)]
Define lib_LTLIBRARIES to avoid automake warning.
svn path=/trunk/yasm/; revision=650
Peter Johnson [Thu, 20 Jun 2002 05:15:59 +0000 (05:15 -0000)]
Add xstrndup() to easily create a 0-terminated duplicate of a
non-zero-terminated source string.
svn path=/trunk/yasm/; revision=649
Peter Johnson [Mon, 3 Jun 2002 07:21:19 +0000 (07:21 -0000)]
Re-enable building of re2c (not lemon yet), including a generic Makefile rule.
A rewrite of the nasm-compat lexer in re2c is close to completion.
svn path=/trunk/yasm/; revision=648
Peter Johnson [Mon, 3 Jun 2002 07:13:09 +0000 (07:13 -0000)]
Cleanup script for re2c output that removes unreferenced labels (significantly
reducing C compiler warnings).
svn path=/trunk/yasm/; revision=647
Peter Johnson [Sun, 2 Jun 2002 18:58:38 +0000 (18:58 -0000)]
Fix 2 major bugs: -b switch caused crash, and all actions got corrupted.
svn path=/trunk/yasm/; revision=646
Peter Johnson [Sat, 1 Jun 2002 02:43:25 +0000 (02:43 -0000)]
We don't use the tools right now, so don't bother building them/including them
in the distribution.
svn path=/trunk/yasm/; revision=645
Peter Johnson [Wed, 29 May 2002 05:31:06 +0000 (05:31 -0000)]
Initial revision
svn path=/trunk/yasm/; revision=641
Peter Johnson [Wed, 29 May 2002 05:25:32 +0000 (05:25 -0000)]
Integrate gettext, libtool, and libltdl into CVS and more tightly into
configuration process.
svn path=/trunk/yasm/; revision=640
Peter Johnson [Wed, 29 May 2002 05:05:53 +0000 (05:05 -0000)]
Include all the m4 files in EXTRA_DIST.
svn path=/trunk/yasm/; revision=639
Peter Johnson [Wed, 29 May 2002 05:00:31 +0000 (05:00 -0000)]
Initial revision
svn path=/trunk/yasm/; revision=635
Peter Johnson [Wed, 29 May 2002 04:46:54 +0000 (04:46 -0000)]
Initial revision
svn path=/trunk/yasm/; revision=632
Peter Johnson [Thu, 23 May 2002 07:24:41 +0000 (07:24 -0000)]
Bytecode and objfmt changes:
- Add two new bytecode types:
BC_ALIGN (not yet implemented) for performing nice alignment magic.
BC_OBJFMT_DATA for storing objfmt-generated data in more advanced objfmts.
- objfmt structure changes:
Add handling functions for BC_OBJFMT_DATA data.
Allow a number of functions to be NULL.
svn path=/trunk/yasm/; revision=631
Peter Johnson [Mon, 20 May 2002 06:01:10 +0000 (06:01 -0000)]
Revert previous commit (ELF isn't committed yet).
svn path=/trunk/yasm/; revision=630
Peter Johnson [Mon, 20 May 2002 05:53:58 +0000 (05:53 -0000)]
Use C89 types for field sizes and avoid reserved #define names.
svn path=/trunk/yasm/; revision=629
Peter Johnson [Mon, 20 May 2002 05:46:27 +0000 (05:46 -0000)]
Don't worry about 64-bit and generic ELF at this point.
svn path=/trunk/yasm/; revision=628
Peter Johnson [Mon, 20 May 2002 05:40:22 +0000 (05:40 -0000)]
Initial revision
svn path=/trunk/yasm/; revision=624
Peter Johnson [Mon, 20 May 2002 01:08:42 +0000 (01:08 -0000)]
Prevent spurious "Circular reference detected" errors by refining the return
value for bc_resolve() to enum-defined flags.
svn path=/trunk/yasm/; revision=623
Peter Johnson [Sat, 18 May 2002 09:55:42 +0000 (09:55 -0000)]
Revamp error/warning handling.
svn path=/trunk/yasm/; revision=622
Peter Johnson [Sat, 11 May 2002 01:50:11 +0000 (01:50 -0000)]
During the first pass of basic optimization, continue reporting errors, don't
stop at the first error.
To help prevent spurios errors, make bytecodes with errors 0 length in
bc_resolve().
svn path=/trunk/yasm/; revision=621
Peter Johnson [Sun, 5 May 2002 18:18:07 +0000 (18:18 -0000)]
Change handling of res* (no longer require that the entire containing buffer
be allocated and filled with 0's to write it out).
Other fixes:
Specifically look for floating point values in res* and multiple exprs.
One-byte PC-relative displacement *is* legal (short jumps).
svn path=/trunk/yasm/; revision=620
Peter Johnson [Fri, 3 May 2002 02:21:51 +0000 (02:21 -0000)]
Check for integer warnings.
svn path=/trunk/yasm/; revision=619
Peter Johnson [Thu, 2 May 2002 06:09:07 +0000 (06:09 -0000)]
A number of fixes to float and integer handling on the output side:
- expr can now negate floatnums
- bin objfmt output_expr now correctly outputs all sizes of integers and
does a check for floating point containing exprs before complaining about
external references. Also checks for properly sized floatnum output with
an ErrorAt instead of an InternalError.
svn path=/trunk/yasm/; revision=618
Peter Johnson [Thu, 2 May 2002 03:34:10 +0000 (03:34 -0000)]
Properly count errors and warnings triggered by ErrorAt() and WarningAt().
svn path=/trunk/yasm/; revision=617
Peter Johnson [Thu, 2 May 2002 03:33:32 +0000 (03:33 -0000)]
Check return value correctly (for both error and non-error).
svn path=/trunk/yasm/; revision=616
Peter Johnson [Wed, 1 May 2002 03:34:40 +0000 (03:34 -0000)]
Revert previous commit. The srcdir isn't needed, and in fact breaks things.
svn path=/trunk/yasm/; revision=615
Peter Johnson [Wed, 1 May 2002 03:25:55 +0000 (03:25 -0000)]
Add bison-generated sources to BUILT_SOURCES and CLEANFILES.
svn path=/trunk/yasm/; revision=614
Peter Johnson [Wed, 1 May 2002 03:19:23 +0000 (03:19 -0000)]
Clean up after test execution.
svn path=/trunk/yasm/; revision=613
Peter Johnson [Wed, 1 May 2002 03:04:48 +0000 (03:04 -0000)]
Run gettextize with the --no-changelog option. Note this requires gettext
0.11.1.
svn path=/trunk/yasm/; revision=612
Peter Johnson [Tue, 30 Apr 2002 02:06:29 +0000 (02:06 -0000)]
Too overzealous on including test files that aren't committed yet (because they
don't pass yet!).
svn path=/trunk/yasm/; revision=611
Peter Johnson [Mon, 29 Apr 2002 03:59:38 +0000 (03:59 -0000)]
Fix warning message for zeroing uninit space so it prints on the correct line.
Add bin objfmt test suite and test for this case.
svn path=/trunk/yasm/; revision=610
Peter Johnson [Sun, 28 Apr 2002 21:36:54 +0000 (21:36 -0000)]
Fix distcheck build. For some reason, automake wants a $(top_srcdir) for the
yapp-token.l file.
svn path=/trunk/yasm/; revision=609
Peter Johnson [Sat, 27 Apr 2002 21:44:19 +0000 (21:44 -0000)]
Have symrec manage all symbols, not just the ones in the symbol table.
svn path=/trunk/yasm/; revision=608
Peter Johnson [Sat, 27 Apr 2002 05:14:02 +0000 (05:14 -0000)]
Switch back to returning @dependent@ instead of @observer@.
svn path=/trunk/yasm/; revision=607
Peter Johnson [Tue, 23 Apr 2002 05:04:41 +0000 (05:04 -0000)]
Splint-noticed bugfixes: memory leaks, unreachable code.
svn path=/trunk/yasm/; revision=606
Peter Johnson [Tue, 23 Apr 2002 04:54:43 +0000 (04:54 -0000)]
Splint cleanups, including const change.
svn path=/trunk/yasm/; revision=605
Peter Johnson [Mon, 22 Apr 2002 07:57:52 +0000 (07:57 -0000)]
Splint cleanups and related bugfixes:
- fix memory leak in bin_objfmt_resolve_label2()
- delete common data in bin_objfmt_common_data_new() rather than continuing
to handle it in declare_data_*()
svn path=/trunk/yasm/; revision=604
Peter Johnson [Mon, 22 Apr 2002 07:54:38 +0000 (07:54 -0000)]
Change most Splint return annotations from dependent to observer.
Also, section_get_start() can't return NULL.
svn path=/trunk/yasm/; revision=603
Peter Johnson [Mon, 22 Apr 2002 07:53:46 +0000 (07:53 -0000)]
Cast SAVE_* and WRITE_* assignments to unsigned char.
svn path=/trunk/yasm/; revision=602
Peter Johnson [Mon, 22 Apr 2002 07:49:47 +0000 (07:49 -0000)]
Make expr_print() take a const expr.
svn path=/trunk/yasm/; revision=601
Peter Johnson [Mon, 22 Apr 2002 06:32:51 +0000 (06:32 -0000)]
Fix a couple bugs found by Splint (and do some other Splint cleanups).
svn path=/trunk/yasm/; revision=600
Peter Johnson [Mon, 22 Apr 2002 06:17:11 +0000 (06:17 -0000)]
Splint cleanups: expr_copy_* don't take a NULL, so they can't return NULL.
svn path=/trunk/yasm/; revision=599
Peter Johnson [Mon, 22 Apr 2002 01:58:09 +0000 (01:58 -0000)]
Splint cleanups.
svn path=/trunk/yasm/; revision=598
Peter Johnson [Mon, 22 Apr 2002 01:55:23 +0000 (01:55 -0000)]
Split split parameters into separate lines to make it much easier to edit.
svn path=/trunk/yasm/; revision=597
Peter Johnson [Mon, 22 Apr 2002 01:52:42 +0000 (01:52 -0000)]
Add options: +allglobals -noeffect -shiftnegative.
svn path=/trunk/yasm/; revision=596
Peter Johnson [Mon, 22 Apr 2002 01:51:24 +0000 (01:51 -0000)]
Splint cleanups.
svn path=/trunk/yasm/; revision=595
Peter Johnson [Mon, 22 Apr 2002 01:39:50 +0000 (01:39 -0000)]
Splint cleanups.
svn path=/trunk/yasm/; revision=594
Peter Johnson [Mon, 22 Apr 2002 01:37:54 +0000 (01:37 -0000)]
Splint cleanups on memory allocation routines.
svn path=/trunk/yasm/; revision=593
Peter Johnson [Sun, 21 Apr 2002 18:55:19 +0000 (18:55 -0000)]
Create global macro NELEMS to replace countof macro defined just in main.c.
svn path=/trunk/yasm/; revision=592
Peter Johnson [Mon, 15 Apr 2002 04:38:59 +0000 (04:38 -0000)]
Update with latest files. Add suggestion on how to get an updated list.
svn path=/trunk/yasm/; revision=591
Peter Johnson [Mon, 15 Apr 2002 04:28:42 +0000 (04:28 -0000)]
Add remove-potcdate.sed.
svn path=/trunk/yasm/; revision=590
Peter Johnson [Mon, 15 Apr 2002 04:20:38 +0000 (04:20 -0000)]
Update to gettext 0.11.1.
svn path=/trunk/yasm/; revision=589
Peter Johnson [Fri, 12 Apr 2002 05:21:50 +0000 (05:21 -0000)]
Portability fixes: include config.h to get rid of inline if necessary, remove
last // comments, and include a local strdup.
svn path=/trunk/yasm/; revision=588
Peter Johnson [Fri, 12 Apr 2002 04:14:15 +0000 (04:14 -0000)]
Add local changes (primarily C++ -> C conversion).
svn path=/trunk/yasm/; revision=587
Peter Johnson [Fri, 12 Apr 2002 04:12:11 +0000 (04:12 -0000)]
Reflect where our local o= and t= options came from.
svn path=/trunk/yasm/; revision=586
Peter Johnson [Thu, 11 Apr 2002 07:21:38 +0000 (07:21 -0000)]
Add re2c to the build tree. Build tools with recursive make instead of from
top-level Makefile (for various reasons, including object name conflicts).
svn path=/trunk/yasm/; revision=585
Peter Johnson [Thu, 11 Apr 2002 07:15:07 +0000 (07:15 -0000)]
Don't conflict local parser.h with bison-generated parser.h by renaming
parser.h to parse.h.
svn path=/trunk/yasm/; revision=584
Peter Johnson [Tue, 9 Apr 2002 05:50:51 +0000 (05:50 -0000)]
Add pre-generated bootstrap files for re2c-generated scanner.
svn path=/trunk/yasm/; revision=583
Peter Johnson [Tue, 9 Apr 2002 05:48:51 +0000 (05:48 -0000)]
Finish C conversion.
svn path=/trunk/yasm/; revision=582
Peter Johnson [Mon, 8 Apr 2002 07:45:03 +0000 (07:45 -0000)]
Continuing C conversion (not everything is compilable yet).
svn path=/trunk/yasm/; revision=581
Peter Johnson [Mon, 8 Apr 2002 00:30:39 +0000 (00:30 -0000)]
Make dual functions: _new (which allocates) and _init (which just copies) to
make C conversion elsewhere easier.
svn path=/trunk/yasm/; revision=580
Peter Johnson [Sun, 7 Apr 2002 23:52:55 +0000 (23:52 -0000)]
Prepend re2c to multiple include protections.
svn path=/trunk/yasm/; revision=579
Peter Johnson [Sun, 7 Apr 2002 23:51:09 +0000 (23:51 -0000)]
Convert to C.
svn path=/trunk/yasm/; revision=578
Peter Johnson [Sun, 7 Apr 2002 22:46:31 +0000 (22:46 -0000)]
Start C conversion. Eliminate bootstrap files.
svn path=/trunk/yasm/; revision=577
Peter Johnson [Sun, 7 Apr 2002 22:27:05 +0000 (22:27 -0000)]
Initial revision
svn path=/trunk/yasm/; revision=573
Peter Johnson [Sun, 7 Apr 2002 22:15:35 +0000 (22:15 -0000)]
Ignore all yapp preprocessed test files.
svn path=/trunk/yasm/; revision=572
Peter Johnson [Sun, 7 Apr 2002 22:14:56 +0000 (22:14 -0000)]
Ignore lemon executable.
svn path=/trunk/yasm/; revision=571
Peter Johnson [Sun, 7 Apr 2002 21:57:43 +0000 (21:57 -0000)]
Merge in FreeBSD patches to lemon.
svn path=/trunk/yasm/; revision=570
Peter Johnson [Sun, 7 Apr 2002 20:59:51 +0000 (20:59 -0000)]
Build lemon (http://www.hwaci.com/sw/lemon/).
svn path=/trunk/yasm/; revision=566
Peter Johnson [Sun, 7 Apr 2002 20:57:52 +0000 (20:57 -0000)]
Const, shadowing, and prototype fixes.
svn path=/trunk/yasm/; revision=565
Peter Johnson [Sun, 7 Apr 2002 19:58:57 +0000 (19:58 -0000)]
Add $IdPath$.
svn path=/trunk/yasm/; revision=564
Peter Johnson [Sun, 7 Apr 2002 19:57:33 +0000 (19:57 -0000)]
Merge in 2002/01/30 Ethereal changes to lemon.
svn path=/trunk/yasm/; revision=563
Peter Johnson [Sun, 7 Apr 2002 19:18:32 +0000 (19:18 -0000)]
Merge in 2002/04/07 lemon master sources.
svn path=/trunk/yasm/; revision=559
cvs2svn [Sun, 7 Apr 2002 19:14:52 +0000 (19:14 -0000)]
This commit was generated by cvs2svn to compensate for changes in r557,
which included commits to RCS files with non-trunk default branches.
svn path=/trunk/yasm/; revision=558
Peter Johnson [Sun, 7 Apr 2002 19:13:03 +0000 (19:13 -0000)]
Initial revision
svn path=/trunk/yasm/; revision=552