aboutsummaryrefslogtreecommitdiffstats
path: root/doc/nasmdoc.src
Commit message (Collapse)AuthorAgeFilesLines
* doc: some more cleanups and detailed specificationsH. Peter Anvin (Intel)2020-06-271-10/+19
| | | | | | Some more mostly editorial changes. Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
* doc: editorial cleanupsH. Peter Anvin (Intel)2020-06-271-15/+37
| | | | | | | Clean up the language of a few sections, add a few examples, and better document %pragma limit. Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
* doc: document operator and Dx changesH. Peter Anvin (Intel)2020-06-251-43/+158
| | | | | | | Document new operators, removal of special casing for %if, and the MASM-like enhancements to the Dx directives. Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
* doc: various documentation updatesH. Peter Anvin (Intel)2020-06-141-74/+218
|
* doc: Update for upcoming 2.15 releasenasm-2.15.xx-preAndrey Matyukov2020-05-061-22/+137
| | | | | | | Update release notes and documentation for 2.15 Signed-off-by: Andrey Matyukov <andrey.matyukov@intel.com> Signed-off-by: Chang S. Bae <chang.seok.bae@intel.com>
* Correct __ALIGN_ -> __?ALIGN_H. Peter Anvin2019-08-271-2/+2
| | | | Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* preproc: standard macros now C-safe, %aliases off, fix %? recursionH. Peter Anvin2019-08-271-90/+90
| | | | | | | | | | | | | | | | | | | | Enough users expect the namespace starting with underscore to be safe for symbols. Change our private namespace from __foo__ to __?foo?__. Use %defalias to provide backwards compatiblity (by using %defalias instead of %define, we handle the case properly where the user changes the value.) Add a preprocessor directive: %aliases off ... to disable all smacro aliases and thereby making the namespace clean. Finally, fix infinite recursion when seeing %? or %?? due to paste_tokens(). If we don't paste anything, the expansion is done. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* outelf: get rid of long-since-obsolete gnu extensions warningH. Peter Anvin2019-06-061-10/+9
| | | | | | | R_386_[PC]{8,16} have been part of the official ELF32 spec for a very long time now. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* Merge branch 'evalmacro'H. Peter Anvin (Intel)2019-04-241-46/+90
|\ | | | | | | | | | | | | | | | | | | | | Resolved Conflicts: asm/preproc.c output/elf.h output/outelf.c output/outelf.h version Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
| * ELF: the .note section should be 4-byte alignedH. Peter Anvin2019-02-261-1/+1
| | | | | | | | | | | | | | The ELF .note section contains of 4-byte words and should be aligned accordingly. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
| * Handle more ELF section typesH. Peter Anvin2019-02-261-56/+77
| | | | | | | | | | | | | | note, preinit_array, init_array, and fini_array are ELF section types that can matter to the assembly programmer. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
| * ELF: add support for the ELF "merge" attributeH. Peter Anvin2018-12-301-1/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | Add support for the "merge" attribute in ELF, along with the associated "strings" and size specifier attributes. Fix a few places where we used "int", but a larger type really ought to have been used. Be a bit more lax about respecifying attributes. For example, align= can be respecified; the highest resulting value is used. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* | warnings: add [warning push] and [warning pop]H. Peter Anvin (Intel)2019-01-111-0/+4
| | | | | | | | | | | | Add [warning push] and [warning pop] directives. Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
* | Merge tag 'nasm-2.14.01rc5'H. Peter Anvin (Intel)2018-12-141-17/+24
|\| | | | | | | | | | | | | | | | | NASM 2.14.01rc5 Resolved Conflicts: asm/labels.c asm/nasm.c version
| * Document the -Ov option, minor fix for gcc -OgH. Peter Anvin (Intel)2018-12-141-1/+6
| | | | | | | | | | | | | | | | | | The -Ov option is useful but was undocumented. Add an initialization to keep gcc from complaining at optimization level -Og. Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
| * --no-line: new option to ignore %line directivesH. Peter Anvin (Intel)2018-12-141-16/+18
| | | | | | | | | | | | | | For debugging preprocessed code, it is useful to be able to ignore %line directives rather than having to filter them out externally. Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
* | warnings: define warning classes at point of usemkwarningsH. Peter Anvin (Intel)2018-12-131-76/+1
|/ | | | | | | | | | | | It is extremely desirable to allow the user fine-grained control of warnings, but this has been complicated by the fact that a warning class has had to be defined in no less than three places (error.h, error.c, nasmdoc.src) before it can be used in source code. Instead, use a script to define these via magic comments at the point of use. This hopefully will encourage creating new classes as needed. Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
* nasm: fix the combination -E -MD, handle -MD without a filenameH. Peter Anvin2018-11-281-0/+9
| | | | | | | | -E -MD should work and output a dependency file. -MD can be used without a filename; there is a default filename or -\c{-MF} can be used. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* preproc: command-line preproc directive after system-generatedH. Peter Anvin2018-11-111-3/+12
| | | | | | | | | | | | | | | | | | BR 3392527: make sure that all command-line specified preprocessing directives are processed after the system-generated ones. In particular __OUTPUT_FORMAT__ was generated after command line pass 2, at which point -p, -d, -u, --pragma and --before had already been processed. There is no reason to split up defined_macros() anymore: the right place to execute it is simply between command line passes 1 and 2. We can also set dfmt here, which lets us define a __DEBUG_FORMAT__ macro as well. Finally move some options that have no business being processed in pass 2 to pass 1. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* nasmdoc.src: fix compound wordH. Peter Anvin (Intel)2018-11-071-2/+2
|
* doc: Add a description for a useful case of mangling symbolsChang S. Bae2018-10-301-3/+15
| | | | Signed-off-by: Chang S. Bae <changseok.bae@gmail.com>
* doc: Clarify %include search directory semanticsCyrill Gorcunov2018-10-261-10/+6
| | | | Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
* doc: Fix macho section name for codeChang S. Bae2018-08-241-1/+1
| | | | | | | | While today's manual lists "text" as the code section name, "code" has been effectively named from d1da074. Reported-by: <zenith432@users.sourceforge.net> Signed-off-by: Chang S. Bae <chang.seok.bae@intel.com>
* doc: add a few more updatesH. Peter Anvin (Intel)2018-06-251-10/+10
| | | | | | In particular, document the new behavior of EXTERN, GLOBAL and COMMON. Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
* doc: 2.14 change logChang S. Bae2018-06-251-1/+1
| | | | | Signed-off-by: Chang S. Bae <chang.seok.bae@intel.com> Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
* doc: document new feature from version 2.14Chang S. Bae2018-06-251-6/+139
| | | | | | | | | Added descriptions about new commandline options, STATIC directive, symbol mingling, and some output format specifics. Signed-off-by: Chang S. Bae <chang.seok.bae@intel.com> Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
* doc: some more documentation on 64-bit programmingH. Peter Anvin2018-02-071-7/+14
| | | | | | Some more information about 64-bit programming and its quirks. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* doc: clarify need for ABS QWORD to do a 64-bit absolute loadH. Peter Anvin2018-02-071-1/+1
| | | | | | | | The rarely used 64-bit absolute load instruction (what gas calls movabsq) needs to be declared ABS if we are in relative mode, which is normally the case. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* doc: add a bit more text about 64-bit immediates and pointersH. Peter Anvin2018-02-071-1/+19
| | | | | | | | There are some gotchas in how immediates and pointers are loaded in 64-bit mode and how they interact with optimization. Document those cases. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* doc: clean up 2.13.02 release notes, document MachO debug optionH. Peter Anvin2017-11-291-0/+2
| | | | | | | | Clean up the 2.13.02 release notes: we don't need to list every single subcase where we would crash, as it is not really relevant to the user. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* doc: update for upcoming 2.13.02 releaseH. Peter Anvin2017-08-161-0/+8
| | | | | | Update release notes and documentation for 2.13.02. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* nasm: when using -MW, enclose whitespace in double quotesH. Peter Anvin2017-08-161-1/+2
| | | | | | | | When using the -MW option, enclose whitespace-containing filenames in double quotes. There are probably quite a few other things we ought to know how to do... Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* nasmdoc: the dbg output format is compiled in by defaultH. Peter Anvin2017-08-161-3/+2
| | | | | | These days, the dbg output format is compiled in by default, too. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* nasm: new option -MW to emit Watcom-style Makefile rulesH. Peter Anvin2017-08-161-0/+9
| | | | | | | Allow NASM to generate Watcom-style Makefile dependencies, in addition to the default POSIX-style Makefile dependencies. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* doc: formatting consistency for %!H. Peter Anvin2017-04-251-4/+4
| | | | | | Consistent formatting for the %! environment variable reference. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* doc: make the %! (environment variable) construct a little clearerH. Peter Anvin2017-04-241-5/+5
| | | | | | Make the %! construct a little more clear. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* doc: add (deprecated) to context fall-through lookup headingH. Peter Anvin2017-04-241-1/+1
| | | | | | | Context fall-through lookup is deprecated, make it as clear as possible. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* doc: formatting fixes to the warnings documentationH. Peter Anvin2017-04-201-21/+28
| | | | | | | Formatting and language consistency cleanups to the sections about disabling and enabling warning classes. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* doc: update links to ABI documentsH. Peter Anvin2017-04-201-4/+5
| | | | | | We have a separate namespace for ABI documents. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* nasmdoc.src: move bug reporting to appendix, mention forumsH. Peter Anvin2017-04-141-126/+126
| | | | | | | | Move information about the bug reporting to the appendix. Split building from source and website/community info into separate appendices. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* doc: remove obsolete and, quite frankly, condecending informationH. Peter Anvin2017-04-141-149/+75
| | | | | | | | | Remove some highly obsolete and, quite frankly, condecending introductory content. For most users, downloading and especially compiling is no longer an immediate issue, so move that information to an appendix. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* doc: add indented paragraphs, valid XHTML, CSS style sheetH. Peter Anvin2017-04-131-1/+1
| | | | | | | | | | | | | Add indented paragraphs, which can be used to continue an item in a bulleted list. Produce valid strict XHTML, and include a style sheet with a navbar and other fancy things. Remove archaic output formats. Now only text, XHTML, and PDF are supported. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* outdbg: add %pragma for maximum size of a raw data dumpH. Peter Anvin2017-03-311-5/+9
| | | | | | | | A raw data dump can potentially be very large, especially when incbin is used. Allow a %pragma for setting the maximum dump size (defaults to 128 bytes.) Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* Document new Mach-O flagsH. Peter Anvin2017-03-281-7/+27
| | | | | | Add documentation for recent Mach-O enhancements. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* Make -Werror controllable on a per-warning-class basisH. Peter Anvin2017-03-081-13/+48
| | | | | | | | | | | | Make -Werror possible to control on a per-warning-class basis. While I was fixing up that code anyway, merge the handling of the -w, -W and [warning] argument and directives. Furthermore, make *all* warnings suppressible; any warning that isn't categorized now belong to category "other". However, for cleanliness sake an "other" option does not get listed in the warning messages. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* doc: document subsections_via_symbolsH. Peter Anvin2017-03-071-2/+17
| | | | | | Document the subsections_via_symbols directive. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* ifunc.mac: the ilog2 warning may want to be both ceil and floorH. Peter Anvin2016-05-241-6/+8
| | | | | | | | | There is no reason why the warning-generating ilog2 has to be only the floor variant. However, I am pretty sure we can simply implement the ilog2cw() as a macro only; we can always fix that if that turns out to be incorrect. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* doc: remove obsolete referencesH. Peter Anvin2016-05-161-5/+0
| | | | | | We don't use comp.lang.asm.x86 or freshmeat for announements anymore. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* Fix building in a separate directory from the source codeH. Peter Anvin2016-05-161-1/+4
| | | | | | | | The code to handle building in a separate directory had seriously bitrotted. This contains a number of fixes to make it possible, including bits like the documentation which never worked in the past. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* doc: document warning improvementsH. Peter Anvin2016-05-091-1/+9
| | | | Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>