Commit Graph

970 Commits

Author SHA1 Message Date
Charles Crayne
a762ca544b Avoid long line warning when generating nasm docs
rdsrc.pl limits lines to 68 characters for some formats
2008-04-12 13:35:43 -07:00
Bo Borgerson
7d4d2c3cc9 Avoid some warnings in rdoff/rdf2bin.c
I received some warnings when running make on the head revision of
nasm from git:

----
rdf2bin.c: In function 'main':
rdf2bin.c:122: warning: comparison between signed and unsigned
rdf2bin.c:123: warning: comparison between signed and unsigned
rdf2bin.c:124: warning: comparison between signed and unsigned
----

I think these warnings are innocuous and should be safely avoidable
with simple casts (please see attached patch).

* rdoff/rdf2bin.c
(main): cast to size_t for comparison with fwrite return value

Signed-off-by: Bo Borgerson <gigabo@gmail.com>
2008-04-12 11:12:14 -07:00
H. Peter Anvin
72ec0e4144 Temporaries in macros need a unique prefix; WSAA*() macros to header
When using temporaries in macros, given them a unique prefix to avoid
namespace collisions when using one macro inside another.

Move the WSAA*() macros from outelf32/outelf64 to a separate header
file.
2008-04-10 14:56:09 -07:00
H. Peter Anvin
2746b624fb autogen.sh: remove config.status
Remove config.status when rebuilding the autoconf files.
2008-04-10 14:54:02 -07:00
Charles Crayne
8ca31b48af Document avaiabily of DWARF for ELF32 and ELF64 2008-04-07 14:26:29 -07:00
Charles Crayne
6f15b9884e Correctly identify dwarf support for elf32
Change architecture tag to i386.
2008-04-07 13:15:53 -07:00
H. Peter Anvin
32cd4c2a62 Correctly identify SBYTE in the optimizer
Correctly identify SBYTE in the optimizer, *HOWEVER*, this change will
cause nuisance warnings to be issued; that will have to be fixed.
2008-04-04 13:34:53 -07:00
Charles Crayne
5a7976c925 Restore critical expression checking when optimizer enabled
In the prior code, enabling optimization effectively diabled
critical expression checking, because the optimization passes
took place before checking was enabled.
2008-03-26 17:20:21 -07:00
Charles Crayne
bd45c46cb9 Merge branch 'master' of git+ssh://ccrayne@repo.or.cz/srv/git/nasm 2008-03-22 20:08:20 -07:00
Charles Crayne
fa93735742 Remove KATMAI support for CLFLUSH
Minimal cpu level is WILLAMETTE,SSE2
2008-03-22 20:07:08 -07:00
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