From 407e6c707f389659ce256e62bcd4da4a660de391 Mon Sep 17 00:00:00 2001 From: Cyrill Gorcunov Date: Wed, 28 Jul 2010 17:59:49 +0400 Subject: [PATCH] doc: Explain SECTALIGN Signed-off-by: Cyrill Gorcunov --- doc/changes.src | 2 +- doc/nasmdoc.src | 20 ++++++++++++++++++++ 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/doc/changes.src b/doc/changes.src index 75c355b..a7ee231 100644 --- a/doc/changes.src +++ b/doc/changes.src @@ -37,7 +37,7 @@ since 2007. \b An alignment more then 64 bytes are allowed for \c{win32}, \c{win64} output formats. -\b \c{SECTALIGN} directive introduced. In most cases invisible to user. +\b \c{SECTALIGN} directive introduced. See \k{sectalign}. \b \c{nojmp} option introduced in \c{smartalign} package. See \k{pkg_smartalign}. diff --git a/doc/nasmdoc.src b/doc/nasmdoc.src index 8517bf4..41055e9 100644 --- a/doc/nasmdoc.src +++ b/doc/nasmdoc.src @@ -239,6 +239,7 @@ Object File Format \IA{sib}{sib byte} \IR{sib byte} SIB byte \IR{align, smart} \c{ALIGN}, smart +\IA{sectalign}{sectalign} \IR{solaris x86} Solaris x86 \IA{standard section names}{standardized section names} \IR{symbols, exporting from dlls} symbols, exporting from DLLs @@ -4098,6 +4099,25 @@ the use of \c{ALIGN} or \c{ALIGNB}. See also the \c{smartalign} standard macro package, \k{pkg_smartalign}. +\S{sectalign} \i\c{SECTALIGN}: Section Alignment + +The \c{SECTALIGN} macros provides a way to modify alignment attribute +of output file section. Unlike the \c{align=} attribute allowed at section +definition only the \c{SECTALIGN} macro may be used any time you need it. + +For example the statement + +\c +\c SECTALIGN 16 +\c + +sets a section alignment requirement to 16 bytes. Note that once increased +the section alignment can not be decreased, the magnitude can grow only. + +It must be also noted that \c{SECTALIGN} gets called implicitly inside \c{ALIGN} +handler and as result \c{ALIGN} may update section alignment. + + \C{macropkg} \i{Standard Macro Packages} The \i\c{%use} directive (see \k{use}) includes one of the standard -- 2.7.4