summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'master' into elfmergeelfmergeH. Peter Anvin2016-02-264-22/+46
|\ | | | | | | | | | | | | Resolved Conflicts: output/outmacho.c Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
| * NASM 2.12nasm-2.12H. Peter Anvin2016-02-261-1/+1
| |
| * changes.src: document Win64 buildH. Peter Anvin2016-02-261-0/+2
| | | | | | | | Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
| * nasm.spec.in: document buildrequires properlyH. Peter Anvin2016-02-231-1/+1
| | | | | | | | | | | | | | We need asciidoc, xmlto, ghostscript, texinfo in order to be able to build the documentation. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
| * NASM 2.12rc7nasm-2.12rc7H. Peter Anvin2016-02-231-1/+1
| |
| * outmacho: correctly handle references between sectionsH. Peter Anvin2016-02-231-19/+41
| | | | | | | | | | | | | | | | | | Correctly generate references between sections. The previous version would work correctly as long as all relative references came from the first section, which is usually __TEXT,__text and so it usually worked. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
| * nasm.spec: change release to 0 to avoid distro conflictsH. Peter Anvin2016-02-221-1/+1
| | | | | | | | | | | | | | Change the RPM release number to 0 so that distribution-produced RPMs will take precedence in all cases. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* | Merge branch 'master' into elfmergeH. Peter Anvin2016-02-213-21/+56
|\ \ | |/
| * NASM 2.12rc6nasm-2.12rc6H. Peter Anvin2016-02-211-1/+1
| |
| * misc/tag-release: default to --no-pushH. Peter Anvin2016-02-211-3/+5
| | | | | | | | | | | | --no-push is by far the safer default. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
| * misc/tag-release: die on unknown optionsH. Peter Anvin2016-02-211-0/+4
| | | | | | | | | | | | | | If someone specifies an unknown option, they proabably typoed something. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
| * NASM --rel=2.12rc6H. Peter Anvin2016-02-211-1/+1
| |
| * outmacho: make a best effort at separating SIGNED from BRANCH relocsH. Peter Anvin2016-02-211-17/+46
| | | | | | | | | | | | | | | | | | | | | | For 64 bits, a BRANCH reloc is sometimes needed to fix up PIC problems. Make a best effort at generating BRANCH relocs just as we make a best effort at distinguishing GOTLOAD from GOT. This needs to be replaced with information from the assembler to the backend. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* | configure: smarter way to handle fseeko() searchingH. Peter Anvin2016-02-213-6/+15
| | | | | | | | | | | | | | Better handling of the replacement for fseeko() in its absence; also look for the Windows _fseeki64() function. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* | Windows portability fixesH. Peter Anvin2016-02-182-1/+5
| | | | | | | | | | | | | | Windows needs strsep() and defines a P_WAIT constant that we need to undefine. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* | nasmlib: allow writing of sparse filesH. Peter Anvin2016-02-183-2/+43
| | | | | | | | | | | | | | | | | | | | | | On systems that support it, allow the writing of sparse files. This can be useful for some file formats (like binary, or ELF if the alignments are very large) that can contain large amounts of zeroes. This is not inherently portable code, so condition it on certain known systems. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* | Merge branch 'master' into elfmergeH. Peter Anvin2016-02-188-60/+128
|\ \ | |/ | | | | | | | | | | Resolved Conflicts: configure.in Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
| * test/Makefile: add a rule for nasm itselfH. Peter Anvin2016-02-181-0/+3
| | | | | | | | | | | | If NASM needs to be rebuilt, build it in the proper directory. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
| * configure.in: add --enable-werror optionH. Peter Anvin2016-02-181-8/+11
| | | | | | | | | | | | | | | | Add an option to compile with -Werror, useful for development. Change --with-ccache to --enable-ccache to match guidelines. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
| * Platform compatibility improvementsH. Peter Anvin2016-02-182-0/+4
| | | | | | | | | | | | | | | | | | | | Windows: indicate that we support multibyte character sets in file names. Unix: support gigantic input and output files. Might be useful especially in the presence of the INCBIN directive. Signed-off-by: H. Peter Anvin <hpa@linux.kernel.org>
| * NASM 2.12rc5nasm-2.12rc5H. Peter Anvin2016-02-181-1/+1
| |
| * doc: update documentation for a version 2.12 releaseH. Peter Anvin2016-02-182-24/+85
| | | | | | | | | | | | Add documentation updates for version 2.12. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
| * doc/rdsrc.pl: escape braces in regular expression to support newer PerlH. Peter Anvin2016-02-181-22/+22
| | | | | | | | | | | | | | Newer versions of Perl require literal braces in regular expressions to be escaped. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
| * outmacho: default section flags should depend on section name onlyH. Peter Anvin2016-02-181-5/+2
| | | | | | | | | | | | | | | | The __TEXT segment in particular contains both code and data. The most consistent thing is to look only at the section name, and have the same behavior across sections. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* | Make a few more data items static and constH. Peter Anvin2016-02-182-2/+2
| | | | | | | | | | | | A few more data items that should be static and const. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* | A few more debugging format arrays to mark constH. Peter Anvin2016-02-182-2/+2
| | | | | | | | | | | | Making more debugging format array const. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* | codeview: make struct dfmt df_cv8 constH. Peter Anvin2016-02-181-1/+1
| | | | | | | | | | | | This one was not declared const; fix that. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* | Make struct preproc_ops constH. Peter Anvin2016-02-184-5/+5
| | | | | | | | | | | | Make the preproc function pointer arrays const. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* | More constification, mostly of struct dfmtH. Peter Anvin2016-02-1812-37/+44
| | | | | | | | | | | | | | Make struct dfmt and the struct dfmt arrays const across the board, and make them static whereever possible. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* | Merge branch 'master' into elfmergeH. Peter Anvin2016-02-181-16/+16
|\ \ | |/
| * realpath: if we can't get the full path, return the known portionH. Peter Anvin2016-02-181-16/+16
| | | | | | | | | | | | | | | | | | | | Right now, we don't check the return value from nasm_realpath(); furthermore doing so and failing is probably not the ideal behavior. If we can't get the full canonical path, then punt and just return nasm_strdup() of the known path name; better than nothing. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* | ofmt pointer in struct ofmt_alias should be constH. Peter Anvin2016-02-181-1/+1
| | | | | | | | | | | | | | One more place where an ofmt pointer exists, and it should be const. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* | Remove additional function pointers that never changeH. Peter Anvin2016-02-186-35/+12
| | | | | | | | | | | | | | | | Remove additional cached function pointers which point to static variables which are never actually changed. Just refer to the global variable instead. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* | eval: complete globalization of output formatH. Peter Anvin2016-02-182-8/+3
| | | | | | | | | | | | | | Complete the globalization of the output format definitions; one more place where a local copy was cached for no good reason. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* | Change nasmlist/ListGen to lfmt/struct lfmtH. Peter Anvin2016-02-1812-125/+126
| | | | | | | | | | | | | | For consistency with ofmt/dfmt, change the listing structure to "struct lfmt" and "lfmt" and move it to listing.h. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* | Makefile: remove explicit mention of lib/strlcpy.cH. Peter Anvin2016-02-185-11/+6
| | | | | | | | | | | | | | Don't inclure lib/strlcpy.c unconditionally, that is what LIBOBJS is for. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* | Portability improvements and autoconf modernizationH. Peter Anvin2016-02-186-96/+95
| | | | | | | | | | | | | | Improve the portability of the code and modernize our use of autoconf. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* | gitignore: properly ignore generated man pagesH. Peter Anvin2016-02-171-2/+1
| | | | | | | | | | | | Fix the .gitignore files so man pages are correctly ignored. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* | outelf64: fix commentH. Peter Anvin2016-02-171-2/+2
| | | | | | | | | | | | | | Fix comment that refer to R_386_* to avoid hiding similarities versus outelfx32. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* | outelf64: symtabsection is defined but never set, change to sec_symtabH. Peter Anvin2016-02-171-5/+4
| | | | | | | | | | | | | | | | | | | | | | | | The variable symtabsection is defined but it is never actually set and so was always zero. For both the 32-bit output format this is sec_symtab defined in elf.h. If this is not correct for the 64-bit format, then we should define sec_symtab as a variable instead of having a gratuitious format difference. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* | output: make all instances of struct ofmt readonlyH. Peter Anvin2016-02-1717-61/+60
| | | | | | | | | | | | | | With current_dfmt gone, we can make all instances of struct ofmt const (read-only). Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* | Remove ofmt->current_dfmt indirectionH. Peter Anvin2016-02-1712-57/+55
| | | | | | | | | | | | | | | | Move ofmt->current_dfmt into a separate global variable. This should allow us to make ofmt readonly and removes some additional gratuitious differences between backends. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* | Output preprocessor warnings to the listing fileH. Peter Anvin2016-02-171-17/+41
| | | | | | | | | | | | | | | | | | | | | | Most preprocessor warnings are ERR_PASS1, but we want to see them in the listing file too. If we make it to the code-generation pass, ignore ERR_PASS* for the purpose of emitting warnings to the list file. While we are at it, allow ERR_DEBUG to specify ERR_PASS* too. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* | Merge branch 'master' into elfmergeH. Peter Anvin2016-02-172-6/+9
|\ \ | |/
| * listing: remove unused variableH. Peter Anvin2016-02-171-1/+0
| | | | | | | | | | | | The previous commit contained an unused variable, remove it. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
| * listing: change the line numbers to match the source codeH. Peter Anvin2016-02-172-7/+11
| | | | | | | | | | | | | | Instead of completely useless sequential line numbers, emit line numbers corresponding to the line numbers in the source code. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* | Get rid of a bunch of unnecessary indirectionsH. Peter Anvin2016-02-1722-451/+421
| | | | | | | | | | | | | | | | | | We pass around a whole bunch of function pointers in arguments, which then just get stashed in static variables. Clean this mess up and in particular handle the error management in the preprocessor using nasm_set_verror() which already exists. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* | nasmlib: add nasm_fatal() like nasm_panic()H. Peter Anvin2016-02-172-5/+15
| | | | | | | | | | | | | | Just like nasm_panic(), nasm_fatal() tells the compiler that we can never return from this call. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* | outelf*: remove type prefix from debugging functionsH. Peter Anvin2016-02-173-135/+135
| | | | | | | | | | | | | | | | The debugging functions currently have unique prefix, which is good for debuggability but hides real code differences. Convert them to have the same name across files. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* | outelf32: remove unused header fileH. Peter Anvin2016-02-171-1/+0
| | | | | | | | | | | | Remove unused instance of <limits.h>. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>