summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* asm: fix pass_type()nasm-2.15.xxH. Peter Anvin (Intel)2020-07-082-1/+3
| | | | | | | Update the table used by pass_type() to give the name of the pass type. It was not updated properly after PASS_PREPROC was added. Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
* k_test.asm: comment out %pragma list optionsH. Peter Anvin (Intel)2020-07-081-1/+1
| | | | | | | | Disable the %pragma list options in k_test.asm to avoid nasty surprises. LISTOPT is -L+ by default and can be overridden on the command line, so the %pragma is not just unnecessary but problematic. Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
* config/unconfig.h: still needs to be in the repositoryH. Peter Anvin (Intel)2020-07-081-0/+182
| | | | | | | | | config/unconfig.h is build from config/config.h.in, but the latter doesn't exist in the repository either. config/unconfig.h is cleaner, so check it back into the repository, to let non-Unix-sh people be able to build from the repo. Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
* test/Makefile: allow overriding -L+H. Peter Anvin (Intel)2020-07-081-1/+2
| | | | | | | Add a LISTOPT to make it possible to override -L+ without a bunch of painful additional options. Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
* changes.src: update with current state of 2.15.03H. Peter Anvin (Intel)2020-07-071-0/+15
| | | | | | Add release notes for 2.15.03 as it currently exists. Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
* NASM 2.15.03rc1H. Peter Anvin (Intel)2020-07-061-1/+1
|
* BR 3392692: outcoff: allow user to reduce the default alignmentH. Peter Anvin (Intel)2020-07-063-37/+65
| | | | | | | | | | | | | NASM would incorrectly only allow for the alignment to be increased, even when overridden by the user. Allow the user to specify any alignment value and have it override the partition type default. The user can increade their own alignment value specification later, of course, and the sectalign directive will present a floor for either kind of specification. Reported-by: Dale Curtis <dalecurtis@chromium.org> Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
* compiler.h: safer/more portable version of offsetin()H. Peter Anvin (Intel)2020-07-061-4/+12
| | | | | | | Still technically not defined behavior, but this *should* work on all reasonable or semi-reasonable systems. Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
* rdflib.c (main): change incorrect break statement to /* fall through */sezero2020-07-061-1/+1
| | | | | | | | Commit 6d36d8684 added a wrong break statement to case 'x' in rdflib.c::main() at line235. That case 'x' must "fall through" into case 't' which re-checks the argument. Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
* rdflib.c: add back timestamp size to header in library creation.sezero2020-07-061-0/+2
| | | | | | | Commit 8dc965347 removed writing of the timestamp size to library header. (Accidentally, I guess??) The attached patch adds it back. Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
* portability: Watcom C portability updatessezero2020-07-062-9/+25
| | | | | | | | - config/watcom.h: update. - Mkfiles/openwcom.mak: -wcd=124 to silence "Comparison result always 0" warnings from error.h::debug_level() Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
* compiler.h: add missing #endifH. Peter Anvin (Intel)2020-07-061-0/+1
| | | | | | Embarrassing: missing #endif Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
* offsetin(): use typeof() if the compiler supports itH. Peter Anvin (Intel)2020-07-063-4/+46
| | | | | | | | If the C compiler has typeof(), we can use a safer implementation of the offsetin() macro by using typeof(). Since typeof() isn't standard (yet?) autoconf has to test for it. Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
* configure.ac: -enable-... breaks other compilers, so hope for clang 10H. Peter Anvin (Intel)2020-07-061-6/+0
| | | | | | | | The -enable-... option to enable -ftrivial-auto-var-init=zero breaks linking not just on clang but on other compilers (gcc) too. Drop it; this feature is enabled by default in clang 10. Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
* config/unconfig.h: generate by Makefile, not autogen.shH. Peter Anvin (Intel)2020-07-067-826/+58
| | | | | | | | config/unconfig.h really is no different than the other perlreq files, so move it into the Makefile. This has the extra advantage that config/unconfig.h no longer needs to be kept in the source repository. Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
* pa_func_attributes.m4: better messagesH. Peter Anvin (Intel)2020-07-061-4/+4
| | | | | | | It is a bit confusing when the alloc_size attribute is tested for more than once, to include the arguments in the output message. Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
* clang: add -ftrivial-auto-var-init=zeroH. Peter Anvin (Intel)2020-07-062-5/+28
| | | | | | | | | | | | | | The clang behavior is sometimes really weird, and extremely hard to debug, when uninitialized variables are used even if the value cancels out in an expression. It also depends on optimization level, etc. -ftrivial-auto-var-init=zero makes the behavior predictable. Unfortunately it also needs a really weird "enable" option, and it issues a warning about an unused command line option on link, which may get promoted to error, so silence the warning before doing anything else. Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
* test/Makefile: the debug option for -f dbg is -gdebugH. Peter Anvin (Intel)2020-07-061-1/+1
| | | | | | | If a format is specified explicitly for the debug format, it needs to be "debug", not "dbg". Lovely inconsistency. Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
* travis: weirdpaste.i now has better line directivesH. Peter Anvin2020-07-051-8/+6
| | | | | | | | The %line directives in weirdpaste.i now better reflect the actual lines of the source code, just as we would have for debugging output. Update the reference version of weirdpaste.i accordingly. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* preproc: handle %+ pasting after empty expansionsH. Peter Anvin (Intel)2020-07-051-20/+16
| | | | | | | | | %+ tokens can end up next to each other, or at the beginning or the end of an expansion if we try to paste the output of empty macros. This is perhaps particularly likely to happen in %[] expressions. Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
* Make debug info and error messages correctly reflect macros and repsH. Peter Anvin (Intel)2020-07-057-164/+260
| | | | | | | | | | | | | | | 1. Error messages would issue with the line number of %endrep. 2. Debug line information would ignore both macros and reps. This is doubly wrong; macros are semantically equivalent to inline functions, and it is expected that debuggers trace into these functions. These changes finishes the last parts of moving all responsibility for the listing enable/disable into the preprocessor, so remove the way over-complicated macro inhibit facility from the listing module entirely. Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
* BR 3392691: errors: issue ERR_PASS2 messages in preproc-only modeH. Peter Anvin (Intel)2020-07-032-4/+25
| | | | | | | | | In preproc-only mode, we only ever execute a single pass, so we need to still issue error messages created during that pass, otherwise we don't even generate %warning or %error messages... Reported-by: Jason Hood <jadoxa@yahoo.com.au> Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
* doc: swap 'hyphen' and 'minus' in PostScript definitionH. Peter Anvin (Intel)2020-07-021-2/+2
| | | | | | | | | | | | It appears that at least with the Adobe Source fonts: 'hyphen' -> U+002D (ASCII) 'minus' -> U+2212 This is ugly for cut & paste purposes. Reported-by: C. Masloch <pushbx@ulukai.org> Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
* doc: remove references to sourceforgeJasper Lievisse Adriaanse2020-07-011-2/+0
| | | | | | | The mailinglists have been migrated to lists.nasm.us Signed-off-by: Jasper Lievisse Adriaanse <j@jasper.la> Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
* NASM 2.15.02H. Peter Anvin (Intel)2020-07-011-1/+1
|
* changes.src: fixed Mkfiles/msvc.makH. Peter Anvin (Intel)2020-07-011-0/+2
| | | | Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
* msvc.mak: fix syntax for excluding config.hH. Peter Anvin (Intel)2020-07-011-1/+1
| | | | | | mkdep.pl wants a / regardless of what the target path separator is. Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
* strlist.h: move safe_alloc declarationH. Peter Anvin (Intel)2020-07-011-1/+1
| | | | | | | | Move the safe_alloc declaration after the * symbol to be consistent with all other functions with this attribute. Just in case it matters somewhere... Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
* Change unused -> unused_func to remove special caseH. Peter Anvin (Intel)2020-07-013-24/+3
| | | | | | | | | The autoconf process automatically generates macros for function attributes, including empty placeholders. Said empty placeholders also propagate automatically into config/unconfig.h for the compilers which don't support autoconf. Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
* NASM 2.15.02rc2H. Peter Anvin (Intel)2020-06-301-1/+1
|
* preproc: expand_mmac_param_range() should be staticH. Peter Anvin (Intel)2020-06-301-1/+1
| | | | | | | expand_mmac_params_range() lost its "static" in checkin e99a946390e561804bf624a1e67f25ae34b13dfd. Put it back. Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
* NASM 2.15.02rc1H. Peter Anvin (Intel)2020-06-301-1/+1
|
* doc: index cleanupsH. Peter Anvin (Intel)2020-06-301-107/+117
| | | | Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
* gitattributes: don't try to merge the version fileH. Peter Anvin (Intel)2020-06-301-0/+1
| | | | | | | Don't try to merge the version file... if there is a conflict, keep the current version. Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
* doc: document(!) documentation build requirementsH. Peter Anvin (Intel)2020-06-301-2/+11
| | | | | | The tools we need to build the documentation. Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
* doc: slight cleanup of MASM compatibility package informationH. Peter Anvin (Intel)2020-06-301-5/+9
| | | | | | | Note that the extended DB syntax is also available, regardless of if %use masm is used or not. Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
* emptyarg.asm: add expansion test for a range with a single parameterH. Peter Anvin (Intel)2020-06-301-0/+8
| | | | | | Add a test for %{1:1}, as reported in BR 3392611. Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
* changes.src: document %{:} macro parameter range fixH. Peter Anvin (Intel)2020-06-301-0/+3
| | | | Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
* preproc: fix %{:} macro operand rangesH. Peter Anvin (Intel)2020-06-302-63/+164
| | | | | | | | | | | | | Fix the handling of %{:} macro operands. Use the same code for expanding the subarguments as for normal arguments. This (hopefully) resolves the following bug reports: BR 3392611, BR 3392686, BR 3392688 Reported-by: <coconutfaistoslimeregistry@gmail.com> Reported-by: Jasper Lievisse Adriaanse <r+nasm@jasper.la> Reported-by: Jason Hood <jadoxa@yahoo.com.au> Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
* changes.src: update changes for 2.15.02 (so far)H. Peter Anvin (Intel)2020-06-301-0/+8
| | | | | | Begin the release note list for 2.15.02. Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
* doc: incbin: no need to mention an ancient Amiga assemblerH. Peter Anvin (Intel)2020-06-301-5/+4
| | | | | | | | There is no reason to mention an ancient Amiga assembler as the source for INCBIN, especially since it is supported by quite a few other assemblers. Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
* Make empty db statement a suppressable warningH. Peter Anvin (Intel)2020-06-301-2/+9
| | | | | | Add a "db-empty" warning class to allow suppressing warnings. Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
* clang: mark inline functions unused and add warning optionsH. Peter Anvin (Intel)2020-06-306-22/+88
| | | | | | | | | | | | | clang, unlike gcc, will warn on inline functions which are unused. This can happen if a function is either intended to be used in the future, or it is only used under certain config options. Mark those functions with the "unused" attribute; not only does it quiet the warning, but it also documents it for the user. Shuffle around the warning options in configure and add a few more that are specific to clang. Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
* BR 3392687: clang miscompiles offsetin() for uninitialized pointerH. Peter Anvin (Intel)2020-06-301-2/+3
| | | | | | | | | | | | | | | | | The actual pointer value in offsetin() cancels out, but clang still miscompiles offsetin() for an uninitialized pointer, considering the value to be completely undefined. Initialize pointer being passed to offsetin() to make clang happy; both the gcc and clang optimizers discover later in the code that the initialization is unused and removes it from the code. Although technically undefined behavior, this is in my opinion a severe quality of implementation bug in clang, and I will file a bug report accordingly. Reported-by: Jasper Lievisse Adriaanse <r+nasm@jasper.la> Reported-by: David Bohman <debohman@gmail.com> Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
* hash generators: rename UNUSED to UNUSED_HASH_ENTRYH. Peter Anvin (Intel)2020-06-304-12/+12
| | | | | | | | The name UNUSED is too generic and may conflict with future macro definitions. This is machine-generated code anyway, so rename UNUSED to UNUSED_HASH_ENTRY. Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
* listing: list short reserved blocks as ?? instead of <res ...>H. Peter Anvin (Intel)2020-06-272-2/+22
| | | | | | | | | | | <res ...> can get rather annoying when mixed in with data, as can happen with the MASM-like db syntax. List shorter blocks (8 bytes or less) as ?? instead; 8 bytes avoids line breaks for a single statement. This is probably more readable anyway... Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
* nasmdoc.css: use a relative size for code/preH. Peter Anvin (Intel)2020-06-271-1/+1
| | | | | | | Use a percentage size modifier for code/pre, which hopefully should allow it to respect enclosing size modifications (for headings.) Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
* nasmdoc.css: use a smaller font size for code textH. Peter Anvin (Intel)2020-06-271-0/+1
| | | | | | Use a smaller font size for code text, just as for ps/pdf. Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
* doc: actually *use* the smaller code font size...H. Peter Anvin (Intel)2020-06-272-6/+6
| | | | | | Helps to actually use what is intended. Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
* doc: for ps/pdf, use a smaller font for codeH. Peter Anvin (Intel)2020-06-271-13/+34
| | | | | | | The text looks better using a smaller font for both inline code and code paragraphs. Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>