Commit Graph

329 Commits

Author SHA1 Message Date
Chang S. Bae
1fd4c45c96 doc: Fix macho section name for code
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>
2018-08-24 11:21:53 +03:00
H. Peter Anvin (Intel)
d558598ebe doc: add a few more updates
In particular, document the new behavior of EXTERN, GLOBAL and COMMON.

Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
2018-06-25 18:19:15 -07:00
Chang S. Bae
ef21926ec2 doc: 2.14 change log
Signed-off-by: Chang S. Bae <chang.seok.bae@intel.com>
Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
2018-06-25 14:15:10 -07:00
Chang S. Bae
754edd85ee doc: document new feature from version 2.14
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>
2018-06-25 14:15:04 -07:00
H. Peter Anvin
cb7b097b3e doc: some more documentation on 64-bit programming
Some more information about 64-bit programming and its quirks.

Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
2018-02-07 12:28:42 -08:00
H. Peter Anvin
ddea5fc0cd doc: clarify need for ABS QWORD to do a 64-bit absolute load
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>
2018-02-07 11:19:26 -08:00
H. Peter Anvin
f53c9778cd doc: add a bit more text about 64-bit immediates and pointers
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>
2018-02-07 11:16:20 -08:00
H. Peter Anvin
075ebe7f66 doc: clean up 2.13.02 release notes, document MachO debug option
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>
2017-11-29 11:25:24 -08:00
H. Peter Anvin
f275ce9c88 doc: update for upcoming 2.13.02 release
Update release notes and documentation for 2.13.02.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2017-08-16 22:36:32 -07:00
H. Peter Anvin
427b9cae8b nasm: when using -MW, enclose whitespace in double quotes
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>
2017-08-16 22:17:51 -07:00
H. Peter Anvin
c2834b9abe nasmdoc: the dbg output format is compiled in by default
These days, the dbg output format is compiled in by default, too.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2017-08-16 21:17:27 -07:00
H. Peter Anvin
77c9bf6cd8 nasm: new option -MW to emit Watcom-style Makefile rules
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>
2017-08-16 21:14:33 -07:00
H. Peter Anvin
c6bbfaa70d doc: formatting consistency for %!
Consistent formatting for the %! environment variable reference.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2017-04-25 12:39:11 -07:00
H. Peter Anvin
3ddaa86ba2 doc: make the %! (environment variable) construct a little clearer
Make the %! construct a little more clear.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2017-04-24 14:21:43 -07:00
H. Peter Anvin
f268b97a8e doc: add (deprecated) to context fall-through lookup heading
Context fall-through lookup is deprecated, make it as clear as
possible.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2017-04-24 14:18:59 -07:00
H. Peter Anvin
32b9824f5c doc: formatting fixes to the warnings documentation
Formatting and language consistency cleanups to the sections about
disabling and enabling warning classes.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2017-04-20 02:03:59 -07:00
H. Peter Anvin
4d993a1c03 doc: update links to ABI documents
We have a separate namespace for ABI documents.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2017-04-20 01:36:57 -07:00
H. Peter Anvin
b4f2409d41 nasmdoc.src: move bug reporting to appendix, mention forums
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>
2017-04-14 12:26:16 -07:00
H. Peter Anvin
322401fcbc doc: remove obsolete and, quite frankly, condecending information
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>
2017-04-14 00:35:33 -07:00
H. Peter Anvin
5194f77bfd doc: add indented paragraphs, valid XHTML, CSS style sheet
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>
2017-04-13 22:12:05 -07:00
H. Peter Anvin
17df43c8f2 outdbg: add %pragma for maximum size of a raw data dump
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>
2017-03-31 12:03:57 -07:00
H. Peter Anvin
002532d323 Document new Mach-O flags
Add documentation for recent Mach-O enhancements.

Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
2017-03-28 15:36:26 -07:00
H. Peter Anvin
b2047cbb98 Make -Werror controllable on a per-warning-class basis
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>
2017-03-08 01:26:40 -08:00
H. Peter Anvin
7fcd9898f4 doc: document subsections_via_symbols
Document the subsections_via_symbols directive.

Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
2017-03-07 23:03:11 -08:00
H. Peter Anvin
aa958b1ab6 ifunc.mac: the ilog2 warning may want to be both ceil and floor
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>
2016-05-24 23:03:17 -07:00
H. Peter Anvin
acbf8f0e19 doc: remove obsolete references
We don't use comp.lang.asm.x86 or freshmeat for announements anymore.

Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
2016-05-16 20:39:04 -07:00
H. Peter Anvin
407166001c Fix building in a separate directory from the source code
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>
2016-05-16 20:30:09 -07:00
H. Peter Anvin
77511e32a7 doc: document warning improvements
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
2016-05-09 14:36:59 -07:00
H. Peter Anvin
134874848c nasmdoc.src: remove unimplemented %comment directive
%comment..%endcomment were never implemented, remove from the
documentation.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2016-03-07 23:58:11 -08:00
H. Peter Anvin
277308f1f3 doc: update documentation for a version 2.12 release
Add documentation updates for version 2.12.

Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
2016-02-18 11:49:33 -08:00
H. Peter Anvin
1c10ad65fe nasmdoc.src: update copyright date 2016-02-08 10:34:09 -08:00
H. Peter Anvin
d24dd5fecc Remove the --allow-64-bits option and make it a warning
Remove the --allow-64-bits relocation, and instead make it a
suppressible warning in the case of a zero-extended relocation, and an
error in the case of a sign-extended relocation.

Relocations which can be losslessly represented in the output format
do not issue any diagnostic at all, as there is no problem in that
case.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2016-02-08 10:32:13 -08:00
Knut St. Osmundsen
3c72a1b3b3 Add option to allow 64-bit code in any output format
Add the option --allow-64-bit to permit the generation of 64-bit code
even for a 16/32-bit output format.

Using NASM to do some boot strapping code and ran into trouble when
trying to emit a few 64-bit instructions in the OMF object file doing
the mode switching.  While I can see how the "error: obj output format
does not support 64-bit code" message can be a useful reality check
for application programmers, it prevents low-level programmers from
doing what they want.  It if was just a harmless warning, it wouldn't
be so bad, but it turns BITS 64 into BITS 16. The main trick to mixing
64-bit code into OMF and other 32-bit output formats is to avoid
64-bit sized fixups, which normally isn't too hard.

[hpa: shortened the option name to --allow-64-bit, minor code cleanups]

Signed-off-by: Knut St. Osmundsen <bird-nasm@anduin.net>
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2016-01-26 12:34:41 -08:00
Ciro Santilli
668e58dc69 doc: typo occationally
Signed-off-by: Ciro Santilli <ciro.santilli@gmail.com>
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2015-05-24 12:59:11 +03:00
Cyrill Gorcunov
85ec505d05 doc: Add missing closing brace
http://bugzilla.nasm.us/show_bug.cgi?id=3392284

Reported-by: Nick Rowan <nnrowan@gmail.com>
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2014-12-20 14:25:58 +03:00
H. Peter Anvin
febd5afc6d doc: Make it clear that --v is only in 2.11.05 and newer
... otherwise people might think it is preferred and use it
unnecessarily.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2014-05-21 23:00:12 -07:00
H. Peter Anvin
4ac3b025be doc: Document --v and duplicate REX prefix fix
Document changes for 2.11.05.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2014-05-21 08:28:21 -07:00
H. Peter Anvin
b2fcac9a1d doc: Document DEFAULT BND/NOBND in changes, add use case
Add DEFAULT BND/NOBND to the change history, and explain the use case.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2013-12-31 10:38:51 -08:00
Jin Kyu Song
26ddad67ca nosplit: Generate index-only EA only when a multiplier is used.
[nosplit eax] has been encoded as [eax*1+0] since 0.98.34.
But this seems like unexpected behavior.
So only when a register is multiplied, that will be treated
as an index. ([nosplit eax*1] -> [eax*1+0])
Document is updated accordingly.

Signed-off-by: Jin Kyu Song <jin.kyu.song@intel.com>
2013-12-18 22:38:44 -08:00
Jin Kyu Song
3d06af2bd9 nosplit: Limit the effect of NOSPLIT
[nosplit eax+eax] was encoded [eax*2] previously but
this seems against the user's intention.
So in this case, nosplit is ignored now and [eax+eax] will be
generated.
Document is also updated accordingly.

Signed-off-by: Jin Kyu Song <jin.kyu.song@intel.com>
2013-12-18 22:37:30 -08:00
Jin Kyu Song
009e54e0a1 doc: Update nasmdoc
Added bnd warning and nobnd prefix. DEFAULT directive section
has got more description about BND-related settings.

Signed-off-by: Jin Kyu Song <jin.kyu.song@intel.com>
2013-12-04 20:51:13 -08:00
H. Peter Anvin
50137b8274 doc: Make the bit about mib operands a bit clearer
Clean up the text about what a mib is.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2013-11-28 21:26:26 -08:00
Jin Kyu Song
1ab16e4673 doc: Update the change history and nasmdoc
Added the list of features added since 2.10 release.
Nasmdoc is also updated with those new features.

Signed-off-by: Jin Kyu Song <jin.kyu.song@intel.com>
2013-11-27 15:43:32 -08:00
H. Peter Anvin
9d5461069d Add support for DZ and RESZ, document the ZWORD keyword
Add the DZ and RESZ pseudoinstructions and add ZWORD to the
documentation.

Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
2013-10-02 18:28:49 -07:00
Cyrill Gorcunov
f470011751 BR3392244: docs -- Fix "respectively" typo
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
2013-04-28 15:07:38 +04:00
H. Peter Anvin
5534099473 When generate dependency names internally, quote filenames
Quote filenames for Make when generated for filenames internally.
Only skip quoting when using the -MT option (rather than -MQ).

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2012-09-09 17:09:00 -07:00
H. Peter Anvin
96eace3841 doc: document ifunc()
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2012-07-20 17:51:57 -07:00
H. Peter Anvin
36206cd378 preproc: Revert to the NASM 2.09 preprocessor
The NASM 2.09 preprocessor allows some illogical constructs, but which
unfortunately has been found in real code in the field.  We need
a compatibility solution or a pragma before we can avoid that.

However, we need the other features in NASM 2.10 to come out, so
revert the preprocessor changes for now.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2012-03-03 16:23:19 -08:00
H. Peter Anvin
38e57c5084 doc: Remove some ugliness from the win64 section
Clean up the formatting of the Win64 examples.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2012-02-25 15:50:32 -08:00
H. Peter Anvin
9fa2e72997 Add support for UTF-16BE and UTF-32BE
Add support for bigendian UTF-16 and UTF-32, and (for symmetry) add
explicitly littleendian operators.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2012-02-25 15:29:37 -08:00