platform/upstream/nasm.git
16 years agoAllow numbers to be sorted separately from letters
H. Peter Anvin [Fri, 30 Nov 2007 01:10:04 +0000 (17:10 -0800)]
Allow numbers to be sorted separately from letters

Allow numbers to be sorted separately from letters.

16 years agonasmdoc.src: editorial changes
H. Peter Anvin [Fri, 30 Nov 2007 01:07:53 +0000 (17:07 -0800)]
nasmdoc.src: editorial changes

16 years agoCHANGES that were missed...
H. Peter Anvin [Fri, 30 Nov 2007 01:05:55 +0000 (17:05 -0800)]
CHANGES that were missed...

16 years agoUpdate COPYING file with the latest edition of LGPL 2.1
H. Peter Anvin [Thu, 29 Nov 2007 22:51:47 +0000 (14:51 -0800)]
Update COPYING file with the latest edition of LGPL 2.1

Not a new license, just editorial changes like the FSF address
changed.

16 years ago%ixdefine, not %xidefine
H. Peter Anvin [Thu, 29 Nov 2007 21:10:08 +0000 (13:10 -0800)]
%ixdefine, not %xidefine

The docs had %xidefine, the code has %ixdefine.  The code wins.

16 years agoNASM 2.00
H. Peter Anvin [Wed, 28 Nov 2007 21:14:43 +0000 (13:14 -0800)]
NASM 2.00

16 years agoAdd macho support to CHANGES
H. Peter Anvin [Wed, 28 Nov 2007 18:46:15 +0000 (10:46 -0800)]
Add macho support to CHANGES

16 years agoAdd OS/2 build instructions since our binaries don't work.
H. Peter Anvin [Wed, 28 Nov 2007 18:41:55 +0000 (10:41 -0800)]
Add OS/2 build instructions since our binaries don't work.

16 years agoBR 852464: Fix memory leak in %if/%elseif
H. Peter Anvin [Tue, 27 Nov 2007 06:02:21 +0000 (22:02 -0800)]
BR 852464: Fix memory leak in %if/%elseif

16 years agoAdditional CHANGES
H. Peter Anvin [Tue, 27 Nov 2007 05:43:55 +0000 (21:43 -0800)]
Additional CHANGES

16 years agoDocumention Changes for Release 2.00
Charles Crayne [Sun, 25 Nov 2007 22:25:13 +0000 (14:25 -0800)]
Documention Changes for Release 2.00

modified:   CHANGES
modified:   ChangeLog
modified:   doc/nasmdoc.src

16 years agoTypo fixes in documentation
H. Peter Anvin [Sun, 25 Nov 2007 00:31:48 +0000 (16:31 -0800)]
Typo fixes in documentation

Typo fixes in documentation, including BR 1836379

16 years agoNASM 2.00rc3
H. Peter Anvin [Wed, 21 Nov 2007 07:37:46 +0000 (23:37 -0800)]
NASM 2.00rc3

16 years agoUnbreak CMPSW/CMPSD/CMPSQ
H. Peter Anvin [Wed, 21 Nov 2007 05:45:16 +0000 (21:45 -0800)]
Unbreak CMPSW/CMPSD/CMPSQ

The CMPSW/CMPSD/CMPSQ instructions were broken by checkin
a30cc07224154c101c1275c148bf60d3acd43015 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.

16 years agoMerge branch 'master' of git+ssh://repo.or.cz/srv/git/nasm
H. Peter Anvin [Tue, 20 Nov 2007 21:23:34 +0000 (13:23 -0800)]
Merge branch 'master' of git+ssh://repo.or.cz/srv/git/nasm

16 years agondisasm: handle the case of "no more sync points"
H. Peter Anvin [Tue, 20 Nov 2007 21:22:58 +0000 (13:22 -0800)]
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.

16 years agoNASM 2.00rc2
H. Peter Anvin [Tue, 20 Nov 2007 07:09:31 +0000 (23:09 -0800)]
NASM 2.00rc2

16 years agotag-release: a simple script to tag the repository for release
H. Peter Anvin [Tue, 20 Nov 2007 07:09:24 +0000 (23:09 -0800)]
tag-release: a simple script to tag the repository for release

16 years agoSlightly faster implementation of the deadman counter
H. Peter Anvin [Mon, 19 Nov 2007 21:14:59 +0000 (13:14 -0800)]
Slightly faster implementation of the deadman counter

Count down to zero instead of up to a constant...

16 years agoBR 812417: Deadman counter for macro expansion
H. Peter Anvin [Mon, 19 Nov 2007 20:26:50 +0000 (12:26 -0800)]
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.

16 years agoBR 877583: Fix RAA memory leak
H. Peter Anvin [Mon, 19 Nov 2007 20:02:38 +0000 (12:02 -0800)]
BR 877583: Fix RAA memory leak

raa_free() didn't actually do the proper job; it would only free leaf
nodes, not internal nodes.

16 years agoBR 863173: Fix offsets of TIMES/INCBIN in list file
H. Peter Anvin [Mon, 19 Nov 2007 19:53:18 +0000 (11:53 -0800)]
BR 863173: Fix offsets of TIMES/INCBIN in list file

Correct the emission of offsets for TIMES/INCBIN in the list file.

16 years agoBR 1834731: Remove redundant error messages for no input file
H. Peter Anvin [Mon, 19 Nov 2007 19:45:40 +0000 (11:45 -0800)]
BR 1834731: Remove redundant error messages for no input file

Avoid redundant error messages:

./nasm
nasm: error: no input file specified
nasm: fatal: file `' is both input and output file
type `nasm -h' for help

... which is more than a wee bit confusing to the user.

16 years agoinsns.pl: remove debugging output
H. Peter Anvin [Mon, 19 Nov 2007 19:44:05 +0000 (11:44 -0800)]
insns.pl: remove debugging output

Remove debugging output which was never meant to be checked in.

16 years agoClean up remaining build warnings
H. Peter Anvin [Mon, 19 Nov 2007 06:18:09 +0000 (22:18 -0800)]
Clean up remaining build warnings

Clean up remaining build warnings.  None of this should affect code
operations.  The only warnings which were actually relevant might have
been the ones in ldrdf.c, but it's not clear if anyone ever uses that.

16 years agoBR 1834292: Fix multiple disassembler bugs
H. Peter Anvin [Mon, 19 Nov 2007 05:55:26 +0000 (21:55 -0800)]
BR 1834292: Fix multiple disassembler bugs

- Correct the building on the disassembler decision tree.
- Handle SSE instructions with F2 prefix (\332) correctly.
- Mark instructions which are now used as prefixes with ND.
  (In a future version when we have better CPU version handling,
  we should probably build the decision tree at runtime based on
  the selected CPU feature sets.)
- Sanitize the handling of \144-147 and \154-157 in both the assembler
  and disassembler.  They take an opcode byte as argument; don't
  pretend they don't.

16 years agoBR 1834056: Remove warnings in rdoff/rdoff.c
H. Peter Anvin [Sun, 18 Nov 2007 20:01:05 +0000 (12:01 -0800)]
BR 1834056: Remove warnings in rdoff/rdoff.c

Remove warnings, especially the alias warnings in rdoff/rdoff.c.

16 years agoBR 1091926: Bounds checking for command line parsing
H. Peter Anvin [Sun, 18 Nov 2007 19:55:10 +0000 (11:55 -0800)]
BR 1091926: Bounds checking for command line parsing

Avoid failure if the command line has doctored arguments.

16 years agoRemove FIXME from documentation
H. Peter Anvin [Sun, 18 Nov 2007 05:21:18 +0000 (21:21 -0800)]
Remove FIXME from documentation

This better work now, we're in release candidate mode.

16 years agoCheck in Keith's Fixes
Charles Crayne [Sun, 18 Nov 2007 05:08:33 +0000 (21:08 -0800)]
Check in Keith's Fixes

1. Don't warn on 32-bit overflow
2. Change EM64T to Intel 64 in Defining CPU Dependencies
   section of documentation.

16 years agoMake the definition for float_const() match the prototype
H. Peter Anvin [Sat, 17 Nov 2007 22:35:19 +0000 (14:35 -0800)]
Make the definition for float_const() match the prototype

The definition for float_const() had int32_t, the prototype had only
int.  We only care about the sign, so int makes more sense.

16 years agoNASM 2.00rc1
H. Peter Anvin [Fri, 16 Nov 2007 08:03:02 +0000 (00:03 -0800)]
NASM 2.00rc1

16 years agoClean up the command-line parsing; make -w/-W match others
H. Peter Anvin [Fri, 16 Nov 2007 01:12:29 +0000 (17:12 -0800)]
Clean up the command-line parsing; make -w/-W match others

Clean up the command-line parsing and make -w/-W match the behaviour
of all the other options with regards to arguments.

16 years agoBR 993895: Support zero-operand floating-point insn
H. Peter Anvin [Thu, 15 Nov 2007 22:38:19 +0000 (14:38 -0800)]
BR 993895: Support zero-operand floating-point insn

Support the zero-operand form of floating-point instructions.  Note
that in most cases, the form generated is actually the "popping" form,
e.g. "FADD" becomes "FADDP st0,st1".  This is in accordance with the
Intel documentation.  "FADDP" is also supported.

16 years agoRemove some vestiges of "native" RESW/RESD support
H. Peter Anvin [Thu, 15 Nov 2007 18:25:52 +0000 (10:25 -0800)]
Remove some vestiges of "native" RESW/RESD support

We now internally convert all RESx opcodes to RESB, so we don't need
support for that in the assembler.

16 years agooutbin.c: fix one missed change from type -> size
H. Peter Anvin [Thu, 15 Nov 2007 18:24:55 +0000 (10:24 -0800)]
outbin.c: fix one missed change from type -> size

Fix one missed change from "type" to "size".  May want to look through
all the other backends as well for similar issues.

This would generate the wrong section lengths, with obviously bad results.

16 years agoSupport setting OSABI value in ELF header.
root [Wed, 14 Nov 2007 03:52:54 +0000 (19:52 -0800)]
Support setting OSABI value in ELF header.

16 years agoEnable a few warnings by default; clean up warning descriptions
H. Peter Anvin [Tue, 13 Nov 2007 19:34:34 +0000 (11:34 -0800)]
Enable a few warnings by default; clean up warning descriptions

16 years agoAdd gcc-style -W/-Wno- warning selections; -Wall; -Werror
H. Peter Anvin [Tue, 13 Nov 2007 19:31:15 +0000 (11:31 -0800)]
Add gcc-style -W/-Wno- warning selections; -Wall; -Werror

Add gcc-style -Wxxx -Wno-xxx warning selection as an alternative to
-w+xxx/-w-xxx.

Add "all" as an alias for all (actual) warnings.

Add "error" to treat warnings as errors.

16 years agoClean up the fwrite*() function definitions somewhat
H. Peter Anvin [Tue, 13 Nov 2007 18:37:23 +0000 (10:37 -0800)]
Clean up the fwrite*() function definitions somewhat

Slight cleanup of the fwrite*() functions.  This actually helps gcc
generate better code on i386, for no apparent reason.

16 years agoCast 64-bit switch expressions to (int) to keep OpenWatcom happy
H. Peter Anvin [Tue, 13 Nov 2007 17:49:51 +0000 (09:49 -0800)]
Cast 64-bit switch expressions to (int) to keep OpenWatcom happy

Our size arguments are 64-bit values, but we don't need that range for
anywhere where we need a switch.  OpenWatcom can't deal with them
(sigh), so cast them to (int) for now.

16 years agox86-host-specific performance improvement
H. Peter Anvin [Tue, 13 Nov 2007 17:46:38 +0000 (09:46 -0800)]
x86-host-specific performance improvement

If we're on an x86 host, we can do unaligned littleendian memory
references directly.  Just do'em.

16 years agoAddress data is int64_t; simplify writing an address object
H. Peter Anvin [Tue, 13 Nov 2007 17:37:59 +0000 (09:37 -0800)]
Address data is int64_t; simplify writing an address object

Address data is always int64_t even if the size itself is smaller;
this was broken on bigendian hosts (still need testing!)

Create simple "write sized object" macros.

16 years agondisasm: factor out the common operand-extraction code
H. Peter Anvin [Tue, 13 Nov 2007 07:00:31 +0000 (23:00 -0800)]
ndisasm: factor out the common operand-extraction code

Factor out the common operand-extraction code in the disassembler, as
previously done in the assembler.

16 years agoUn-special-case "xchg rax,rax"; disassemble o64
H. Peter Anvin [Tue, 13 Nov 2007 06:55:27 +0000 (22:55 -0800)]
Un-special-case "xchg rax,rax"; disassemble o64

Un-special-case "xchg rax,rax"; allow it to be encoded as 48 90 for
orthogonality's sake.  It's a no-op, to be sure, but so are many other
instructions.

"xchg eax,eax" is still special-cased in 64-bit mode since it is not a
no-op; unadorned opcode 90 is now simply "nop" and nothing else.

Make the disassembler detect unused REX.W and display them as an "o64"
prefix.

16 years agoBR 1709392: Fix alignment handling in Mach-O format
H. Peter Anvin [Tue, 13 Nov 2007 06:11:46 +0000 (22:11 -0800)]
BR 1709392: Fix alignment handling in Mach-O format

Fix alignment handling in the Mach-O format.  The patch is from the
bug report, mangled to apply to the current source base.  I have no
way to test this, so I'm going to have to assume it's correct.

16 years agoBR 1828866: fix handling of LAR/LSL
H. Peter Anvin [Tue, 13 Nov 2007 06:05:31 +0000 (22:05 -0800)]
BR 1828866: fix handling of LAR/LSL

Fix handling of LAR/LSL with various sized operands

16 years agoBetter (but not *good!*) handling of 64-bit addressing in ndisasm
H. Peter Anvin [Tue, 13 Nov 2007 05:57:00 +0000 (21:57 -0800)]
Better (but not *good!*) handling of 64-bit addressing in ndisasm

More correct -- but not fully correct -- handing of 64-bit addressing
in ndisasm.  In particular, we need to generate "a32" versus "dword"
where applicable.

16 years agoFix disassembly of XCHG
H. Peter Anvin [Tue, 13 Nov 2007 05:02:33 +0000 (21:02 -0800)]
Fix disassembly of XCHG

"REX.B 90" in 64-bit mode is "xchg eax,r8d" not "nop"; equivalent
situation for "REX.WB 90" (xchg rax,r8).

16 years agoTest of XCHG
H. Peter Anvin [Tue, 13 Nov 2007 04:18:33 +0000 (20:18 -0800)]
Test of XCHG

Test for XCHG

16 years agoFix handling of XCHG in 64-bit mode
H. Peter Anvin [Tue, 13 Nov 2007 04:18:05 +0000 (20:18 -0800)]
Fix handling of XCHG in 64-bit mode

The handling of XCHG in 64-bit mode somewhat broken.  Add a register
flag for "not accumulator", so we can generate all the appropriate
modes.

16 years agoMore \321 -> \324 bug fixes
H. Peter Anvin [Tue, 13 Nov 2007 03:36:13 +0000 (19:36 -0800)]
More \321 -> \324 bug fixes

Additional \321 flags (o32) that should be \324 (o64).

16 years agofloat.c: all warnings and errors are pass 1 only
H. Peter Anvin [Tue, 13 Nov 2007 02:25:24 +0000 (18:25 -0800)]
float.c: all warnings and errors are pass 1 only

None of the floating-point errors or warnings are anything but pass 1
only; use the ERR_PASS1 flag to capture that.

16 years agoUpdate documentation for stack relative directives.
Charles Crayne [Sun, 11 Nov 2007 05:55:19 +0000 (21:55 -0800)]
Update documentation for stack relative directives.
Bring a few other sections up to date.

16 years agoClean up a few more 32-bit bottlenecks
Charles Crayne [Sun, 11 Nov 2007 01:52:23 +0000 (17:52 -0800)]
Clean up a few more 32-bit bottlenecks

16 years agoUpdate documantation for stack relative directives
Charles Crayne [Sat, 10 Nov 2007 00:37:41 +0000 (16:37 -0800)]
Update documantation for stack relative directives

16 years agoMerge branch 'master' of /home/chuck/development/gitnasm/
Charles Crayne [Sat, 10 Nov 2007 00:33:54 +0000 (16:33 -0800)]
Merge branch 'master' of /home/chuck/development/gitnasm/

16 years agoUpdate documentation for stack relative directives
Charles Crayne [Sat, 10 Nov 2007 00:25:43 +0000 (16:25 -0800)]
Update documentation for stack relative directives

16 years agoDon't combine type and size into a single argument
H. Peter Anvin [Fri, 9 Nov 2007 22:44:02 +0000 (14:44 -0800)]
Don't combine type and size into a single argument

Don't combine type and size into a single argument; *every* backend
immediately breaks them apart, so it's really just a huge waste of
effort.  Additionally, it avoids using short immediates in the
resulting code, which is a bad thing.

16 years agoAdd flat64 to %stacksize choices
Charles Crayne [Fri, 9 Nov 2007 06:11:14 +0000 (22:11 -0800)]
Add flat64 to %stacksize choices

16 years agoFix building under OpenWatcom
H. Peter Anvin [Fri, 9 Nov 2007 04:43:22 +0000 (20:43 -0800)]
Fix building under OpenWatcom

OpenWatcom doesn't like 64-bit switch arguments; the change to 64-bit
type arguments caused that to happen in outmacho.c.  Hack around it
for now; however, realistically speaking the whole bit stealing thing
is probably a bad idea, especially since virtually all CPUs handle
short immediates better than long ones.

16 years agops2pdf: remove -dOptimize=true
H. Peter Anvin [Fri, 9 Nov 2007 04:29:37 +0000 (20:29 -0800)]
ps2pdf: remove -dOptimize=true

Remove -dOptimize=true; it actually generates larger output, since the
optimization performed is "network optimization".

16 years agoNo binary files left in the source distro; unbreak release script
H. Peter Anvin [Fri, 9 Nov 2007 04:21:41 +0000 (20:21 -0800)]
No binary files left in the source distro; unbreak release script

There are no more binary files in the source distro; this broke the
build robot.  Comment out the binary file zipping.

16 years agoBR 1828103: Fix %arg and %local
H. Peter Anvin [Fri, 9 Nov 2007 04:01:11 +0000 (20:01 -0800)]
BR 1828103: Fix %arg and %local

Correct the implementation of %arg and %local.

It's questionable how much they make sense for 64-bit mode; even in
32-bit mode one normally make references off the stack pointer instead
of the base pointer (frame pointer), but that requires keeping track
of the stack pointer offset.

16 years agonasmlib.c: prefix_name(): use the elements() macro
H. Peter Anvin [Fri, 9 Nov 2007 03:34:01 +0000 (19:34 -0800)]
nasmlib.c: prefix_name(): use the elements() macro

Use the elements() macro to count the elements in a static array.

16 years agoMove elements() to nasmlib.h
H. Peter Anvin [Fri, 9 Nov 2007 03:30:22 +0000 (19:30 -0800)]
Move elements() to nasmlib.h

Move elements() to nasmlib.h; that is the best place for this kind of
utility macros.

16 years agoconstipate the "str" argument to bsi() and bsii()
H. Peter Anvin [Fri, 9 Nov 2007 03:15:33 +0000 (19:15 -0800)]
constipate the "str" argument to bsi() and bsii()

The string argument to bsi() and bsii() should be const.

16 years agoUpgrade RAA functions to hold 64-bit data.
Charles Crayne [Thu, 8 Nov 2007 03:03:46 +0000 (19:03 -0800)]
Upgrade RAA functions to hold 64-bit data.

16 years agoPass 64-bit instruction lengths to back-ends.
Charles Crayne [Wed, 7 Nov 2007 05:48:12 +0000 (21:48 -0800)]
Pass 64-bit instruction lengths to back-ends.

16 years agoPrepare for 64-bit instruction lengths
Charles Crayne [Wed, 7 Nov 2007 02:27:23 +0000 (18:27 -0800)]
Prepare for 64-bit instruction lengths

16 years agoDisambiguate error messages
Charles Crayne [Tue, 6 Nov 2007 05:49:49 +0000 (21:49 -0800)]
Disambiguate error messages

16 years agoUpgrade label functions to 64-bit
Charles Crayne [Tue, 6 Nov 2007 01:19:32 +0000 (17:19 -0800)]
Upgrade label functions to 64-bit

16 years agoPermit opcode names as labels as long as they are followed by a colon
H. Peter Anvin [Mon, 5 Nov 2007 05:09:32 +0000 (21:09 -0800)]
Permit opcode names as labels as long as they are followed by a colon

Permit opcode names to be used as labels if and only if they are
succeeded by a colon.  Opcode names occurring when parsing expressions
are all treated as labels; a leading colon occurred when parsing an
instruction forces a parser restart with the instruction forcibly
treated as an identifier.

16 years agoMake warning limit valid for both i386 and x86_64
Charles Crayne [Sun, 4 Nov 2007 23:28:30 +0000 (15:28 -0800)]
Make warning limit valid for both i386 and x86_64

16 years agoWarn on out of bounds EA displacements
Charles Crayne [Sun, 4 Nov 2007 05:06:13 +0000 (22:06 -0700)]
Warn on out of bounds EA displacements

16 years agoTreat info files as binary when creating xdoc distro file
H. Peter Anvin [Thu, 1 Nov 2007 22:08:27 +0000 (15:08 -0700)]
Treat info files as binary when creating xdoc distro file

info files appear to contain embedded binary information and should
therefore be treated as binary when creating zipfiles.

16 years agoRemove obsolete binary files from the distribution
H. Peter Anvin [Thu, 1 Nov 2007 22:07:42 +0000 (15:07 -0700)]
Remove obsolete binary files from the distribution

Remove a JPEG file and a long-unmaintained support file for an
editor.  These are the only binary files in the standard distribution.

16 years agoMove declarations before statements
H. Peter Anvin [Thu, 1 Nov 2007 21:53:32 +0000 (14:53 -0700)]
Move declarations before statements

C99 permits declarations and statements to be intermixed, so gcc don't
warn about them, but MSVC and OpenWatcom get unhappy about them.

16 years agoNASM 0.99.06
H. Peter Anvin [Thu, 1 Nov 2007 06:37:35 +0000 (23:37 -0700)]
NASM 0.99.06

16 years agoScript to tag the tree for release
H. Peter Anvin [Thu, 1 Nov 2007 06:37:19 +0000 (23:37 -0700)]
Script to tag the tree for release

Script to tag the tree for release.  Once this tag is pushed
(git push; git push --tags) the build robot will pick it up and
produce the builds.

16 years agoEven more "riprel" tests
H. Peter Anvin [Wed, 31 Oct 2007 17:59:26 +0000 (10:59 -0700)]
Even more "riprel" tests

Add a64 and a32 combinations.

16 years agofloatx.asm: add tests for "rounds up to smallest denorm"
H. Peter Anvin [Tue, 30 Oct 2007 08:17:57 +0000 (01:17 -0700)]
floatx.asm: add tests for "rounds up to smallest denorm"

Add tests for the case where we round upwards to reach the smallest
possible denorm, i.e. "saved from underflow by rounding."

16 years agoRun "make alldeps"
H. Peter Anvin [Tue, 30 Oct 2007 08:13:27 +0000 (01:13 -0700)]
Run "make alldeps"

16 years agofloat.c: handle round-up-to-denorm correctly.
H. Peter Anvin [Tue, 30 Oct 2007 08:13:09 +0000 (01:13 -0700)]
float.c: handle round-up-to-denorm correctly.

16 years agoExhaustive test for 8-bit floating point values
H. Peter Anvin [Tue, 30 Oct 2007 07:58:13 +0000 (00:58 -0700)]
Exhaustive test for 8-bit floating point values

16 years agoClean up the handing of operands in assemble.c
H. Peter Anvin [Tue, 30 Oct 2007 06:12:47 +0000 (23:12 -0700)]
Clean up the handing of operands in assemble.c

assemble.c was full of code containing ins->oprs[c - 0xxx] where 0xxx
was the base of the particular code block.  Verbose and error prone
when code is moved around.  Now we precompute opx = &ins->oprs[c & 3]
before dispatching, resulting in less code.

16 years agoDon't warn for segmented references
H. Peter Anvin [Tue, 30 Oct 2007 05:56:08 +0000 (22:56 -0700)]
Don't warn for segmented references

Don't warn for overflow in segmented references; those are linker
references and it is up to the backend or the linker to warn if they
overflow their permitted size.

16 years agoUse a 32-bit floating-point limb size; support 8-bit float
H. Peter Anvin [Tue, 30 Oct 2007 03:20:12 +0000 (20:20 -0700)]
Use a 32-bit floating-point limb size; support 8-bit float

Use a 32-bit limb size ("like a digit, but bigger") for floating-point
conversion.  This cuts the number of multiplications per constant by a
factor of four.

This means supporting fractional-limb-sized numbers, so while we're at
it, add support for 8-bit floating point numbers (apparently used in
graphics and in audio compression applications.)

16 years agoReduce severity of redundant prefixes from error to warning.
Charles Crayne [Tue, 30 Oct 2007 01:24:59 +0000 (18:24 -0700)]
Reduce severity of redundant prefixes from error to warning.

16 years agoTest of some addressing modes in 64-bit mode.
H. Peter Anvin [Mon, 29 Oct 2007 06:23:24 +0000 (23:23 -0700)]
Test of some addressing modes in 64-bit mode.

16 years agoFix bogus flagging of effective addresses as invalid
H. Peter Anvin [Mon, 29 Oct 2007 06:21:46 +0000 (23:21 -0700)]
Fix bogus flagging of effective addresses as invalid

Ah, what a difference a single ~ makes... such as flagging invalid EAs
as valid and vice versa.

16 years agoActually shut up the warning in rdfload.c
H. Peter Anvin [Mon, 29 Oct 2007 06:10:34 +0000 (23:10 -0700)]
Actually shut up the warning in rdfload.c

Shut the warning in rdfload.c up properly...

16 years agoClean up stealth whitespace
H. Peter Anvin [Mon, 29 Oct 2007 05:04:42 +0000 (22:04 -0700)]
Clean up stealth whitespace

Remove stealth whitespace

16 years agoFix warning about cast to pointer in rdfload.c
H. Peter Anvin [Mon, 29 Oct 2007 05:02:23 +0000 (22:02 -0700)]
Fix warning about cast to pointer in rdfload.c

Fix warning in rdfload.c about cast to pointer of different size when
compiling on 64 bits.  Of course, rdfload is probably useless on 64
bits, but it's pretty useless in the first place.

16 years ago64-bit addressing and prefix handling changes
H. Peter Anvin [Mon, 1 Oct 2007 22:41:25 +0000 (15:41 -0700)]
64-bit addressing and prefix handling changes

Revamp the address- and prefix-handling code to make more sense in
64-bit mode.  We are now a lot closer to where we want to be, but
we're not quite there yet.

ndisasm may very well have problems, or give counterintuitive output.
However, checking it in so we can make forward progress.

16 years agoAdjust stabs symbol index to match symbol table.
Charles Crayne [Sun, 28 Oct 2007 22:29:54 +0000 (15:29 -0700)]
Adjust stabs symbol index to match symbol table.
Add data length info to symbol table when stabs is active.

16 years agoreadnum(): handle prefix-suffix collision like "0h"
H. Peter Anvin [Sat, 27 Oct 2007 04:38:02 +0000 (21:38 -0700)]
readnum(): handle prefix-suffix collision like "0h"

Suffixed versions of zero will look like both a prefix and a suffix.
Reject the prefixed version as being too short to decode.

16 years agoBetter handling of platforms which hide "extended" functionality
H. Peter Anvin [Sat, 27 Oct 2007 01:49:29 +0000 (18:49 -0700)]
Better handling of platforms which hide "extended" functionality

Some platforms apparently feel -std=c99, which defines
__STRICT_ANSI__, should also hide a bunch of function prototypes.
This rather sucks.  At least try to deal with it.

MinGW and DJGPP both have this problem, in particular.

16 years agoMerge branch 'master' of /home/chuck/development/gitnasm/
Charles Crayne [Wed, 24 Oct 2007 22:51:40 +0000 (15:51 -0700)]
Merge branch 'master' of /home/chuck/development/gitnasm/

16 years agoUpdate sections about debug info formats
Charles Crayne [Wed, 24 Oct 2007 22:30:17 +0000 (15:30 -0700)]
Update sections about debug info formats