Commit Graph

940 Commits

Author SHA1 Message Date
H. Peter Anvin
8c01b0b409 Use term "host platform" consistently 2008-02-16 14:57:45 -08:00
H. Peter Anvin
70e63c9a9a Add standard time macro boilerplate to __POSIX_TIME__ 2008-02-16 14:56:49 -08:00
H. Peter Anvin
6b18bcce46 BR 774131: date and time macros
This checkin creates the following date and time macros:

__DATE__, __TIME__, __UTC_DATE__, __UTC_TIME__: strings

__DATE_NUM__, __TIME_NUM__, __UTC_DATE_NUM__, __UTC_TIME_NUM__:
civil dates in digit-string formats

__POSIX_TIME__: time in POSIX time_t format
2008-02-16 14:54:10 -08:00
H. Peter Anvin
188ce76c46 Constipate the stdmac[] array. 2008-02-16 13:58:45 -08:00
H. Peter Anvin
927c92b478 BR 1582430: Allow numbers with leading + or - for %ifnum
Allow numbers with a leading + or - to return true for %ifnum.
2008-02-16 13:44:52 -08:00
H. Peter Anvin
373281afde BR 1893952: XGETBV is not privileged. 2008-02-16 13:29:56 -08:00
H. Peter Anvin
f6c51f084b Add XSAVE instruction features (CPU feature is bogus, but oh well.)
Add the XSAVE group of instructions: XSAVE, XRSTOR, XGETBV, XSETBV.
The CPU feature information is bogus, but so is our entire handling of
CPU feature sets for anything but the bare necessities (long jump
emulation, etc.)
2008-02-14 11:25:36 -08:00
Charles Crayne
f0b43d212e Upgrade dwarf3 support for elf64
Add support for multiple executable segments
2008-02-13 19:58:54 -08:00
Charles Crayne
978a25d3e9 Test version of dwarf debugging format for elf64
Not ready for prime time, but anyone who is interested
is welcome to help me test.
2008-02-06 22:17:55 -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
18622eb374 version.pl: produce Makefile variables
Add a mode to version.pl to produce Makefile variables (used by
Netware Makefile.)
2008-02-05 21:29:32 -08:00
H. Peter Anvin
877ca3bc80 Fix "carryover" of exclude information from one file to another.
my %foo; doesn't mean %foo is initialized to empty, need my %foo = ();
or my %foo = undef; or similar for that.
2008-02-05 21:28:44 -08:00
H. Peter Anvin
bb2fa762b4 NASM 2.02rc1 2008-01-30 14:23:43 -08:00
H. Peter Anvin
f1e34a326e Add list of changes for 2.02, so far 2008-01-30 14:22:17 -08:00
H. Peter Anvin
053a01f143 Test for BR 1879590 2008-01-30 14:13:46 -08:00
Ismail Dönmez
e7d855209a BR 1879590: More MMX/SSE size fixes
Fix more instances of MMX/SSE having "SM" instead of "SQ" or "SO".
This should hopefully resolve bug report 1879590.
2008-01-30 14:09:45 -08:00
H. Peter Anvin
d387b8c6dd BR 1880905: make sure we have enough zero-padding data for 'DO'
When using DO with a string that was too short, we would run off the
end of an all-zero buffer.  Make sure the buffer is long enough.
2008-01-27 16:40:07 -08:00
Charles Crayne
f3d2d41e06 Prevent segfault in stabs64_typevalue
Prevent segfault when type == STT_OBJECT and no symbol
has been defined.
2008-01-27 12:49:20 -08:00
H. Peter Anvin
5a99f4f2f0 float.c: BR 1879670: fix output byte order
The fix for the memory overwrite output the bytes in the wrong order.
Fix.
2008-01-25 08:11:23 -08:00
H. Peter Anvin
2b046cf67f Ignore ERR_PASS1 except for actual warnings
is_suppressed_warning() should never return true unless we're actually
dealing with a warning.  There is a handful of cases where we pass
ERR_PASS1 down together with errors, but that's mostly because it fits
into an overall pattern.  Thus, ignore it.
2008-01-22 14:08:36 -08:00
H. Peter Anvin
c221523976 RAA subsystem: use shift instead of divide
Make the RAA size always a power of two, so we can use shifts instead
of multiple, expensive divides.
2008-01-21 16:33:00 -08:00
H. Peter Anvin
b4daadc0d8 preproc.c: simplify detoken() slightly
Probably pointless optimization of detoken()...
2008-01-21 16:31:57 -08:00
H. Peter Anvin
216d074e97 nasmlib.c: log nasm_free() before calling free()
If we're logging nasm_free(), then log it before we actually call
free(); that way we can find out what the last thing was if free()
crashes.
2008-01-21 16:29:10 -08:00
H. Peter Anvin
e3b418b137 nasmlib.h: nasm_zalloc() should call nasm_zalloc_log()
If we're doing logging, we need to call nasm_zalloc_log()
2008-01-21 16:28:04 -08:00
H. Peter Anvin
8271db6f1f misc/findleak.pl: make executable
misc/findleak.pl: no text change, but mark file executable.
2008-01-21 16:26:32 -08:00
H. Peter Anvin
aeb57415dd nasm.h: make t_type an enum
Make t_type an enum to make debugging easier.
2008-01-21 16:26:05 -08:00
H. Peter Anvin
be2678cd31 nasm.c: clean up the handing of response files
Avoid using malloc/free (not nasm_malloc/nasm_free even) in the
processing of response files; move to separate function.
2008-01-21 16:23:59 -08:00
H. Peter Anvin
f7bd02a07f float.c: fix memory overwrite with 8-, 16- or 80-bit constants
We incorrectly clobbered 4 extra bytes when serializing 8-, 16- or
80-bit constants.  Be less smart, but actually correct.
2008-01-21 16:19:52 -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
8960f37b9c doc/Makefile.in: avoid deleting opt_var.txt, fix dependencies
Fix dependencies in the generation of the instruction list, and make
sure we don't delete opt_var.txt on "make spotless".
2008-01-20 21:50:02 -08:00
Charles Crayne
c17a0eb31b Add autogenerated instruction list to NASM documentation
1. Allow included files in rdsrc.pl
2. New program inslist.pl to generate instruction list from insns.dat
3. Mark certain comments in insns.dat as documentation subheaders
4. Add Instruction List appendix to nasmdoc.src
5. Update build process to invoke inslist.pl
2008-01-20 16:27:03 -08:00
H. Peter Anvin
e6c01e659e NASM 2.01 2008-01-17 15:12:05 -05:00
H. Peter Anvin
0317dd77c8 Document change in ELF section limit 2008-01-17 15:11:46 -05:00
Charles Crayne
c0d59a484d Merge branch 'master' of git+ssh://ccrayne@repo.or.cz/srv/git/nasm 2008-01-16 18:41:03 -08:00
Charles Crayne
730d6f821a Increase GLOBAL_TEMP_BASE
Increase GLOBAL_TEMP_BASE from 4096 to 1048576
2008-01-16 18:38:48 -08:00
H. Peter Anvin
a2c486cd6b Remove debugging printf
Remove debugging printf which shouldn't ever have been checked in ;)
2008-01-13 11:46:04 -08:00
Charles Crayne
4acfb4f44e Temporary fix for large number of sections
Increase GLOBAL_TEMP_BASE TO 4096
2008-01-11 17:22:19 -08:00
H. Peter Anvin
b2e8379707 NASM 2.01rc2 2008-01-08 23:07:50 -08:00
H. Peter Anvin
00835fec0e Sanitize the pass logic, and only issue PASS1 warnings on pass0 == 1
For PASS1 warnings, only do them when pass0 == 1.  The prior passes
are to be considered training passes.  This is a bit awkward if we
then hit an error, but it's better than n repeated warnings.
2008-01-08 23:03:57 -08:00
H. Peter Anvin
34ec300643 Remove magic "five pass minimum" - I'm pretty sure optimizer is fixed.
The five-pass-minimum was a hack for a bug which I think is identified
now.  Doesn't really change the fact that if you want the optimizer,
you probably want -Ox.
2008-01-08 22:31:20 -08:00
H. Peter Anvin
62cf415f49 Optimizer: force progression through final passes when hitting limit
We have a number of bug reports about things not working properly when
the optimizer is running out of passes.  I suspect the reason is
simply that we don't properly execute the final passes (pass0 = 1, 2)
when hitting the limit.  Make sure we advance pass0 the last few
times.
2008-01-08 22:29:21 -08:00
H. Peter Anvin
72c6437890 BR 1864243: better warnings for out-of-range constants
In particular, we'd miss issuing warnings for out-of-range dword
values, and the message for constants too large (we can't deal with >
64 bits) said 32 bits, not 64.
2008-01-08 22:13:48 -08:00
H. Peter Anvin
08367e2231 disasm: relative operands are signed, not unsigned
Relative operands are signed, not unsigned; record them as such and
then apply proper truncation after offset addition.
2008-01-02 12:20:38 -08:00
Charles Crayne
b8b1a61d10 Define MKDIR for rdoff make file
Addition of rdoff man pages uses MKDIR, which was not defined
2007-12-30 14:24:10 -08:00
Beroset
095e6a2973 regularized spelling of license to match name of LICENSE file 2007-12-29 09:44:23 -05:00
Charles Crayne
1727b3d0eb Check in Ed Beroset's documentation fix
Correct count in %strlen example
2007-12-28 15:00:03 -08:00
H. Peter Anvin
9e9a24253a disasm: 32-bit index registers were displayed as 64 bits
Fix bug where 32-bit index registers got incorrectly displayed as 64
bits:

00000000  678B040B          mov eax,[ebx+rcx]
00000004  678B044B          mov eax,[ebx+rcx*2]
00000008  678B045B          mov eax,[ebx+rbx*2]
2007-12-26 19:10:20 -08:00
H. Peter Anvin
292c615a95 More changes for 2.01 2007-12-26 10:18:49 -08:00