]>
granicus.if.org Git - yasm/log
Peter Johnson [Mon, 24 Sep 2001 05:57:28 +0000 (05:57 -0000)]
Add check and BSD replacement for strsep(3).
svn path=/trunk/yasm/; revision=218
Peter Johnson [Mon, 24 Sep 2001 02:00:10 +0000 (02:00 -0000)]
Delete ancient symrec cruft.
svn path=/trunk/yasm/; revision=217
Peter Johnson [Sun, 23 Sep 2001 23:12:51 +0000 (23:12 -0000)]
Integrate ternary search trees into build.
svn path=/trunk/yasm/; revision=216
Peter Johnson [Sun, 23 Sep 2001 23:04:04 +0000 (23:04 -0000)]
Initial revision
svn path=/trunk/yasm/; revision=212
Peter Johnson [Sun, 23 Sep 2001 19:26:31 +0000 (19:26 -0000)]
Make name and keyword const.
svn path=/trunk/yasm/; revision=211
Peter Johnson [Sun, 23 Sep 2001 19:22:04 +0000 (19:22 -0000)]
Get initial bits setting from object format. Change the initial section name
from a function to a constant string. Make mode_bits uniformily an unsigned
char instead of an int.
svn path=/trunk/yasm/; revision=210
Peter Johnson [Thu, 20 Sep 2001 07:13:40 +0000 (07:13 -0000)]
Define YY_NEVER_INTERACTIVE, because we never are :).
svn path=/trunk/yasm/; revision=209
Peter Johnson [Thu, 20 Sep 2001 07:02:05 +0000 (07:02 -0000)]
Check for snprintf (used in Check suite). Also define _GNU_SOURCE for Check
to stop warnings on Linux.
svn path=/trunk/yasm/; revision=208
Peter Johnson [Thu, 20 Sep 2001 06:53:25 +0000 (06:53 -0000)]
Remove error message for check when check is disabled. It breaks check (and
distcheck) on linux.
svn path=/trunk/yasm/; revision=207
Peter Johnson [Thu, 20 Sep 2001 06:43:19 +0000 (06:43 -0000)]
Include stddef.h for size_t.
svn path=/trunk/yasm/; revision=206
Peter Johnson [Thu, 20 Sep 2001 06:38:27 +0000 (06:38 -0000)]
Make sure | and == done in right order.
svn path=/trunk/yasm/; revision=205
Peter Johnson [Thu, 20 Sep 2001 06:25:05 +0000 (06:25 -0000)]
Try to fix configure and automake files so everything builds a bit cleaner.
Also try to fix the warnings on the GNU C Library.
Still a lot of work and testing to be done here, but making progress.
svn path=/trunk/yasm/; revision=204
Peter Johnson [Thu, 20 Sep 2001 03:21:26 +0000 (03:21 -0000)]
Cleaned up bytecode data structure, some effaddr functions. Made ea an
effaddr * instead of an effaddr to decrease size of bytecode. Changed parser
to use effaddr * as well. Finally fixed issue with ONE by adding flag to
bytecode.data.insn and utilizing spare bytes of the opcode. Hackish, but
works.
svn path=/trunk/yasm/; revision=203
Peter Johnson [Thu, 20 Sep 2001 02:38:07 +0000 (02:38 -0000)]
Added README and NEWS to EXTRA_DIST.
svn path=/trunk/yasm/; revision=202
Peter Johnson [Wed, 19 Sep 2001 21:56:00 +0000 (21:56 -0000)]
Autoconfize Check test suite, and make it work even if fork(), wait(), and
msg*() aren't available.
svn path=/trunk/yasm/; revision=201
Peter Johnson [Wed, 19 Sep 2001 19:35:53 +0000 (19:35 -0000)]
Allow make check and tests module to be disabled, as it's not portable yet.
svn path=/trunk/yasm/; revision=200
Peter Johnson [Wed, 19 Sep 2001 19:30:34 +0000 (19:30 -0000)]
Make sure bison.y and token.l get included in the distribution.
svn path=/trunk/yasm/; revision=199
Peter Johnson [Wed, 19 Sep 2001 18:04:08 +0000 (18:04 -0000)]
Add portable little-endian file functions.
svn path=/trunk/yasm/; revision=198
Peter Johnson [Wed, 19 Sep 2001 09:06:54 +0000 (09:06 -0000)]
Pull in GCC and ELF alternatives for RCSID() if available.
Idea from: sys/cdefs.h on FreeBSD.
svn path=/trunk/yasm/; revision=197
Peter Johnson [Wed, 19 Sep 2001 07:20:02 +0000 (07:20 -0000)]
Build section linked list, and support the section directive, including
asking the objfmt module. Add some utility functions for both bytecode
and section to better modularize their data structure usage and common
code. Rename doparse to do_parse to be consistent in naming.
svn path=/trunk/yasm/; revision=196
Peter Johnson [Tue, 18 Sep 2001 23:21:04 +0000 (23:21 -0000)]
Completely test ConvertRegToEA().
svn path=/trunk/yasm/; revision=195
Peter Johnson [Tue, 18 Sep 2001 22:06:09 +0000 (22:06 -0000)]
Print the test function name along with the test case name. Many of our
functions are so small that it doesn't make sense to have a test case for
every function (rather just a test function for every function).
svn path=/trunk/yasm/; revision=194
Peter Johnson [Tue, 18 Sep 2001 18:02:23 +0000 (18:02 -0000)]
Cleanup of local .cvsignore files after addition of global CVSROOT/cvsignore.
svn path=/trunk/yasm/; revision=193
Peter Johnson [Tue, 18 Sep 2001 17:50:59 +0000 (17:50 -0000)]
Don't always check for Perl.
svn path=/trunk/yasm/; revision=191
Peter Johnson [Tue, 18 Sep 2001 17:38:45 +0000 (17:38 -0000)]
Add unit test framework using Check (http://check.sourceforge.net/).
Only test included right now is a tiny one for one bytecode function, but
will grow as time goes on.
TODO: check for non ANSI C things required by Check.
svn path=/trunk/yasm/; revision=190
Peter Johnson [Tue, 18 Sep 2001 17:31:02 +0000 (17:31 -0000)]
Initial revision
svn path=/trunk/yasm/; revision=186
Peter Johnson [Tue, 18 Sep 2001 06:40:45 +0000 (06:40 -0000)]
Change ../ to $(top_builddir). It's clearer and safer.
svn path=/trunk/yasm/; revision=185
Peter Johnson [Tue, 18 Sep 2001 06:22:02 +0000 (06:22 -0000)]
Limit some tools to --enable-dev only. Only check for and use them if
--enable-dev is passed to configure.
svn path=/trunk/yasm/; revision=184
Michael Urman [Tue, 18 Sep 2001 03:23:52 +0000 (03:23 -0000)]
Fixed two ansi C errors (empty file and extra semicolon)
svn path=/trunk/yasm/; revision=183
Peter Johnson [Tue, 18 Sep 2001 01:08:46 +0000 (01:08 -0000)]
Reorganize docs into programmer and user parts. Repo-copy contrib/queue to
programmer/queue.
svn path=/trunk/yasm/; revision=182
Peter Johnson [Mon, 17 Sep 2001 23:33:15 +0000 (23:33 -0000)]
Add rcs id.
svn path=/trunk/yasm/; revision=181
Peter Johnson [Mon, 17 Sep 2001 23:07:09 +0000 (23:07 -0000)]
Add configure.scan and *.tar.gz.
svn path=/trunk/yasm/; revision=180
Peter Johnson [Mon, 17 Sep 2001 23:05:52 +0000 (23:05 -0000)]
Use absolute paths instead of srcdir because libintl.h is built in the
build directory. To pass distcheck we need to do it this way.
svn path=/trunk/yasm/; revision=179
Peter Johnson [Mon, 17 Sep 2001 22:44:11 +0000 (22:44 -0000)]
Use automake for queue docs, otherwise distcheck complains.
svn path=/trunk/yasm/; revision=178
Peter Johnson [Mon, 17 Sep 2001 22:43:13 +0000 (22:43 -0000)]
optimizer.h should be listed in yasm_SOURCES and it wasn't.
svn path=/trunk/yasm/; revision=177
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