H. Peter Anvin
19b741835f
syncfiles: handle the case of the null path separator
...
Correctly handle the null path separator (meaning remove the directory
portion entirely.)
2008-06-15 18:33:03 -07:00
H. Peter Anvin
6f4252afea
utf.asm: add some error cases
...
Add some error cases for testing
2008-06-15 17:53:12 -07:00
H. Peter Anvin
d710e2be26
syncfiles.pl: remove obsolete comment
...
There isn't anything magic about the input file syntax.
2008-06-15 17:52:45 -07:00
H. Peter Anvin
2aa77394b7
Free EOT_DB_STRING_FREE in cleanup_insn()
...
Free EOT_DB_STRING_FREE data in cleanup_insn(), which is where we free
all the other extop data.
2008-06-15 17:39:45 -07:00
H. Peter Anvin
a0b91037e2
Mark Perl scripts executable
...
Be consistent about marking Perl scripts executable, even if we always
invoke them with $(PERL) in the Makefiles.
2008-06-15 16:55:39 -07:00
H. Peter Anvin
7806e96508
Script to automagically synchronize the object file lists
...
Add a script to automagically synchronize the list of object files
between the various Makefiles.
2008-06-15 16:54:29 -07:00
H. Peter Anvin
eb96812e9f
Update Mkfiles/*.mak
...
Sync the file list in Mkfiles/*.mak
2008-06-15 16:18:43 -07:00
H. Peter Anvin
6680dd9a46
CHANGES: Document new features
2008-06-14 21:37:46 -07:00
H. Peter Anvin
9a377b8082
Merge branch 'nasm-2.03.x'
2008-06-14 21:36:56 -07:00
H. Peter Anvin
6d6c717fba
CHANGES: document changes from nasm-2.03
2008-06-14 21:36:18 -07:00
H. Peter Anvin
9fea5c4f30
doc: Add Unicode Strings to Unicode index
2008-06-14 21:23:39 -07:00
H. Peter Anvin
5c657bdc12
Document __utf16__ and __utf32__
2008-06-14 21:21:17 -07:00
H. Peter Anvin
05d124c30d
Merge branch 'nasm-2.03.x'
2008-06-14 21:10:21 -07:00
H. Peter Anvin
312445a316
quote: fix termination condition for hexadecimal escapes
...
Fix reversed test for hexadecimal escape sequence termination.
2008-06-14 21:09:39 -07:00
H. Peter Anvin
9c749101ef
Support __utf16__ and __utf32__ in an expression context
...
Support __utf16__ and __utf32__ in expression contexts.
2008-06-14 21:08:38 -07:00
H. Peter Anvin
503e71d3ee
strfunc: fix UTF-8 mid-character limit
2008-06-14 21:07:09 -07:00
H. Peter Anvin
2cb033e0d9
strfunc: always null-terminate the output buffer
...
Make sure that the buffer is always null-terminated, even though we do
have to use the length, since the string can (and often will) have
embedded nulls.
2008-06-14 20:53:45 -07:00
H. Peter Anvin
518df30308
Implement __utf16__() and __utf32__() for the DB family
...
Implement __utf16__() and __utf32__() for the DB family of
pseudo-instructions. Not yet implemented for evaluation context.
2008-06-14 16:53:48 -07:00
H. Peter Anvin
dfaa278cd5
doc: add a couple of stylistic alternatives
...
Add a few alternate font sets for the documentation. I would be
interested to see if anyone thinks they are better.
2008-06-14 12:09:25 -07:00
H. Peter Anvin
099c939bcb
Merge branch 'nasm-2.03.x'
2008-06-12 09:33:32 -07:00
H. Peter Anvin
7174c5812e
Fix overflow in listing.c (BR 1991797)
...
Fix a buffer overflow in listing.c (BR 1991797).
Putting this on the nasm-2.03.x branch as a potential candidate for a
patch release.
2008-06-12 09:31:19 -07:00
H. Peter Anvin
2b2a938dea
doc: Nasm -> NASM
...
Consistently write NASM in all capitals
2008-06-11 21:09:22 -07:00
H. Peter Anvin
593b73ae6d
doc: title capitalization
2008-06-11 18:52:54 -07:00
H. Peter Anvin
7baaf630a5
doc: add missing period.
2008-06-11 18:51:14 -07:00
H. Peter Anvin
57bf27b654
doc: remove obsolete note.
2008-06-11 18:50:41 -07:00
H. Peter Anvin
792ade2256
doc: Makefile fixes missing from previous checkin
2008-06-11 18:38:15 -07:00
H. Peter Anvin
773a513a1d
doc: another case of the RTF backend corrupting state
...
Another case of the RTF backend corrupting global state. "Fix" it by
only outputting one format at a time; this also makes it possible to
run in parallel.
2008-06-11 18:32:33 -07:00
H. Peter Anvin
62332b2373
doc: ps/pdf: set page numbers in normal-sized italic
...
Set page numbers in normal-sized italic, instead of large and bold.
We might want to consider using bold italic, but I think this is just
fine.
2008-06-11 18:23:14 -07:00
H. Peter Anvin
eb8db629d0
doc: Add NASMENV to the index (BR 1917084)
...
Add NASMENV to the documentation index.
2008-06-11 18:14:24 -07:00
H. Peter Anvin
3d61238bf8
ps/pdf doc: default to 10-point font, wider leading
...
Switch the main font to 10 points Times Roman, but leave the leading
at 11 points. This produces, in my opinion, a much more legible and
printable document.
2008-06-11 18:09:02 -07:00
H. Peter Anvin
ca5ec7a225
Make -F imply -g (BR 1991213)
...
When the user specifies -F, imply the -g option. Too many users seem
to make this mistake.
2008-06-11 18:07:40 -07:00
Charles Crayne
842da0ad0b
Correct X86_64 reference in dwarf support message
2008-06-11 16:15:01 -07:00
H. Peter Anvin
ac8f8fcb27
Use an explicit table for tolower() to avoid a function call
...
On some platforms, tolower() is implemented as a function call, in
order to handle locale support. We never change locales, so can the
result of tolower() into a table, so we don't have to sit through the
function call every time.
~1.3% overall performance improvement on a macro-heavy benchmark under
Linux x86-64.
2008-06-11 15:49:41 -07:00
H. Peter Anvin
7b471fada8
Remove expand_macros_in_string()
...
Remove the now-unused expand_macros_in_string() function.
2008-06-10 18:29:11 -07:00
H. Peter Anvin
7df0417e58
Add %warning, saner unquoting of %error
...
- Add %warning directive
- Only unquote an %error or %warning string if it is the only thing on
the directive line.
- Don't expand macros inside a quoted string, even for %error.
2008-06-10 18:27:38 -07:00
H. Peter Anvin
3c74485523
nasmlib.c: fwriteint*() only need WORDS_LITTLEENDIAN
...
fwriteint*() don't require unaligned references, so they can be
optimized for WORDS_LITTLEENDIAN rather than X86_MEMORY...
2008-06-10 14:44:09 -07:00
H. Peter Anvin
11e6c85b09
Fix typo: s/most/least/
...
Littleendian = least signficant byte first
2008-06-10 14:41:43 -07:00
H. Peter Anvin
253a4e7a9f
Make it possible to use "inline" and "restrict"
...
Put the appropriate machinery in place to be able to use the "inline"
and "restrict" keywords with appropriate semantics.
2008-06-10 13:00:27 -07:00
H. Peter Anvin
51997d3d44
Introduce likely/unlikely macros, use them in saa.c
...
Introduce the likely() and unlikely() macros, as used in Linux.
They are compiler-dependent hints that a particular boolean expression
is likely to be true or false, respectively.
Currently only implemented for gcc.
2008-06-10 09:35:26 -07:00
H. Peter Anvin
8cc5aa7829
SAA: optimize all power-of-two lengths
...
We can actually use the shift optimization whenever blk_len ==
SAA_BLKLEN, which will be true for all powers of two.
2008-06-10 09:31:31 -07:00
H. Peter Anvin
1cff81e356
SAA: optimize seeks when used on a byte array
...
In practice, we only ever use the seeking functions on byte arrays
(elem_len == 1). Optimize for that case, to avoid a general divmod
operation.
2008-06-10 09:29:20 -07:00
H. Peter Anvin
11627049ae
Make strings a first-class token type; defer evaluation
...
Make strings a proper, first-class token type, instead of relying on
the "TOKEN_NUM with tv_charptr" hack. Only convert a string to a
number if requested in an expression context; this also makes it
possible to actually issue a warning when it overflows.
2008-06-09 20:45:19 -07:00
H. Peter Anvin
fcb8909749
Move all the RAA code out of nasmlib
...
The RAA code doesn't have to be in nasmlib; it is only used by nasm
itself, and is better handled in a separate module.
2008-06-09 17:40:16 -07:00
H. Peter Anvin
35d620d2fd
saa.h doesn't need nasmlib.h
...
We don't have to include nasmlib.h in saa.h
2008-06-09 17:35:33 -07:00
H. Peter Anvin
1803dedae8
Move all the SAA code out of nasmlib
...
Move all the SAA code out of nasmlib; it's not used by anything than
nasm itself. Cleaning out the kitchen sink known as nasmlib is a good
thing, too.
2008-06-09 17:32:43 -07:00
H. Peter Anvin
5b80b23346
Merge branch 'nasm-2.03.x'
2008-06-09 10:21:18 -07:00
H. Peter Anvin
c751e86145
Fix %? in multi-line macros with a label
...
The handling of %? in multi-line macros was broken when the macro name
was preceeded by a label; it would expand to the label instead of the
macro name. This was particularly serious since this was used in
the macro implementation of INCBIN.
2008-06-09 10:18:45 -07:00
H. Peter Anvin
c735d1a6b2
Replace the WSAA macros with functions
...
Change the WSAA macros into functions; reducing the icache footprint.
2008-06-08 21:15:01 -07:00
H. Peter Anvin
2f0f9ea286
Use autoconf to detect WORDS_LITTLEENDIAN
...
Use autoconf to detect littleendian word order, and use
WORDS_LITTLEENDIAN instead of X86_MEMORY when we don't require
unaligned memory accesses to be permitted.
2008-06-08 20:53:29 -07:00
H. Peter Anvin
cb38f505e4
WSAA: make the WSAA macros contain their own buffer
...
Make the WSAA macros contain their own buffer definitions. This
eliminates the need to have a separate "workbuf" declared in the
outelf backends, which isn't even used for anything else, except for a
few completely redundant strcpys.
Note: these macros probably should be replaced with actual
functions. The overhead of the function call is likely to be more
than offset by lower icache footprint.
2008-06-08 18:39:55 -07:00