Commit Graph

900 Commits

Author SHA1 Message Date
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
H. Peter Anvin
3e30d5aefe Give an example on how Unix and Win64 count argument differently 2007-11-29 17:17:35 -08:00
H. Peter Anvin
52b4d6d7b0 Allow numbers to be sorted separately from letters
Allow numbers to be sorted separately from letters.
2007-11-29 17:10:04 -08:00
H. Peter Anvin
540f903928 nasmdoc.src: editorial changes 2007-11-29 17:07:53 -08:00
H. Peter Anvin
2fd420d330 CHANGES that were missed... 2007-11-29 17:05:55 -08:00
H. Peter Anvin
c2f77475fa Update COPYING file with the latest edition of LGPL 2.1
Not a new license, just editorial changes like the FSF address
changed.
2007-11-29 14:51:47 -08:00
H. Peter Anvin
c780557e15 %ixdefine, not %xidefine
The docs had %xidefine, the code has %ixdefine.  The code wins.
2007-11-29 13:10:08 -08:00
H. Peter Anvin
501735eecb NASM 2.00 2007-11-28 13:14:43 -08:00
H. Peter Anvin
1d32090469 Add macho support to CHANGES 2007-11-28 10:46:15 -08:00
H. Peter Anvin
212f67d472 Add OS/2 build instructions since our binaries don't work. 2007-11-28 10:42:21 -08:00
H. Peter Anvin
7061ad73fe BR 852464: Fix memory leak in %if/%elseif 2007-11-26 22:03:53 -08:00
H. Peter Anvin
00927db7e2 Additional CHANGES 2007-11-26 21:43:55 -08:00
Charles Crayne
f2098e9935 Documention Changes for Release 2.00
modified:   CHANGES
	modified:   ChangeLog
	modified:   doc/nasmdoc.src
2007-11-25 14:25:13 -08:00
H. Peter Anvin
21eed86871 Typo fixes in documentation
Typo fixes in documentation, including BR 1836379
2007-11-24 16:31:48 -08:00
H. Peter Anvin
3c832be508 NASM 2.00rc3 2007-11-20 23:37:46 -08:00
H. Peter Anvin
15c1e5aa4d Unbreak CMPSW/CMPSD/CMPSQ
The CMPSW/CMPSD/CMPSQ instructions were broken by checkin
a30cc07224 due to an incorrect removal
of \1 (should only have been removed after \144-147 and \154-157).  I
have verified that no other instructions were affected.
2007-11-20 21:45:16 -08:00
H. Peter Anvin
2e188be556 Merge branch 'master' of git+ssh://repo.or.cz/srv/git/nasm 2007-11-20 13:23:34 -08:00
H. Peter Anvin
49da468830 ndisasm: handle the case of "no more sync points"
Handle the case of "no more sync points" explicitly, instead of saying
the next sync point is at UINT32_MAX.
2007-11-20 13:22:58 -08:00
H. Peter Anvin
a057a993cf NASM 2.00rc2 2007-11-19 23:09:31 -08:00
H. Peter Anvin
d0d760e4e3 tag-release: a simple script to tag the repository for release 2007-11-19 23:09:24 -08:00
H. Peter Anvin
2a15e69ebe Slightly faster implementation of the deadman counter
Count down to zero instead of up to a constant...
2007-11-19 13:14:59 -08:00
H. Peter Anvin
cb1cf59312 BR 812417: Deadman counter for macro expansion
Per BR 812417, certain macro expansions can hang NASM.  Allow a
deadman counter (currently set to 2^20) to fail out if it gets
ridiculous.
2007-11-19 12:26:50 -08:00
H. Peter Anvin
a27ccb9f61 BR 877583: Fix RAA memory leak
raa_free() didn't actually do the proper job; it would only free leaf
nodes, not internal nodes.
2007-11-19 12:02:38 -08:00