H. Peter Anvin
234007ff88
Remove redundant, bogus CLFLUSH entry
2008-03-22 19:33:31 -07:00
H. Peter Anvin
accf94ea24
Better handling of 32-bit imms in 64-bit moves
...
A much better way to handle the 32-bit immediates in 64-bit moves.
Add a test file.
2008-03-19 14:52:27 -07:00
H. Peter Anvin
65e823978b
insns.dat: add "MOV reg64,imm32" as a special rule
...
Add "MOV reg64,imm32" as a special rule, to handle the case of
"mov rax,dword <foo>", where <foo> is sign-extended; this is a 7-byte
form, as opposed to "mov eax,<foo>" (5 bytes) and "mov rax,<foo>" (10
bytes).
At some point, the optimizer needs to be able to handle these.
2008-03-19 14:42:20 -07:00
Charles Crayne
6372b9c5fc
Correct opcode for CLFLUSH
...
Correct opcode is 0FAEh
2008-03-18 15:21:14 -07:00
Charles Crayne
d60059ef41
Display fully qualified local label in "not defined" message
...
Add new function "local_scope" to label subsystem to
return the previous non-local label for a given local label,
and invoke this funcion in eval.c to display the fully
qualified name in the "not defined" error message.
2008-03-12 22:39:03 -07:00
Charles Crayne
aed5cfea58
Adjust symbol number for global symbols
...
Reloc entries were pointing to wrong target section
2008-03-04 14:25:34 -08:00
Charles Crayne
82e94990ad
Eliminate duplicate symbol definitions
...
Don't accept -1 as an odd numbered segment
2008-03-03 14:43:55 -08:00
Charles Crayne
90131d500b
Report dwarf as V2 for ELF32
...
Older versions of gdb reject version 3
2008-02-24 21:05:46 -08:00
Charles Crayne
225f82fa12
Dwarf3 support for ELF32
...
1. Port dwarf3 support from ELF64 to ELF32
2. Move common SAA extentions to nasmlib
2008-02-24 19:14:17 -08:00
Charles Crayne
986312b17a
Dwarf support tweeks and clean-up
...
1. Add relocation entries for dwarf sections.
2. Combine common dwarf and stabs routines.
2008-02-23 18:35:11 -08:00
H. Peter Anvin
75ed1ebfb4
NASM 2.02
2008-02-19 11:01:08 -08:00
H. Peter Anvin
27713625c1
outform: make OF_DOS include OF_COFF
...
DJGPP uses COFF as the file format. Since DJGPP is widely used in the
(remaining) DOS world, include OF_COFF in OF_DOS.
2008-02-17 18:54:13 -08:00
H. Peter Anvin
134b94665d
Add %ifempty and variants
2008-02-16 17:01:40 -08:00
H. Peter Anvin
3f3bd41de0
CHANGES: Document %iftoken
2008-02-16 16:46:45 -08:00
H. Peter Anvin
b8536e1f06
NASM 2.02rc2
2008-02-16 16:44:46 -08:00
H. Peter Anvin
cbf768d67d
Implement %iftoken, test for a single token
...
Implement %iftoken, a test for a single token. This is useful in
cases using %+ to splice a macro-provided token.
2008-02-16 16:41:25 -08:00
H. Peter Anvin
88ab419cc6
OpenWatcom: optimize for 686
...
Apparently -6 compiles are defined to run on anything 386 or newer,
and just use different instruction timings.
2008-02-16 15:44:24 -08:00
H. Peter Anvin
714ad04bb8
Some compilers define __386__ instead of __i386__
...
OpenWatcom, and possibly other compilers from the DOS universe,
defines __386__ rather than __i386__.
2008-02-16 15:28:02 -08:00
H. Peter Anvin
338a3b6882
Clear up WRITE macros causing compile failures with Watcom
...
The OpenWatcom compiler warns about invalid shifts (correctly, it
appears) due to the non-X86_MEMORY versions of the various WRITE
macros. Fix.
2008-02-16 15:25:02 -08:00
H. Peter Anvin
848dbc8ff8
Bring CHANGES hopefully up to date
2008-02-16 15:08:41 -08:00
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