Age | Commit message (Collapse) | Author | Files | Lines |
|
Move backend-specific code into the output/ directory, and make the
null debugging backend a separate file (it certainly isn't needed for
ndisasm...)
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
|
Correctly handle \-continuation lines in macros.pl.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
|
Don't include macros for output formats we aren't compiling in.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
|
Be a bit more strict with open() calls.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
|
It gets less ugly if we make the macros table "unsigned char".
|
|
Instead of an array of strings, just have a character array; that
reduces the size of canned macros by up to 30%, and we only did
sequential access anyway.
|
|
Move the handling of "extra" macros (i.e. output format macros) into
the macros.pl mechanism. This allows us to change the format of the
internal macro store in the future - e.g. to a single byte store
without redundant pointers.
Also, stop using indicies into a long array when there is no good
reason to not just use different arrays.
|
|
Automatically generate a %define as the first string in the include
block, and just pick the string out of it from that %define statement
to verify existence. That way we eliminate any use of toupper() --
all case-insensitivity in NASM uses tolower()/nasm_tolower().
|
|
Adopt the term "standard macro packages", "modules" are too
ambiguous.
|
|
Using ^(.*) means we do right-to-left search, since (.*) is a greedy
expression; instead use $' to get the lead-in part of the string.
|
|
Remove debug print statements from macros.pl
Make sure we test for whitespace at end of statements
|
|
Compress macros.c by representing macro directives with a single byte.
We can do this because we only use the ASCII character range inside
the standard macro files.
Note: we could save significant additional space by not having a
pointer array, and instead relying on the fact that we sweep
sequentially through the output array.
|
|
Add a builtin equivalent to the %include directive called %use.
%use includes a standard macro file compiled into the binary; these
come from the macros/ directory in the source code.
The idea here is to be able to provide optional macro packages with
the distribution, without adding complex host filesystem dependencies.
|
|
Be consistent about marking Perl scripts executable, even if we always
invoke them with $(PERL) in the Makefiles.
|
|
|
|
Add some comments to the output of macros.pl, which might make it a
little bit easier to debug issues if there should be any.
|
|
Don't #include .c files, even if they are auto-generated; instead
compile them as separate compilation units and let the linker do its
job.
|
|
|
|
|
|
"Stealth whitespace" makes it harder to read diffs, and just generally
cause unwanted weirdness. Do a source-wide pass to get rid of it.
|
|
Concentrate compiler dependencies to compiler.h; make sure compiler.h
is included first in every .c file (since some prototypes may depend
on the presence of feature request macros.)
Actually use the conditional inclusion of various functions (totally
broken in previous releases.)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Introduce new standard __NASM_SUBMINOR__ and __NASM_VER__ macros.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|