summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* preproc: add %[i]defid supportdefidKeith Kanios2009-07-122-0/+43
|
* preproc: add %exitmacro support and clean up recursive macro handlingKeith Kanios2009-07-121-9/+37
|
* preproc: refine appropriate handling of PP_RMACRO/PP_RIMACRO/PP_MACRO/PP_IMACROKeith Kanios2009-07-111-5/+4
|
* pptok: add rmacro/rimacroKeith Kanios2009-07-112-21/+9
| | | | preproc: revamp for use with rmacro/rimacro instead of overloading macro/imacro with optional recursion parameter
* preproc: fix potential bug regarding MMacro->prev and %repKeith Kanios2009-07-111-0/+1
|
* preproc: add recursive macro expansion supportKeith Kanios2009-07-111-15/+110
|
* NASM 2.07rc4nasm-2.07rc4H. Peter Anvin2009-07-081-1/+1
|
* Document macho64 output formatH. Peter Anvin2009-07-082-11/+22
| | | | | | At least mention the 64-bit macho format in the documentation. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* Revert "NASM 2.07rc4"Keith Kanios2009-07-081-1/+1
| | | | This reverts commit 6d67ced3a470202b511dd55d8d5ac0566ac24fd6.
* NASM 2.07rc4Keith Kanios2009-07-081-1/+1
|
* macho64: Manually merge macho64 branch with master branch.Keith Kanios2009-07-085-25/+1594
|
* outmacho.c: fix section/relocation alignment issueKeith Kanios2009-07-071-3/+7
|
* NASM 2.07rc3nasm-2.07rc3H. Peter Anvin2009-07-071-1/+1
|
* changes: document listing fixH. Peter Anvin2009-07-071-0/+3
| | | | Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* preproc: revert to older form of preprocessor user error messagesH. Peter Anvin2009-07-071-5/+5
| | | | | | | | | When the user generates an error via %warning, %error, or %fatal, treat is as any other error message. The attempt at making them stand out really looked ugly when the preprocessor adds additional tracing information. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* preproc: always reprocess smacros after %+ - pastingH. Peter Anvin2009-07-071-4/+5
| | | | | | | | We always need to process %+ at least once, but we also always need to reprocess smacros after pasting. The solution to this is to make sure we always reprocess %+ after the first expansion pass. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* listing: preserve list file on error, include errorsH. Peter Anvin2009-07-073-13/+57
| | | | | | | | | Instead of removing the list file on error, keep the list file and include the errors in the list file. This makes it actually possible to debug things that involve deep macro recursion, where the line number is pretty much meaningless. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* outdbg: be excrutiatingly correct...H. Peter Anvin2009-07-071-1/+1
| | | | | | | outdbg is actually a good starting point to make a new backend, so we really should endeavor to make it do things "right". Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* outdbg: fix OUT_REL*ADR, add OUT_REL8ADRH. Peter Anvin2009-07-071-3/+8
| | | | | | | | | | The OUT_REL*ADR types pass a pointer which points to an int64_t which then should be truncated down to size. This matters on bigendian platforms. Add OUT_REL8ADR. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* outbin: be consistent in spelling "Intel hex" with those capsH. Peter Anvin2009-07-061-1/+1
| | | | | | | | The documentation uses "Intel hex", with that capitalization (Intel being a proper noun, hex being descriptive) so make the help message match. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* NASM 2.07rc2nasm-2.07rc2H. Peter Anvin2009-07-061-1/+1
|
* changes: add Mach-O alignment issue fixH. Peter Anvin2009-07-061-0/+2
| | | | Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* Merge branch 'master' of git+ssh://repo.or.cz/srv/git/nasmKeith Kanios2009-07-062-4/+11
|\
| * changes: document %+ behavior revertH. Peter Anvin2009-07-061-0/+3
| | | | | | | | | | | | | | Revert to original %+ behavior. This is what we really wanted in the first place, except this time we have fixed some bugs. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
| * preproc: don't handle %+ until the final phase of smacro expansionH. Peter Anvin2009-07-061-4/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Revert to the earlier behavior of not expanding %+ until the final phase of smacro expansion. However, the previous code has: if (expanded && paste_tokens(&thead, true)) { ... which would inhibit paste_tokens() if expanded was false on the first iteration. However, if expand_mmac_params is not expanding %+, then we cannot bypass this expansion. Thus use: pasted = paste_tokens(&thead, true); if (expanded && pasted) { ... instead. This seems to work with both Syslinux and x264 usage, and therefore hopefully should be compatible with earlier versions of NASM. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* | outmacho: fixed section/relocation alignment issueKeith Kanios2009-07-061-4/+4
|/
* NASM 2.07rc1nasm-2.07rc1H. Peter Anvin2009-07-061-1/+1
|
* changes.src: document user-visible changesH. Peter Anvin2009-07-061-0/+20
| | | | | | | | Update user-visible changes so far. Since I consider the license change alone to be big enough of a deal to justify a "real" version number, make this version 2.07. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* doc: update license and contact informationH. Peter Anvin2009-07-061-26/+41
| | | | | | Update license information to 2-BSD; update contact information. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* spec: change License to BSDH. Peter Anvin2009-07-061-1/+1
| | | | | | | The appropriate License tag for the 2-clause BSD license is... wait for it... "BSD". Make it so. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* nasm.nsi: remove COPYING; add LICENSEH. Peter Anvin2009-07-061-2/+2
| | | | | | The licensing information has been moved into file LICENSE. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* NASM: relicense under the 2-clause BSD licenseH. Peter Anvin2009-07-0636-916/+3
| | | | | | | | *To the best of my knowledge*, we now have authorization from everyone who has significantly contributed to NASM in the past. As such, change the license to the 2-clause BSD license. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* outbin: minor cleanupsH. Peter Anvin2009-07-061-6/+8
| | | | | | | | | - add assert so we don't try to write 2^64 bytes of zero - explicitly track the Intel hex "LBA" (64K page) instead of playing games with the last byte written. This way it is more explicit what we're doing and why. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* BR 2817225: don't overrun a permts buffer with a maximum labelH. Peter Anvin2009-07-051-3/+5
| | | | | | | | | | BR 677841 was fixed backwards, with a reverse condition. Correct the direction of the fix, and add an assert for the overflow condition. Note: the bug was non-manifest in previous build, so this is not a security issue. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* nasm.nsi: in the "NASM shell", put NASM first in PATHH. Peter Anvin2009-07-051-1/+1
| | | | | | | | | In the "NASM shell", it makes sense for NASM to be first in the PATH, not last. That way if the user has more than one version of NASM installed, and one of them is global, the "NASM shell" for any one version will still pick up the proper version. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* Change noreturn macro to no_return to avoid header file problemsH. Peter Anvin2009-07-053-4/+4
| | | | | | | | Change the "noreturn" macro to "no_return", to avoid problems with system header files which use __attribute__((noreturn)) rather than __attribute__((__noreturn__)) as is appropriate for system headers. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* nasm.nsi: use LZMA compressionH. Peter Anvin2009-07-051-1/+1
| | | | | | | Using LZMA compression produces a significantly smaller installer binary. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* More "make install" fixes...H. Peter Anvin2009-07-052-1/+2
|
* rdf2bin: be smarter about extracting the format from argv[0]H. Peter Anvin2009-07-051-7/+26
| | | | | | | | Consider that argv[0] may contain extensions like .exe as well as pathname prefixes. Handle it by searching backwards for the string "rdf2" and then extract the alphanumeric tail that follows. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* nasm.nsi: add additional rdf2bin aliasesH. Peter Anvin2009-07-051-0/+4
| | | | | | Add additiona rdf2bin aliases to nasm.nsi Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* rdoff: fix "make install"H. Peter Anvin2009-07-051-1/+3
| | | | | | Fix "make install" for the new rdf2bin aliases. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* test/Makefile: add ith and srec targetsH. Peter Anvin2009-07-051-0/+6
| | | | | | Add ith and srec targets because, well, why not... Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* doc: S-records seems to usually be pluralizedH. Peter Anvin2009-07-051-3/+3
| | | | | | Call it "S-records" not "S-record". Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* doc: srec produces S-records, not Intel hex...H. Peter Anvin2009-07-051-1/+1
| | | | | | Copy and paste accident... Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* doc: use the term "extensions" to mean of-specific anythingH. Peter Anvin2009-07-051-2/+2
| | | | | | | We seem to use the term "extensions" to mean anything that is specific to an object format, so continue to do so. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* doc: fix capitalizationH. Peter Anvin2009-07-051-1/+1
| | | | | | Consistently capitalize NASM. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* outbin: when using saa_rnbytes() we have to saa_rewind()H. Peter Anvin2009-07-051-0/+2
| | | | | | | | Using saa_fpwrite() to dump a section to a file automatically does saa_rewind(), but if we use saa_rnbytes() to do bit by bit then we manually need to to saa_rewind() before we start. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* outbin: when writing S-records, write head recordH. Peter Anvin2009-07-051-0/+3
| | | | | | | When writing S-record output, we should write the head record (S0), too. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* outbin: add support for Intel hex and Motorola S-recordsH. Peter Anvin2009-07-053-29/+319
| | | | | | | Add support for directly generating Intel hex or Motorola S-records. These formats are commonly used with ROM burners. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* Make it possible for outputs to be either text or binaryH. Peter Anvin2009-07-0514-63/+66
| | | | | | | | | | | Allow the backend to specify that an output format is either text or binary. For future uses, define this as a flag word so we can define other flags in the future if it would make sense. Currently, the ieee and dbg formats are text; all the others are binary. Signed-off-by: H. Peter Anvin <hpa@zytor.com>