Age | Commit message (Collapse) | Author | Files | Lines |
|
Both C and C++ have "bool", "true" and "false" in lower case; C
requires <stdbool.h> for this, in C++ it is an inherent type built
into the compiler. Use those instead of the old macros; emulate with
a simple typedef enum if unavailable.
|
|
There won't be a Makefile in rdoff in particular, so trying to run
"make clean" there is pointless.
|
|
AC_USE_SYSTEM_EXTENSIONS is really, *really* useful, but apparently
requires autoconf 2.61...
|
|
Add option -Ox to tell NASM to do as many passes as it needs, instead
of imposing a fixed number.
|
|
This reverts commit d9e3116be19165325ee9457bc207d47300075739.
0x513c1704 is 50.49e9, not 50.40e9
|
|
50.40e9 as a 32-bit float is 0x513c1704
|
|
The direction of the overrun test in saa_rstruct was backwards.
|
|
|
|
"len" should properly be initialized on every turn of the loop. It
can be initialized to any value >= blk_len that fits in a size_t.
(size_t)~0 would work except for any possible noncompliant C compilers
that have a signed size_t (illegal per C99 7.17.2).
|
|
|
|
It's useful to be able to disassemble a test case, so avoid mixing
data bytes and code.
|
|
Add test cases for noninitial uses of \170, in order to test for
accidental duplication of REX prefixes.
|
|
The previous checkin checked in zerobyte.bin, not zerobyte.asm
|
|
|
|
|
|
|
|
|
|
Add tests for the exponent boundaries (underflow, denorm, normal).
|
|
We would accidentally produce an exponent which was exactly +1 from
the correct one.
|
|
Add rules for .pl -> .asm
|
|
SAA's were never intended to allow random access, but several backends
do random or semirandom access via saa_fread() and saa_fwrite()
anyway. Rewrite the SAA system to allow for efficient random access.
On "label.pl 10000000" this improves performance by a factor of 12.
|
|
Change cloc_t to struct location, and reorder the members so that it
should fit in 16 bytes instead of needing 8 bytes of extra padding on
64-bit machines.
|
|
Change loc_t to cloc_t to avoid AIX conflict.
We really shouldn't use _t names at all; they are usually considered
platform types, but worry about that later.
|
|
|
|
|
|
Add "const" in suitable places
|
|
|
|
Concentrate compiler dependencies to compiler.h; make sure compiler.h
is included first in every .c file (since some prototypes may depend
on the presence of feature request macros.)
Actually use the conditional inclusion of various functions (totally
broken in previous releases.)
|
|
Run "make alldeps". This stuff probably shouldn't be checked in...
|
|
Use the same crc64 that we already use for the symbol table hash as
the perfect hash function prehash. We appear to get radically faster
convergence this way, and the crc64 is probably *faster*, since the
table likely to be resident in memory.
|
|
0F 18-1F are reserved for hinting NOPs; they all take a single memory
operand which may be sized. Allow the use of systematic names; this
also makes sure they get sensibly disassembled.
|
|
We use empty strings, not null pointers, for unspecified files, so
there is no need to compare them for nullness.
|
|
Check for the most basic filename overlaps, in case we have the
opportunity to save the user from himself.
|
|
modified: nasm.c to fully parse command line before redirecting stderr.
|
|
|
|
AC_SUBST_FILE happened to work in autoconf 2.59, but is broken in
autoconf 2.61.
|
|
Remove bogus "treat labels different from immediates" code, which
would result in generating of a relative mod/rm but without adjusting
the address accordingly.
Update addressing mode test.
|
|
|
|
Correct the boundary conditions in lib/vsnprintf.c; as it was we could
have an undetected one-byte overwrite.
|
|
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.
|
|
|
|
For the canned makefiles, we almost certainly don't have config.h, and
shouldn't include it in the list of dependencies.
|
|
Add support for daily snapshot releases of the form
<ordinary version number>-<datecode>. These are exported to programs
as the new macro __NASM_SNAPSHOT__ (only present in snapshot releases.)
|
|
Add a Makefile (for GNU Make, not wmake) to cross-compile NASM for
DOS, OS/2 or Win32 using OpenWatcom.
|
|
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.
|
|
Test of various addressing modes in 64-bit mode. Relative addresses
specified as numbers are currently broken!!
|
|
Old -E becomes -Z
New -E is alias for -e
Remove the obsolete -r option
|
|
|
|
Corrections the section on 64-bit immediates and displacements. In
particular, immediates are sign-extended the same way displacements
are (and the same way 8-bit immediates are), so there is some use for
the 7-byte mov eax,dword imm form :(
|
|
|