Commit graph

229 commits

Author SHA1 Message Date
H. Peter Anvin
fcb8909749 Move all the RAA code out of nasmlib
The RAA code doesn't have to be in nasmlib; it is only used by nasm
itself, and is better handled in a separate module.
2008-06-09 17:40:16 -07:00
H. Peter Anvin
1803dedae8 Move all the SAA code out of nasmlib
Move all the SAA code out of nasmlib; it's not used by anything than
nasm itself.  Cleaning out the kitchen sink known as nasmlib is a good
thing, too.
2008-06-09 17:32:43 -07:00
H. Peter Anvin
c735d1a6b2 Replace the WSAA macros with functions
Change the WSAA macros into functions; reducing the icache footprint.
2008-06-08 21:15:01 -07:00
H. Peter Anvin
0eebf799db Update .gitignore, remove bogus dependency 2008-06-04 08:58:53 -07:00
H. Peter Anvin
3bc3c934d9 Makefile/dependency updates
Add quote.c to all the auxiliary Makefiles, and run "make alldeps".
2008-06-04 08:49:10 -07:00
H. Peter Anvin
ad42e0d1fb make alldeps 2008-05-27 14:34:53 -07:00
H. Peter Anvin
0c648204e2 openwcom.mak: wmake uses & for continuation, not \ (sigh)
wmake uses & for continuation, since \ is used for pathname
separators.
2008-05-20 14:42:53 -07:00
H. Peter Anvin
f176537c1b netware.mak: correct dependencies
The Makefile uses VPATH and stripped directory names for files, so
generate the dependencies accordingly.
2008-05-20 14:35:34 -07:00
H. Peter Anvin
a4835d466c Avoid #including .c files; instead compile as separate units
Don't #include .c files, even if they are auto-generated; instead
compile them as separate compilation units and let the linker do its
job.
2008-05-20 14:21:29 -07:00
H. Peter Anvin
2c94c44f35 Make insnsb.c an actual compilation unit
"make alldeps" doesn't really like it when included files end in *.c.
Instead of renaming insnsb.c to insnsb.h, make it an actual
compilation unit, since there really isn't any reason for it not to
be.
2008-05-13 14:29:47 -07:00
H. Peter Anvin
3720f7beae Generate a byte array instead of using strings for the byte codes
Generate a byte array instead of using C compiler strings for the byte
codes.  This has a few advantages:

- No need to special-case zero due to broken C compilers.
- Only insns.pl only ever reads the string, so we can invent our own
  syntax.
- Compaction.
- We can give it the proper, unsigned type.
2008-05-12 11:00:50 -07:00
H. Peter Anvin
72ec0e4144 Temporaries in macros need a unique prefix; WSAA*() macros to header
When using temporaries in macros, given them a unique prefix to avoid
namespace collisions when using one macro inside another.

Move the WSAA*() macros from outelf32/outelf64 to a separate header
file.
2008-04-10 14:56:09 -07:00
H. Peter Anvin
88ab419cc6 OpenWatcom: optimize for 686
Apparently -6 compiles are defined to run on anything 386 or newer,
and just use different instruction timings.
2008-02-16 15:44:24 -08:00
H. Peter Anvin
5de0c0b9f1 Mkfiles/README: document the Netware Makefile. 2008-02-05 21:35:08 -08:00
H. Peter Anvin
197a5a240b Add Makefile for Netware
Add Makefile for Netware, using the GNU toolchain.
2008-02-05 21:30:16 -08:00
H. Peter Anvin
73398c5012 OpenWatcom makefiles: add DEBUG option
Add a Makefile variable, DEBUG, which can be used to set debug options
(-d2, -DLOGALLOC, etc.)
2008-01-21 16:18:44 -08:00
H. Peter Anvin
9964558613 Fix the options when compiling under OpenWatcom
OpenWatcom needs different strings for compile and link target, so
using -bcl which uses the same string for both is just plain wrong.
This fixes that bit, but running nasm on test/floatx.asm (at least as
a DOS or a Win32 binary) crashes with a NULL pointer reference inside
the C library free() function.
2008-01-21 11:50:31 -08:00
H. Peter Anvin
23f1644ba9 Run "make alldeps" 2007-10-30 01:13:27 -07:00
H. Peter Anvin
be1b83d24a owlinux.mak: don't clean things we won't be able to
There won't be a Makefile in rdoff in particular, so trying to run
"make clean" there is pointless.
2007-10-10 14:55:14 -07:00
H. Peter Anvin
4d13bdc72f make alldeps 2007-10-02 21:57:27 -07:00
H. Peter Anvin
4a8daf0607 Run "make alldeps".
Run "make alldeps".  This stuff probably shouldn't be checked in...
2007-10-02 21:13:18 -07:00
H. Peter Anvin
304b605563 Add substitutes for snprintf() and vsnprintf()
To deal with fools^Wpeople trying to keep really old systems alive,
create a proper framework for substitution functions, and make it
possible to deal with the lack of snprintf/vsnprintf in particular.
2007-09-28 10:50:20 -07:00
H. Peter Anvin
ab8447ed99 Exclude config.h from the dependency list for the canned makefiles
For the canned makefiles, we almost certainly don't have config.h, and
shouldn't include it in the list of dependencies.
2007-09-27 21:35:04 -07:00
H. Peter Anvin
ede337ca51 Add Makefile for Linux -> DOS, Win32, OS/2 using OpenWatcom
Add a Makefile (for GNU Make, not wmake) to cross-compile NASM for
DOS, OS/2 or Win32 using OpenWatcom.
2007-09-27 19:46:55 -07:00
H. Peter Anvin
c38c117188 Add Makefile for OpenWatcom (DOS, OS/2 or Win32 output)
Add a Makefile for OpenWatcom using WMAKE.  This is a horrible version
of Make, but since it's bundled with OpenWatcom it is probably better
to stick to it.  It has the nice property that it can produce DOS,
Win32 or OS/2 binaries.

This Makefile currently assumes that it is hosted on a system where
pathname separators are backslashes.  For cross-compiling using
OpenWatcom on a Linux system it is probably better to write a separate
Makefile using GNU make to invoke Watcom.
2007-09-26 19:57:07 -07:00
H. Peter Anvin
dc467ba8af Support __float*__ for floating-point numbers in expressions
Add special operators to allow the use of floating-point constants in
contexts other than DW/DD/DQ/DT/DO.

As part of this checkin, make MAX_KEYWORD generated by tokhash.pl,
since it knows what all the keywords are so it can tell which one is
the longest.
2007-09-24 12:30:54 -07:00
H. Peter Anvin
87f252aaa5 Make nasm_malloc() et al available from inside ndisasm
Clean up nasmlib to remove functions irrelevant for ndisasm; make
nasm_malloc() etc usable inside ndisasm.
2007-09-19 21:40:37 -07:00
H. Peter Anvin
3a7edd73a3 Sort dependency lists
Sort the dependency lists generated by "mkdep.pl", to make sure that
re-running "make alldeps" doesn't change anything unless there has
been real dependency changes.  The previous version could produce
different output between runs and across platforms.
2007-09-17 13:56:26 -07:00
H. Peter Anvin
b8af9aa522 Cleaner way to handle MSVC's _snprintf() underscore damage
Some versions of MSVC have snprintf() and vsnprintf() only with a
leading underscore.  Handle that a bit more cleanly.
2007-09-17 13:53:14 -07:00
H. Peter Anvin
e8bfecf275 Fix Makefile for MSVC++ 2005, delete obsolete Makefiles
New Makefile for MSVC++ 2005, delete old unmaintained Makefiles.
2007-09-16 22:16:24 -07:00
H. Peter Anvin
9e8e948f86 Run "make alldeps" 2007-09-16 18:35:02 -07:00
H. Peter Anvin
6244f4b5b9 Use the new hash table function library to store labels
Use the new hash table function library to store labels.  When
compiling on my 64-bit system, it reduces the assembly time for the
output of test/perf/label.pl from 73 to 7 seconds.
2007-09-14 18:03:29 -07:00
H. Peter Anvin
d105682096 Remove $Id$ tags (useless with git)
Remove CVS $Id$ tags, since git doesn't use them.
2007-09-12 21:05:06 -07:00
H. Peter Anvin
16b0a33cea Use enumerations where practical to ease debugging
We have a lot of enumerations; by declaring fields as such, we make it
easier when debugging, since the debugger can display the enumerations
in cleartext.  However, make sure exceptional values (like -1) are
included in the enumeration, since the compiler otherwise may not
include it in the valid range of the enumeration.
2007-09-12 20:27:41 -07:00
H. Peter Anvin
9e1c202b69 Run "make alldeps"; add dependencies missing from the previous checkin
It helps to run "make alldeps" when the changes are actually complete...
2007-09-12 01:34:19 +00:00
H. Peter Anvin
4169a47bd9 Use a perfect hash to look up preprocessor directives
Use a perfect hash to look up preprocessor directives, and generate
the preprocessor directive list automatically.
2007-09-12 01:29:43 +00:00
H. Peter Anvin
74cc5e569c Finishing touches on perfect hash tokenizer; actually turn the thing on
Finish the perfect hash tokenizer, and actually enable it.

Move stdscan() et al to a separate file, since it's not needed in any
of the clients of nasmlib other than nasm itself.

Run make alldeps.
2007-08-30 22:35:34 +00:00
Frank Kotler
352170d5eb attempt to make static makefiles aware of outelf32/outelf64 2007-08-26 05:51:39 +00:00
H. Peter Anvin
ff69805feb Update dependencies. 2007-05-30 18:30:18 +00:00
H. Peter Anvin
7a83374a9c Run "make alldeps" 2007-05-29 21:44:55 +00:00
Keith Kanios
0899e21289 Added outmacho.* to static makefile. 2007-04-13 23:09:18 +00:00
Keith Kanios
ea13537d83 Added Dev-Cpp Makefile 2007-04-13 00:43:50 +00:00
Keith Kanios
b7a89544d0 General push for x86-64 support, dubbed 0.99.00. 2007-04-12 02:40:54 +00:00
H. Peter Anvin
5180bc8a59 Update dependencies 2005-01-14 23:05:31 +00:00
H. Peter Anvin
cefdfbc070 Support building 16-bit DOS binaries using OpenWatcom 2003-08-30 03:49:30 +00:00
H. Peter Anvin
68f2ac1158 Update status 2003-08-29 19:01:46 +00:00
H. Peter Anvin
3f62008ec2 Handle subdirectories 2003-08-29 18:57:50 +00:00
H. Peter Anvin
6ca1f9e21c Remove obsolete comment 2003-08-29 18:55:22 +00:00
Frank Kotler
3ab698a81e Touch up Makefile.b32 2003-08-29 05:15:35 +00:00
Nickolay Yurchenko
3f7cddc770 Added -d key (merge duplicate strings) to to compiler keys string. 2003-07-25 21:55:35 +00:00
H. Peter Anvin
33e007a6b6 Remove redundant define that generates too long command lines 2002-09-13 00:43:28 +00:00
H. Peter Anvin
24cfef4f8f Clean up unnecessary dependencies. 2002-09-12 16:34:06 +00:00
H. Peter Anvin
628168c502 Fix Borland C++ optimization bug; add test for bad DOS binaries. 2002-09-12 04:33:58 +00:00
H. Peter Anvin
6d4680a68d Update Makefile.bc3 so that it actually works again. 2002-06-06 03:33:38 +00:00
H. Peter Anvin
232badbbbc This is the "megapatch":
a) Automatically generate dependencies for all Makefiles;
b) Move register definitions to a separate .dat file;
c) Add support for "unimplemented but there in theory" registers.
2002-06-06 02:41:20 +00:00
H. Peter Anvin
372aad9547 Clean up Makefile.unx and document it better 2002-05-26 22:43:16 +00:00
John Coffman
460764e07f Account for ./output directory 2002-05-26 19:43:26 +00:00
H. Peter Anvin
d8aadba81c Update from John Coffman 2002-05-25 02:22:02 +00:00
Debbie Wiles
157635509a Added make rules for files generated from perl scripts 2002-05-20 02:26:35 +00:00
Debbie Wiles
43f14033c9 *** empty log message *** 2002-05-12 10:31:05 +00:00
Debbie Wiles
10dde88103 *** empty log message *** 2002-05-12 10:30:15 +00:00
Debbie Wiles
593231169e *** empty log message *** 2002-05-12 10:22:25 +00:00
H. Peter Anvin
22e5dda13d Change "working" to "OK" 2002-05-10 19:52:08 +00:00
H. Peter Anvin
918af68255 Handle the "output" directory correctly (patch from John Coffman.) 2002-05-10 19:51:48 +00:00
H. Peter Anvin
effc271151 Fix comment. 2002-05-10 00:35:37 +00:00
H. Peter Anvin
7f588e0e4c Makefile work: Add working 16-bit DOS variants (Borland C++ 3.1, MSC 7),
remove a file that seems to be beyond rescue, update the README file
to be a bit more informative.
2002-05-10 00:29:32 +00:00
H. Peter Anvin
e87613b14e Make all version information come from the single file "version".
Introduce new standard __NASM_SUBMINOR__ and __NASM_VER__ macros.
2002-05-04 03:57:52 +00:00
H. Peter Anvin
8ac364139a NASM 0.98.30 2002-04-30 21:09:12 +00:00
H. Peter Anvin
005b39c856 NASM 0.98.26 2002-04-30 21:08:42 +00:00
H. Peter Anvin
9a633fa3b9 NASM 0.98.25alt 2002-04-30 21:08:11 +00:00
H. Peter Anvin
dce1e2f795 NASM 0.98.23 2002-04-30 21:06:37 +00:00
H. Peter Anvin
734b188090 NASM 0.98.09 2002-04-30 21:01:08 +00:00
H. Peter Anvin
1cd0e2d5bf NASM 0.98.08 2002-04-30 21:00:33 +00:00
H. Peter Anvin
af535c16cf NASM 0.98.03 2002-04-30 20:59:21 +00:00
H. Peter Anvin
41bf8002b2 NASM 0.98 2002-04-30 20:58:18 +00:00
H. Peter Anvin
620515ab4e NASM 0.98p6 2002-04-30 20:57:38 +00:00
H. Peter Anvin
cd08b15c28 NASM 0.98p3.7 2002-04-30 20:57:19 +00:00
H. Peter Anvin
4342239f77 NASM 0.98p3.4 2002-04-30 20:56:19 +00:00
H. Peter Anvin
ce14ce6fc4 NASM 0.98p3.2 2002-04-30 20:54:58 +00:00