| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
|
|
|
|
| |
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
|
|
|
|
|
|
| |
It's the same as macros/altreg.mac which is already included.
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
|
|
|
|
| |
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
|
|
|
|
| |
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
|
|
|
|
|
|
| |
Various tabs/space mixture cleaned and some more.
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
|
|
|
|
|
|
|
|
|
|
| |
This reverts commit ac732cb6a599836bf4c988e59ac6de4498758c72.
Resolved Conflicts:
doc/nasmdoc.src
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
|
|
|
|
|
|
| |
Move the #include of regs.h to the top with the other includes, and
make is_register() -- being a boolean predicate -- return bool.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
H. Peter Anvin noted:
|
| Could we avoid putting static code that has no dynamic content in
| dynamically generated files... it just complicates things unnecessarily.
|
| The above can move into nasm.h for example.
|
Good idea.
CC: "H. Peter Anvin" <hpa@zytor.com>
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
|
|
|
|
|
|
| |
Save us some line of code
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
|
|
|
|
|
|
| |
Instead of opencoded check use inline helper.
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Two fixes:
1. Optimization of [bx+0xFFFF] etc
0xFFFF is an sbyte under 16-bit semantics,
so make sure to check it right.
2. Don't optimize displacements in -O0
Displacements that fit into an sbyte or
can be removed should *not* be optimized in -O0.
Implicit zero displacements are still optimized, e.g.:
[eax] -> 0 bit displacement, [ebp] -> 8 bit displacement.
However explicit displacements are not optimized:
[eax+0] -> 32 bit displacement, [ebp+0] -> 32 bit displacement.
Because #2 breaks compatibility with 0.98,
I introduced a new optimization level: -OL, legacy.
|
|
|
|
| |
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
|
|
|
|
|
|
|
|
|
| |
Under particular circumstances %strlen may cause SIGSEG. A typical
example is %strlen with nonexistent macro argument.
[ Testcase test/strlen.asm ]
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
|
|
|
|
|
|
|
|
| |
Allow non-identifier characters in the name of environment variables,
by surrounding them with string quotes (subject to ordinary
string-quoting rules.)
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
|
|
|
|
| |
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
|
|
|
|
|
|
|
|
|
| |
We still miss Chuck, but I don't think we can really say anymore we're
doing this particular release in his memory.
Requiescat in pace, our friend.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
|\
| |
| |
| |
| |
| |
| | |
Resolved Conflicts:
version
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
| |
| |
| |
| |
| |
| | |
Patchlevels should be documented, too...
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
In case if there is a whitespace before
'paste' token we may reach NULL dereference
in strlen since paste_head will point to
TOK_WHITESPACE. Fix it.
[mainstream adabc1576b957fc7d929d2c7e749b4f45f7293aa]
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| | |
Make -Ox the default; it's the optimization level expected by most
users, and it is clearly still causing confusion that it has to be
specified manually.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
| |
| |
| |
| |
| | |
Signed-off-by: Bryant Keller <bkeller@assembly.ath.cx>
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
|
| |
| |
| |
| |
| |
| |
| | |
Add %ifenv to test for the presence of an environment variable. The
environment variable can, but does not have to be, prefixed with %!.
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Revert to issuing a nonfatal error (it makes no sense to make it a
fatal error, but it probably makes sense for it to be an error instead
of a warning, especially since a lot of prior versions would crash and
apparently noone noticed.) We might have to revisit this based on
user requirements, and/or provide a method for the user to detect an
existing environment variable (%ifenv?).
Issue a better error message, indicating the nature of the failure.
Simplify the code by just updating the string in "p".
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
|
| |
| |
| |
| | |
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Frank suggested to just print out an error if environment
variable is not there. Agreed.
Suggested-by: Frank Kotler <fbkotler@zytor.com>
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
|
| |
| |
| |
| | |
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Frank reported we hit NULL dereference on nonexistent
environment variables. Fix it by leaving empty string
in text field of such token and yielding warning.
Reported-by: Frank Kotler <fbkotler@zytor.com>
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
At moment of calling the nasm_skip_string the string pointer
is already incremented which makes tokenize fail on correct
indirect strings.
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
|
| |
| |
| |
| |
| |
| | |
It makes read_line less complex
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
|
| |
| |
| |
| |
| |
| | |
Various small fixes.
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
|
| |
| |
| |
| | |
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The commits
20a94ad7fe41c82f77fb670abb68f0de40d2b3e5
29c96651de1c43e59b7db58a4f06ff21dc854125
13dbfad76b4d3dbf27ef41761873584c6bd9fd7f
6f5f7ef417c37c154d10c2b3813808ad3fa65fd7
ddd08c3cccb4b68ecdb24d7a92eab6b2b82e8c68
seems to do the tricks we need. Eventually
get rid of commented "case".
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
In case if there is a whitespace before
'paste' token we may reach NULL dereference
in strlen since paste_head will point to
TOK_WHITESPACE. Fix it.
[test: paste.asm]
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
|
| | |
| | |
| | |
| | |
| | |
| | | |
Add another test case for preprocessor token pasting.
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Trying to deal with bug reports 3005117 and 3026808: don't paste after
TOK_PREPROC_ID.
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This reverts commit ec88c1beac003bd6660037da3cef3aebeee7af20.
Revert due to BR 3026808.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This reverts commit 51fd86e0fed8f5162f8c1e45e4ceaf237d6e5539.
Revert due to BR 3026808.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This reverts commit 1f6741fc78413236816c42d26b34134ab18ba4f1.
Revert due to BR 3026808.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This reverts commit 985d880c15a5b26e59cdcec4af2eba0748ecfe1f.
Revert due to BR 3026808.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
|/ /
| |
| |
| |
| |
| | |
Remove obsolete Sourceforge references, replace with nasm.us.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
| |
| |
| |
| | |
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
| |
| |
| |
| |
| |
| | |
Add test case for BR 3026808 (%assign %$local).
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|