Obj2 is an obj variation for OS/2.
Obj2 has the following differences from obj.
1. Default attributes for a segment are ALIGN=16 and USE32.
2. Add a segment to FLAT group implicitly if 32-bit segment.
3. Recognize Unix sections .text, .rodata, .data and .bss as TEXT32,
CONST32, DATA32 and BSS32 respectively for compatibility with other
Unix platforms.
4. Set default classes implicitly for known segments such as TEXT32,
CONST32, DATA32, BSS32 and so on.
Signed-off-by: KO Myung-Hun <komh78@gmail.com>
With warnings disaggregated, there is no reason to play games with not
updating the output timestamp. Always write the files as usual.
Remove unnecessary Makefile rules.
Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
1# Please enter the commit message for your changes. Lines starting
The idea of putting the warnings in the source code was a nice one,
really, but it ended up being a nightmare from the perspective of
build dependencies. Disaggregate them, and tweak the documentation for
easier reading.
Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
pragma->tail is described as "anything after the operation", but
existing parsing passed just the first whitespace-delimited
word. Change the parsing to just strip leading and trailing
white space off the rest of the line, but keep interior spaces
if there are any.
This is preparation for a build_version pragma for Mach-O matching
the llvm-as .build_version syntax.
Signed-off-by: Fabian Giesen <fabian.giesen@epicgames.com>
You have to check that something that isn't standard C actually exists
before trying to use it...
Cc: Colin Ian King <colin.i.king@intel.com>
Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
Turns out that the hotspots of nasm are mainly on string hashing
when accessing memory. A simple performance improvement is to
prefetch the first cacheline of a string to be hashed. Ran 50 tests
on an i9-12900 building intel-ipsec-mb that heavily uses nasm and
improved wall clock build times from 56.1 seconds to 53.2 seconds or
around 5% speed improvement.
Signed-off-by: Colin Ian King <colin.i.king@intel.com>
This allows response files specified with -@ to reference other
response files. This keeps parity with many other common toolchains
such as MSVC, GCC, and Clang which all support nested response
files.
Signed-off-by: Zachary Turner <zturner@roblox.com>
data4 was not spec-compliant here, causing some tools reading
DWARF debug info to complain. Thanks to Nikita Smith for
debugging this!
Signed-off-by: Fabian Giesen <fabian.giesen@epicgames.com>
endstruc calls __?SECT?__ and this causes unnecessary warnings on obj
output if a section is defined with any attributes, because obj output
does not like a segment definition with any attributes when it appears
again.
Signed-off-by: KO Myung-Hun <komh78@gmail.com>
A path separator of ACLOCAL_PATH on OS/2 is ';' not ':'. So use
$PATH_SEPARATOR instead of hard-coded ':'.
Signed-off-by: KO Myung-Hun <komh78@gmail.com>
It's possible that segments belong to both the group FLAT and the other
group because the group FLAT is a pseudo group.
Signed-off-by: KO Myung-Hun <komh78@gmail.com>
%null appears to be the recommended way to do $(SIDE) on WMAKE.
Suggested-by: KO Mying-Hun <komh78@gmail.com>
Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
- append /html if htmldir = docdir
- Run autogen.sh with --cleanenv
- Actually use PDFZ and not just Z in doc/Makefile.in.
Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
- Add an option to use "make install" to install .pdf.xz
- Fix RPM spec file to put the documentation in doc/nasm instead of
doc/nasm-doc.
- RPM doesn't like unversioned Obsoletes; set a valid cutoff.
- Make nasm-doc depend on nasm.
- Add zlib-devel as a build dependency.
- Add EXTRA_CFLAGS and EXTRA_LDFLAGS for some automated platforms.
Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
The automatic extraction procedure can only do so much. At some point
it is simpler to add explicit special case handling.
Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
Move the editor help files (currently nasmtok.el) to the editors/
subdirectory in anticipation of having more such files.
Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
Only try to run a Perl interpreter if the system actually has one
available. Because timestamps on Windows are apparently not preserved
on archive extraction, otherwise it might happen that nmake will try
to rebuild files even through they already exist.
Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
Use a really hacky way to run the NASM binary and extract automatic
builtin macros. As this is not something normally supported during the
NASM build process, the output is canned and will need to be run
manually.
Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
Resolved Conflicts:
misc/emacstbl.pl
This also reverts the token names to the version without the -token-
infix.
Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
The .time trick doesn't seem to work in general, and auxiliary
Makefiles aren't guaranteed to build modified sources anyway.
Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>