]>
granicus.if.org Git - yasm/log
Peter Johnson [Mon, 17 Sep 2001 22:19:14 +0000 (22:19 -0000)]
Add doc to automake and configure.
Only build queue docs if dev is enabled (--enable-dev).
svn path=/trunk/yasm/; revision=176
Peter Johnson [Mon, 17 Sep 2001 22:10:02 +0000 (22:10 -0000)]
Add queue(3) docs from FreeBSD.
svn path=/trunk/yasm/; revision=175
Peter Johnson [Mon, 17 Sep 2001 04:12:20 +0000 (04:12 -0000)]
$Id$ -> $IdPath$.
svn path=/trunk/yasm/; revision=174
Peter Johnson [Sun, 16 Sep 2001 22:04:02 +0000 (22:04 -0000)]
Reorder generated Makefile list a little (to be consistent with
src/Makefile.am).
svn path=/trunk/yasm/; revision=172
Peter Johnson [Sun, 16 Sep 2001 22:01:46 +0000 (22:01 -0000)]
Expand out list of generated Makefiles and add RCS id.
svn path=/trunk/yasm/; revision=171
Peter Johnson [Sun, 16 Sep 2001 21:39:58 +0000 (21:39 -0000)]
Add barebones optimizer module framework.
svn path=/trunk/yasm/; revision=169
Peter Johnson [Sun, 16 Sep 2001 21:07:22 +0000 (21:07 -0000)]
Add prefix on local functions so they're easy to find in the debugger.
svn path=/trunk/yasm/; revision=168
Peter Johnson [Sun, 16 Sep 2001 20:17:51 +0000 (20:17 -0000)]
Reindent to match other code for the most part.
svn path=/trunk/yasm/; revision=167
Peter Johnson [Sun, 16 Sep 2001 20:17:23 +0000 (20:17 -0000)]
Whoa, oops! Bad bug in bytecode_new_common (wasn't returning allocated bc).
svn path=/trunk/yasm/; revision=166
Peter Johnson [Sun, 16 Sep 2001 19:47:21 +0000 (19:47 -0000)]
Update file descriptions to indicate that these files are just for the
NASM-compatible parser.
svn path=/trunk/yasm/; revision=165
Peter Johnson [Sun, 16 Sep 2001 19:44:49 +0000 (19:44 -0000)]
Use bytecode * instead of bytecode in parser.
Rename and restructure bytecode functions to make this use clearer.
svn path=/trunk/yasm/; revision=164
Peter Johnson [Sun, 16 Sep 2001 18:53:47 +0000 (18:53 -0000)]
Start building of sections and bytecodes in parser.
Still need to add section switching (currently never switches away from
default section).
svn path=/trunk/yasm/; revision=163
Peter Johnson [Sun, 16 Sep 2001 17:27:56 +0000 (17:27 -0000)]
Allow whitespace before a directive.
svn path=/trunk/yasm/; revision=162
Peter Johnson [Sun, 16 Sep 2001 17:21:33 +0000 (17:21 -0000)]
Use strcasecmp instead of strcmp when searching by keyword.
svn path=/trunk/yasm/; revision=161
Peter Johnson [Sun, 16 Sep 2001 09:15:27 +0000 (09:15 -0000)]
Add prototypes for strcasecmp and strncasecmp if we use our own implementation.
svn path=/trunk/yasm/; revision=160
Peter Johnson [Sun, 16 Sep 2001 09:13:00 +0000 (09:13 -0000)]
Check for case-insensitive string comparisons. Use strcasecmp and strncasecmp
in the source: if stricmp or strcmpi is available, they're mapped to
strcasecmp.
svn path=/trunk/yasm/; revision=159
Peter Johnson [Sun, 16 Sep 2001 05:39:35 +0000 (05:39 -0000)]
Use abort() instead of exit() if it's available for InternalError() and
Fatal().
svn path=/trunk/yasm/; revision=158
Peter Johnson [Sun, 16 Sep 2001 04:49:46 +0000 (04:49 -0000)]
Use queue.h macros in section.h, and reference bytecode using bytecodehead.
Remove old "append" function from bytecode.h
Add generic parser functions, clean up parser struct.
svn path=/trunk/yasm/; revision=157
Peter Johnson [Sat, 15 Sep 2001 07:17:38 +0000 (07:17 -0000)]
Update to match outfmt->objfmt change.
svn path=/trunk/yasm/; revision=156
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