]>
granicus.if.org Git - yasm/log
Peter Johnson [Sat, 15 Sep 2001 07:16:59 +0000 (07:16 -0000)]
Rename outfmt to objfmt and related files and directories. "objfmt" is more
descriptive of what the module is actually used for ("output" is rather
generic).
svn path=/trunk/yasm/; revision=155
Michael Urman [Fri, 31 Aug 2001 17:36:29 +0000 (17:36 -0000)]
Updates to pass make distcheck.
Added linux as a bogus sysqueue.
svn path=/trunk/yasm/; revision=154
Peter Johnson [Thu, 30 Aug 2001 03:45:26 +0000 (03:45 -0000)]
Convert to using gettext instead of the ugly errwarn constant strings.
NOTE: gettextize now needs to be run before building.
svn path=/trunk/yasm/; revision=153
Peter Johnson [Sun, 19 Aug 2001 07:46:52 +0000 (07:46 -0000)]
Add RCSID().
svn path=/trunk/yasm/; revision=151
Peter Johnson [Sun, 19 Aug 2001 07:33:47 +0000 (07:33 -0000)]
Standardize order of include statements as well as autoconf'ing those source
files that weren't yet.
svn path=/trunk/yasm/; revision=150
Peter Johnson [Sun, 19 Aug 2001 07:32:39 +0000 (07:32 -0000)]
Add RCSID() function.
Indent some of the preprocessor directives a bit nicer.
svn path=/trunk/yasm/; revision=149
Peter Johnson [Sun, 19 Aug 2001 07:31:52 +0000 (07:31 -0000)]
Add checks for <limits.h> and <sys/cdefs.h>.
svn path=/trunk/yasm/; revision=148
Peter Johnson [Sun, 19 Aug 2001 05:44:53 +0000 (05:44 -0000)]
Allow multiple labels on one line (it's still on the TODO list for NASM :).
svn path=/trunk/yasm/; revision=147
Peter Johnson [Sun, 19 Aug 2001 05:41:01 +0000 (05:41 -0000)]
Use STAILQ's for datavals and bytecodes.
svn path=/trunk/yasm/; revision=146
Peter Johnson [Sun, 19 Aug 2001 05:40:20 +0000 (05:40 -0000)]
Use the FreeBSD version of <sys/queue.h> instead of the OpenBSD version
because the OpenBSD version doesn't have STAILQ_*.
svn path=/trunk/yasm/; revision=145
Peter Johnson [Sun, 19 Aug 2001 04:33:19 +0000 (04:33 -0000)]
Use header-reuse #defines that are ANSI C compatible.
svn path=/trunk/yasm/; revision=144
Peter Johnson [Sun, 19 Aug 2001 04:32:02 +0000 (04:32 -0000)]
Add <sys/queue.h> to util.h and pull in compatible, portable version from
OpenSSH-portable.
svn path=/trunk/yasm/; revision=143
Peter Johnson [Sun, 19 Aug 2001 04:25:18 +0000 (04:25 -0000)]
Add check for <sys/queue.h> and specific checks for bogus implementations.
Idea taken from OpenSSH-portable.
svn path=/trunk/yasm/; revision=142
Peter Johnson [Sun, 19 Aug 2001 03:52:58 +0000 (03:52 -0000)]
Run through GNU indent using indent profile. Manually fix some changes
(particularly functions such as BuildBC_Insn() which have large numbers
of arguments).
svn path=/trunk/yasm/; revision=141
Peter Johnson [Sun, 19 Aug 2001 03:34:53 +0000 (03:34 -0000)]
Add dataval as a type.
svn path=/trunk/yasm/; revision=140
Peter Johnson [Sun, 19 Aug 2001 03:31:58 +0000 (03:31 -0000)]
Add FILE as a type. Why it's not built-in, I don't know.
svn path=/trunk/yasm/; revision=139
Peter Johnson [Sun, 19 Aug 2001 03:19:52 +0000 (03:19 -0000)]
First version of indentation profile.
svn path=/trunk/yasm/; revision=138
Peter Johnson [Sun, 19 Aug 2001 02:57:02 +0000 (02:57 -0000)]
Give prototype for nasm_parser_parse().
svn path=/trunk/yasm/; revision=137
Peter Johnson [Sun, 19 Aug 2001 02:54:20 +0000 (02:54 -0000)]
Declare type enum correctly.
svn path=/trunk/yasm/; revision=136
Peter Johnson [Sun, 19 Aug 2001 02:50:14 +0000 (02:50 -0000)]
Remove & from function pointer references.
svn path=/trunk/yasm/; revision=135
Peter Johnson [Sun, 19 Aug 2001 02:15:43 +0000 (02:15 -0000)]
Add new subdirectories for new src/ directory structures.
svn path=/trunk/yasm/; revision=134
Peter Johnson [Sun, 19 Aug 2001 02:15:18 +0000 (02:15 -0000)]
New modular directory structure: parsers, preprocs, and outfmts.
Moved token.l.in, bison.y.in, and gen_instr.pl to parsers/nasm/.
New parser, preproc, and outfmt structures. None are complete; outfmt
needs the most work.
The raw preprocessor added (for no preprocessing).
Currently the default for the nasm parser is to use the raw preproc; this
should be changed to nasm_preproc once the nasm preprocessor is finished.
A dbg output format is also new; because outfmt isn't done yet, there's not
much implementation.
What structures still need creating: listfmt, debugfmt.
svn path=/trunk/yasm/; revision=133
Peter Johnson [Sun, 19 Aug 2001 02:09:03 +0000 (02:09 -0000)]
Update to reflect 0-based groupdata array.
svn path=/trunk/yasm/; revision=132
Peter Johnson [Sat, 18 Aug 2001 23:05:37 +0000 (23:05 -0000)]
Add "error when reading from file" error.
svn path=/trunk/yasm/; revision=131
Peter Johnson [Sat, 18 Aug 2001 22:15:12 +0000 (22:15 -0000)]
Add global filename variable and handling for a filename passed on the
command line (no real command-line parsing yet).
svn path=/trunk/yasm/; revision=130
Peter Johnson [Wed, 25 Jul 2001 00:33:10 +0000 (00:33 -0000)]
Add lexing, parsing, and internal format for strings and character constants.
Completely handle data declarations (db/dw/etc) and reserve space declarations
(resb/resw/etc).
svn path=/trunk/yasm/; revision=129
Peter Johnson [Wed, 11 Jul 2001 23:16:50 +0000 (23:16 -0000)]
Formatting changes and starting to comment more heavily.
svn path=/trunk/yasm/; revision=128
Peter Johnson [Wed, 11 Jul 2001 21:16:22 +0000 (21:16 -0000)]
At least in NASM syntax, there is no differentation between labels and data
declarations, so delete SYM_DATA. We may add it back in someday if we add
another syntax.
svn path=/trunk/yasm/; revision=127
Peter Johnson [Wed, 11 Jul 2001 21:04:58 +0000 (21:04 -0000)]
Add unary precedence to some of the expression rules.
Add '+' as a unary operator.
Change target to use expr instead of just explabel.
svn path=/trunk/yasm/; revision=126
Peter Johnson [Wed, 11 Jul 2001 21:03:16 +0000 (21:03 -0000)]
Add strdup and strtoul replacements to EXTRA_DIST.
svn path=/trunk/yasm/; revision=125
Peter Johnson [Wed, 11 Jul 2001 21:01:54 +0000 (21:01 -0000)]
Move ..start in with ..@label.
svn path=/trunk/yasm/; revision=124
Peter Johnson [Wed, 11 Jul 2001 21:00:34 +0000 (21:00 -0000)]
Move some previously seperate identifiers into general label handlers.
svn path=/trunk/yasm/; revision=123
Peter Johnson [Wed, 11 Jul 2001 18:10:17 +0000 (18:10 -0000)]
This is now in the root directory, so no need to include it here.
svn path=/trunk/yasm/; revision=122
Peter Johnson [Wed, 11 Jul 2001 17:03:43 +0000 (17:03 -0000)]
Match build changes.
svn path=/trunk/yasm/; revision=121
Peter Johnson [Wed, 11 Jul 2001 16:57:25 +0000 (16:57 -0000)]
Repo-copied include files to src to make automake/autoconf build structure
work properly. Changed Makefile.am, src/Makefile.am, and configure.in to
match directory changes.
svn path=/trunk/yasm/; revision=120
Peter Johnson [Wed, 11 Jul 2001 04:07:11 +0000 (04:07 -0000)]
First attempt at supporting relative jump instructions. A few hacks, but
seems to work well.
A few other minor fixes/changes as well (noticed when coding).
svn path=/trunk/yasm/; revision=119
Michael Urman [Mon, 9 Jul 2001 05:30:55 +0000 (05:30 -0000)]
Better and more generalized kludge for sliding $0.\d down.
svn path=/trunk/yasm/; revision=118
Michael Urman [Fri, 6 Jul 2001 06:25:53 +0000 (06:25 -0000)]
Integrate expression handling into memory address expressions.
Consequently change Imm->EA, and update DebugPrintBC (fix segvs too)
svn path=/trunk/yasm/; revision=117
Peter Johnson [Fri, 6 Jul 2001 04:42:59 +0000 (04:42 -0000)]
Fix and tighten down on validation regexps. Add support for 4th group
parameter.
svn path=/trunk/yasm/; revision=116
Peter Johnson [Thu, 5 Jul 2001 09:50:51 +0000 (09:50 -0000)]
Eliminate conflicts by setting associativity (and precedence too).
svn path=/trunk/yasm/; revision=115
Peter Johnson [Thu, 5 Jul 2001 09:39:30 +0000 (09:39 -0000)]
Align inst the same as !grp to improve readability.
svn path=/trunk/yasm/; revision=114
Michael Urman [Thu, 5 Jul 2001 09:32:58 +0000 (09:32 -0000)]
Fixed the non-ansi attempts to pass a union member casted as the union
type.
svn path=/trunk/yasm/; revision=113
Peter Johnson [Thu, 5 Jul 2001 09:30:04 +0000 (09:30 -0000)]
Enable and add support for (in gen_instr.pl) short xchg AX and EAX forms.
svn path=/trunk/yasm/; revision=112
Michael Urman [Thu, 5 Jul 2001 08:59:29 +0000 (08:59 -0000)]
Oops. Used the write struct this time.
svn path=/trunk/yasm/; revision=111
Michael Urman [Thu, 5 Jul 2001 08:58:31 +0000 (08:58 -0000)]
Added prototype for ConvertExprToImm()
svn path=/trunk/yasm/; revision=110
Michael Urman [Thu, 5 Jul 2001 08:37:59 +0000 (08:37 -0000)]
Long hairy integration of expression handling into the grammar.
Added printing, getvalue functionality to expr.[ch]
Changed immval to house an expr* instead of an unsigned long.
gen_instr.pl needs to be updated for ONE cases to fix pointer compares.
bison s/r conflicts still need to be handled.
svn path=/trunk/yasm/; revision=109
Peter Johnson [Thu, 5 Jul 2001 07:21:35 +0000 (07:21 -0000)]
Change groupdate into an array, and make everything 0-based in the output
code. Bit of a kludge required in gen_instr.pl to slide the $0.\d down by
one (is there a better way to do it?).
svn path=/trunk/yasm/; revision=108
Peter Johnson [Thu, 5 Jul 2001 07:00:01 +0000 (07:00 -0000)]
Allow opsize parameters, to eliminate !onebyte16 and !onebyte32.
svn path=/trunk/yasm/; revision=107
Michael Urman [Thu, 5 Jul 2001 06:28:54 +0000 (06:28 -0000)]
Initial checkin of expression handling.
svn path=/trunk/yasm/; revision=106
Peter Johnson [Thu, 5 Jul 2001 06:24:09 +0000 (06:24 -0000)]
Fix movdq2q, movq2dq encodings.
svn path=/trunk/yasm/; revision=105
Peter Johnson [Thu, 5 Jul 2001 06:18:19 +0000 (06:18 -0000)]
Fix typo (cmpneqps -> cmpneqsd).
svn path=/trunk/yasm/; revision=104
Peter Johnson [Thu, 5 Jul 2001 06:16:56 +0000 (06:16 -0000)]
Implement all variations of the SSE and SSE2 cmp* family.
svn path=/trunk/yasm/; revision=103
Peter Johnson [Thu, 5 Jul 2001 05:41:45 +0000 (05:41 -0000)]
#0 and #1 -> @0 and @1 (for the CPU field), to avoid warning from Perl.
svn path=/trunk/yasm/; revision=102
Peter Johnson [Thu, 5 Jul 2001 05:38:40 +0000 (05:38 -0000)]
Many minor relocations, fixes, particularly with the CPU field.
svn path=/trunk/yasm/; revision=101
Peter Johnson [Thu, 5 Jul 2001 05:04:37 +0000 (05:04 -0000)]
Backroll 1.12 and 1.13, they cause conflicts. We need to find a better way
to do this.
svn path=/trunk/yasm/; revision=100
Michael Urman [Thu, 5 Jul 2001 04:53:13 +0000 (04:53 -0000)]
Added support for spitting out multiple warnings and errors.
And consequently decided that i'm probably not validating half the
fields correctly. Maybe peter will fix that. Hint hint.
svn path=/trunk/yasm/; revision=99
Michael Urman [Thu, 5 Jul 2001 04:32:13 +0000 (04:32 -0000)]
Updated validation regexps for $0.\d fields.
Removed obosolete commented "next unless ref $instr{$inst};"s
svn path=/trunk/yasm/; revision=98
Michael Urman [Thu, 5 Jul 2001 04:17:52 +0000 (04:17 -0000)]
Removed use of "our," so as not to require perl 5.6
svn path=/trunk/yasm/; revision=97
Michael Urman [Thu, 5 Jul 2001 03:56:14 +0000 (03:56 -0000)]
Handle grouped instructions format.
svn path=/trunk/yasm/; revision=96
Peter Johnson [Thu, 5 Jul 2001 03:43:13 +0000 (03:43 -0000)]
Indent sections under "groupings used throughout".
svn path=/trunk/yasm/; revision=95
Peter Johnson [Thu, 5 Jul 2001 03:00:26 +0000 (03:00 -0000)]
Move !ssepsimm up to before it's used.
svn path=/trunk/yasm/; revision=94
Peter Johnson [Thu, 5 Jul 2001 02:57:56 +0000 (02:57 -0000)]
Move cmpps/cmppd to the right location in the file.
svn path=/trunk/yasm/; revision=93
Peter Johnson [Thu, 5 Jul 2001 02:53:35 +0000 (02:53 -0000)]
Completely reorder instructions to match that in GNU binutils
/include/opcode/i386.h, used for the GAS assembler.
This also helped find some missing instructions and CPU field errors, not
all of which have been added/corrected yet.
svn path=/trunk/yasm/; revision=92
Peter Johnson [Thu, 5 Jul 2001 02:51:01 +0000 (02:51 -0000)]
Add memref to declared types.
svn path=/trunk/yasm/; revision=91
Peter Johnson [Wed, 4 Jul 2001 21:28:22 +0000 (21:28 -0000)]
Fixed comment in test opcode encodings.
svn path=/trunk/yasm/; revision=90
Peter Johnson [Wed, 4 Jul 2001 21:22:23 +0000 (21:22 -0000)]
Combine a couple instances of imm & imm8x into imm8 (and 16 and 32).
svn path=/trunk/yasm/; revision=89
Peter Johnson [Wed, 4 Jul 2001 20:57:53 +0000 (20:57 -0000)]
Use %1 and %2 instead of %s and %d for "duplicate definition" error message
(allows message to be arbitarily changed, including reversing order of %1 and
%2 without having to change every location it's called from).
svn path=/trunk/yasm/; revision=88
Peter Johnson [Wed, 4 Jul 2001 20:53:21 +0000 (20:53 -0000)]
Change mem (other sized memory reference) to cause operand size mismatch error
if a size is specified.
svn path=/trunk/yasm/; revision=87
Peter Johnson [Wed, 4 Jul 2001 20:22:34 +0000 (20:22 -0000)]
Add CPU field to fence instructions.
svn path=/trunk/yasm/; revision=86
Peter Johnson [Wed, 4 Jul 2001 20:16:43 +0000 (20:16 -0000)]
Implement lfence and missing mfence, minpd/ps/sd/ss.
svn path=/trunk/yasm/; revision=85
Peter Johnson [Wed, 4 Jul 2001 20:09:44 +0000 (20:09 -0000)]
Implement sfence.
svn path=/trunk/yasm/; revision=84
Peter Johnson [Wed, 4 Jul 2001 08:14:46 +0000 (08:14 -0000)]
Add !onebytemem and !twobytemem.
svn path=/trunk/yasm/; revision=83
Peter Johnson [Wed, 4 Jul 2001 08:03:04 +0000 (08:03 -0000)]
Combine cmpxchg and xadd into !cmpxchgxadd.
Combine !sseps and !sse2ps.
Change !sse2mmx to !mmxsse and make more flexible (handle both SSE and SSE2).
svn path=/trunk/yasm/; revision=82
Peter Johnson [Wed, 4 Jul 2001 07:05:13 +0000 (07:05 -0000)]
xadd reg,mem is invalid.
svn path=/trunk/yasm/; revision=81
Peter Johnson [Wed, 4 Jul 2001 04:45:51 +0000 (04:45 -0000)]
Delete a couple blank lines accidently left in last commit.
svn path=/trunk/yasm/; revision=80
Peter Johnson [Wed, 4 Jul 2001 04:24:52 +0000 (04:24 -0000)]
Add instruction grouping to decrease size of generated yacc code.
gen_instr.pl still needs to actually implement this, so this currently breaks
the build.
svn path=/trunk/yasm/; revision=79
Peter Johnson [Fri, 29 Jun 2001 06:25:08 +0000 (06:25 -0000)]
Add --enable-dev option to force CFLAGS to "-ansi -pedantic -Wall -g".
svn path=/trunk/yasm/; revision=78
Peter Johnson [Fri, 29 Jun 2001 05:35:11 +0000 (05:35 -0000)]
Move extra autoconf/automake files to config/ directory.
svn path=/trunk/yasm/; revision=77
Peter Johnson [Fri, 29 Jun 2001 05:15:52 +0000 (05:15 -0000)]
Force standard C compilation.
svn path=/trunk/yasm/; revision=76
Peter Johnson [Fri, 29 Jun 2001 05:14:57 +0000 (05:14 -0000)]
Don't distribute config.h, and bison.tab.h is gone due to changes in
src/Makefile.am.
svn path=/trunk/yasm/; revision=75
Peter Johnson [Fri, 29 Jun 2001 05:14:17 +0000 (05:14 -0000)]
Reverse include and src directories to make sure config.h is built first.
svn path=/trunk/yasm/; revision=74
Peter Johnson [Fri, 29 Jun 2001 05:13:33 +0000 (05:13 -0000)]
Remove bison.tab.h due to changes in src/Makefile.am.
svn path=/trunk/yasm/; revision=73
Peter Johnson [Fri, 29 Jun 2001 05:12:44 +0000 (05:12 -0000)]
Change lex and yacc filenames to match changes in Makefile.am.
svn path=/trunk/yasm/; revision=72
Peter Johnson [Fri, 29 Jun 2001 05:11:40 +0000 (05:11 -0000)]
Use bison.h instead of bison.tab.h to match changes to Makefile.am.
svn path=/trunk/yasm/; revision=71
Peter Johnson [Fri, 29 Jun 2001 05:11:17 +0000 (05:11 -0000)]
Fix how lex and yacc are handled.
svn path=/trunk/yasm/; revision=70
Peter Johnson [Fri, 29 Jun 2001 02:13:08 +0000 (02:13 -0000)]
Add additional checks: const, size_t, vprintf() family, strtoul, and toascii.
svn path=/trunk/yasm/; revision=69
Peter Johnson [Fri, 29 Jun 2001 02:12:15 +0000 (02:12 -0000)]
Use toascii() again (now implemented in util.h if not present on system).
svn path=/trunk/yasm/; revision=68
Peter Johnson [Fri, 29 Jun 2001 02:11:36 +0000 (02:11 -0000)]
Add toascii() implementation.
svn path=/trunk/yasm/; revision=67
Peter Johnson [Fri, 29 Jun 2001 02:06:55 +0000 (02:06 -0000)]
strtoul() implementation for systems that lack it (from BSD).
svn path=/trunk/yasm/; revision=66
Peter Johnson [Thu, 28 Jun 2001 22:21:17 +0000 (22:21 -0000)]
Change copyright and code to match original UCB source.
svn path=/trunk/yasm/; revision=65
Peter Johnson [Thu, 28 Jun 2001 21:22:01 +0000 (21:22 -0000)]
Use ANSI C compliant #ifndef wrappers (_A_H_ -> YASM_A_H).
svn path=/trunk/yasm/; revision=64
Peter Johnson [Thu, 28 Jun 2001 08:55:29 +0000 (08:55 -0000)]
Ignore aclocal/autoheader/autoconf/automake files.
svn path=/trunk/yasm/; revision=63
Peter Johnson [Thu, 28 Jun 2001 08:50:09 +0000 (08:50 -0000)]
Use autoconf to determine when to include our implementation of strdup, so
remove util.c and create strdup.c. Make util.h, strdup.c, and several source
files use config.h defines.
svn path=/trunk/yasm/; revision=62
Peter Johnson [Thu, 28 Jun 2001 08:48:32 +0000 (08:48 -0000)]
Use autoconf to determine when to include our implementation of strdup, so
remove util.c and create strdup.c. Make util.h, strdup.c, and several source
files use config.h defines.
svn path=/trunk/yasm/; revision=61
Peter Johnson [Thu, 28 Jun 2001 03:20:06 +0000 (03:20 -0000)]
Remove unfinished expr.h from listed sources so that dist target works.
svn path=/trunk/yasm/; revision=60
Michael Urman [Wed, 27 Jun 2001 22:57:21 +0000 (22:57 -0000)]
Removed unfinished expr.c from listed sources.
svn path=/trunk/yasm/; revision=59
Michael Urman [Wed, 27 Jun 2001 22:45:20 +0000 (22:45 -0000)]
Initial checkin of automake/autoconf files.
Proper split directory builds may fail on the lex/yacc generated files.
svn path=/trunk/yasm/; revision=58
Michael Urman [Wed, 27 Jun 2001 22:43:11 +0000 (22:43 -0000)]
Removed to leave space for automake/autoconf generated one.
svn path=/trunk/yasm/; revision=57
Michael Urman [Wed, 27 Jun 2001 20:07:20 +0000 (20:07 -0000)]
Initial checkin of automake/autoconf files.
Proper split directory builds may fail on the lex/yacc generated files.
svn path=/trunk/yasm/; revision=56
Peter Johnson [Wed, 13 Jun 2001 06:05:08 +0000 (06:05 -0000)]
isascii -> implementation. This is ANSI C, but some headers don't believe it.
svn path=/trunk/yasm/; revision=55