Commit Graph

1305 Commits

Author SHA1 Message Date
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
H. Peter Anvin
435f1863be NASM 2.03 2008-06-08 17:02:57 -07:00
H. Peter Anvin
c800e131c1 doc: Fix title "String Constants"
Cut & paste oops...
2008-06-08 16:55:15 -07:00
H. Peter Anvin
cf948a3904 doc: Index Unicode and UTF-8
Add Unicode and UTF-8 to the index
2008-06-08 16:54:03 -07:00
H. Peter Anvin
cb40e8a010 doc: \t is also a supported escape sequence... 2008-06-08 16:50:23 -07:00
H. Peter Anvin
9544bec3f5 doc: s/by/in/ certain preprocessor directives. 2008-06-08 16:49:16 -07:00
H. Peter Anvin
c2734cc43c Split documentation on string syntax out of "character constants"
Split the documentation on string syntax, as a lexical entity, out of
the section about character constants.  It was confusing to have
discussion that apply more to string constants than character
constants, and they use the same syntax anyway.
2008-06-08 16:46:37 -07:00