[@b{--[no-]transform}]
[@b{--rename-section} @var{oldname}=@var{newname}]
[@b{--[no-]trampolines}]
+ [@b{--abi-windowed}|@b{--abi-call0}]
@end ifset
@ifset Z80
do include file processing with the @code{.include} directive
(@pxref{Include,,@code{.include}}). You can use the @sc{gnu} C compiler driver
to get other ``CPP'' style preprocessing by giving the input file a
-@samp{.S} suffix. @xref{Overall Options, ,Options Controlling the Kind of
-Output, gcc info, Using GNU CC}.
+@samp{.S} suffix. @url{https://gcc.gnu.org/onlinedocs/gcc/Overall-Options.html#Overall-Options,
+See the 'Options Controlling the Kind of Output' section of the GCC manual for
+more details}
Excess whitespace, comments, and character constants
cannot be used in the portions of the input text that are not
* Struct:: @code{.struct @var{expression}}
@ifset ELF
* SubSection:: @code{.subsection}
-* Symver:: @code{.symver @var{name},@var{name2@@nodename}}
+* Symver:: @code{.symver @var{name},@var{name2@@nodename}[,@var{visibility}]}
@end ifset
@ifset COFF
For ELF targets, the @code{.symver} directive can be used like this:
@smallexample
-.symver @var{name}, @var{name2@@nodename}
+.symver @var{name}, @var{name2@@nodename}[ ,@var{visibility}]
@end smallexample
-If the symbol @var{name} is defined within the file
+If the original symbol @var{name} is defined within the file
being assembled, the @code{.symver} directive effectively creates a symbol
alias with the name @var{name2@@nodename}, and in fact the main reason that we
just don't try and create a regular alias is that the @var{@@} character isn't
the name of a node specified in the version script supplied to the linker when
building a shared library. If you are attempting to override a versioned
symbol from a shared library, then @var{nodename} should correspond to the
-nodename of the symbol you are trying to override.
+nodename of the symbol you are trying to override. The optional argument
+@var{visibility} updates the visibility of the original symbol. The valid
+visibilities are @code{local}, @code{hidden}, and @code{remove}. The
+@code{local} visibility makes the original symbol a local symbol
+(@pxref{Local}). The @code{hidden} visibility sets the visibility of the
+original symbol to @code{hidden} (@pxref{Hidden}). The @code{remove}
+visibility removes the original symbol from the symbol table. If visibility
+isn't specified, the original symbol is unchanged.
If the symbol @var{name} is not defined within the file being assembled, all
references to @var{name} will be changed to @var{name2@@nodename}. If no