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
H. Peter Anvin
a7dd90ee82
specfile: correctly handle compressed manpages
2007-12-26 10:18:01 -08:00
H. Peter Anvin
43558b392f
NASM 2.01rc1
2007-12-25 15:38:41 -08:00
H. Peter Anvin
ce100a496d
Document "-f elf" fix.
2007-12-25 15:38:22 -08:00
H. Peter Anvin
82ea192235
Update CHANGES for an upcoming 2.01 release.
2007-12-25 15:31:27 -08:00
H. Peter Anvin
69f0557345
Remove bogus duplicates of the PREFETCH* instructions
2007-12-25 15:24:07 -08:00
H. Peter Anvin
1bec91e567
(Hopefully) fix the handing of MMX instructions with prefixes
...
Mark MMX instructions with \323 (do not add REX.W) unless they involve
the integer instruction file.
Change SM -> SQ for MMX instructions.
Something not complete attached, so my understanding is
mmxreg,mmxrm needs SQ
Something like xmmreg,reg32 needs SD
xmmreg,xmmrm needs SO
2007-12-25 15:18:12 -08:00
H. Peter Anvin
914fdf9ba0
ndisasm: handle instructions at offset zero
...
Correctly handle instructions at offset zero
2007-12-20 12:24:17 -08:00
H. Peter Anvin
a81c62e18f
Add RDOFF man pages to specfile.
2007-12-18 16:13:47 -08:00
H. Peter Anvin
c79262a61e
rdoff: add man pages from the Debian project.
...
Add man pages for some of the rdoff programs, from the Debian project.
2007-12-18 16:12:13 -08:00
H. Peter Anvin
bebf220ba9
Complete the altreg set with "r0h".."r3h".
2007-12-10 15:36:39 -08:00
H. Peter Anvin
65746dfecd
Merge branch 'master' of git+ssh://repo.or.cz/srv/git/nasm
2007-12-10 15:35:50 -08:00
H. Peter Anvin
e55c836b5a
Document naming of registers in 64-bit mode
...
Intel's docs diverge from AMD's docs (MASM follow AMD's docs);
formally document what we're doing and include a file of macros in
case someone wants to use alternate names.
2007-12-10 15:35:28 -08:00
Charles Crayne
116994111b
Fix elf vs elf32 stabs generation bug
...
When invoked as -f elf -g, stabs info was not being generated.
2007-11-30 16:23:56 -08:00
H. Peter Anvin
5f5a252a36
Refer to version 2.00 consistently as 2.00 not 2.0
2007-11-29 17:30:11 -08:00
H. Peter Anvin
869ed26461
doc: 16- and 128-bit floating point were also new for 2.0
2007-11-29 17:29:37 -08:00
H. Peter Anvin
f7acb2f902
Update install instructions; remove references to nasmw.exe
2007-11-29 17:28:05 -08:00
H. Peter Anvin
72da449a41
doc: s/NASM/nasm/ in invocation example
...
On case-sensitive systems, "NASM" doesn't work.
2007-11-29 17:20:45 -08:00
H. Peter Anvin
d1e8ba6039
-o is output filename, not output format
2007-11-29 17:19:49 -08:00