X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=gas%2Fdoc%2Fas.texinfo;h=ce6a18f56578de1cd7e76a10f01a9ea5587ba0c7;hb=4b7d318b85051503fae2b758837f2bd56c0bd37c;hp=d14eef5649d2422e3a5284a899cb34c0c322ea53;hpb=ad22bfe862580712218ebd334179fd7a48b28a36;p=deliverable%2Fbinutils-gdb.git diff --git a/gas/doc/as.texinfo b/gas/doc/as.texinfo index d14eef5649..ce6a18f565 100644 --- a/gas/doc/as.texinfo +++ b/gas/doc/as.texinfo @@ -22,7 +22,7 @@ @c man begin NAME @c --- @include asconfig.texi -@include gasver.texi +@include bfdver.texi @c --- @c man end @c --- @@ -127,6 +127,10 @@ notice identical to this one except for the removal of this paragraph @ifclear GENERIC @subtitle for the @value{TARGET} family @end ifclear +@ifset VERSION_PACKAGE +@sp 1 +@subtitle @value{VERSION_PACKAGE} +@end ifset @sp 1 @subtitle Version @value{VERSION} @sp 1 @@ -165,13 +169,17 @@ Copyright @copyright{} 1991, 92, 93, 94, 95, 96, 97, 98, 99, 2000, 2001, 2002, section entitled ``GNU Free Documentation License''. @end titlepage +@contents @ifnottex @node Top @top Using @value{AS} -This file is a user guide to the @sc{gnu} assembler @command{@value{AS}} version -@value{VERSION}. +This file is a user guide to the @sc{gnu} assembler @command{@value{AS}} +@ifset VERSION_PACKAGE +@value{VERSION_PACKAGE} +@end ifset +version @value{VERSION}. @ifclear GENERIC This version of the file describes @command{@value{AS}} configured to generate code for @value{TARGET} architectures. @@ -361,7 +369,7 @@ gcc(1), ld(1), and the Info entries for @file{binutils} and @file{ld}. @emph{Target MIPS options:} [@b{-nocpp}] [@b{-EL}] [@b{-EB}] [@b{-O}[@var{optimization level}]] [@b{-g}[@var{debug level}]] [@b{-G} @var{num}] [@b{-KPIC}] [@b{-call_shared}] - [@b{-non_shared}] [@b{-xgot}] + [@b{-non_shared}] [@b{-xgot} [@b{-mvxworks-pic}] [@b{-mabi}=@var{ABI}] [@b{-32}] [@b{-n32}] [@b{-64}] [@b{-mfp32}] [@b{-mgp32}] [@b{-march}=@var{CPU}] [@b{-mtune}=@var{CPU}] [@b{-mips1}] [@b{-mips2}] [@b{-mips3}] [@b{-mips4}] [@b{-mips5}] [@b{-mips32}] [@b{-mips32r2}] @@ -3782,7 +3790,7 @@ Some machine configurations provide additional directives. * Byte:: @code{.byte @var{expressions}} * Comm:: @code{.comm @var{symbol} , @var{length} } -* CFI directives:: @code{.cfi_startproc}, @code{.cfi_endproc}, etc. +* CFI directives:: @code{.cfi_startproc [simple]}, @code{.cfi_endproc}, etc. * Data:: @code{.data @var{subsection}} @ifset COFF @@ -3879,6 +3887,7 @@ Some machine configurations provide additional directives. @end ifset * Quad:: @code{.quad @var{bignums}} +* Reloc:: @code{.reloc @var{offset}, @var{reloc_name}[, @var{expression}]} * Rept:: @code{.rept @var{count}} * Sbttl:: @code{.sbttl "@var{subheading}"} @ifset COFF @@ -4100,14 +4109,16 @@ The syntax for @code{.comm} differs slightly on the HPPA. The syntax is @end ifset @node CFI directives -@section @code{.cfi_startproc} +@section @code{.cfi_startproc [simple]} @cindex @code{cfi_startproc} directive @code{.cfi_startproc} is used at the beginning of each function that should have an entry in @code{.eh_frame}. It initializes some internal -data structures and emits architecture dependent initial CFI instructions. -Don't forget to close the function by +data structures. Don't forget to close the function by @code{.cfi_endproc}. +Unless @code{.cfi_startproc} is used along with parameter @code{simple} +it also emits some architecture dependent initial CFI instructions. + @section @code{.cfi_endproc} @cindex @code{cfi_endproc} directive @code{.cfi_endproc} is used at the end of a function where it closes its @@ -4163,6 +4174,31 @@ using the known displacement of the CFA register from the CFA. This is often easier to use, because the number will match the code it's annotating. +@section @code{.cfi_register @var{register1}, @var{register2}} +Previous value of @var{register1} is saved in register @var{register2}. + +@section @code{.cfi_restore @var{register}} +@code{.cfi_restore} says that the rule for @var{register} is now the +same as it was at the beginning of the function, after all initial +instruction added by @code{.cfi_startproc} were executed. + +@section @code{.cfi_undefined @var{register}} +From now on the previous value of @var{register} can't be restored anymore. + +@section @code{.cfi_same_value @var{register}} +Current value of @var{register} is the same like in the previous frame, +i.e. no restoration needed. + +@section @code{.cfi_remember_state}, +First save all current rules for all registers by @code{.cfi_remember_state}, +then totally screw them up by subsequent @code{.cfi_*} directives and when +everything is hopelessly bad, use @code{.cfi_restore_state} to restore +the previous saved state. + +@section @code{.cfi_return_column @var{register}} +Change return column @var{register}, i.e. the return address is either +directly in @var{register} or can be accessed by rules for @var{register}. + @section @code{.cfi_signal_frame} Mark current function as signal trampoline. @@ -5426,6 +5462,20 @@ warning message; and just takes the lowest order 16 bytes of the bignum. @cindex integer, 16-byte @end ifset +@node Reloc +@section @code{.reloc @var{offset}, @var{reloc_name}[, @var{expression}]} + +@cindex @code{reloc} directive +Generate a relocation at @var{offset} of type @var{reloc_name} with value +@var{expression}. If @var{offset} is a number, the relocation is generated in +the current section. If @var{offset} is an expression that resolves to a +symbol plus offset, the relocation is generated in the given symbol's section. +@var{expression}, if present, must resolve to a symbol plus addend or to an +absolute value, but note that not all targets support an addend. e.g. ELF REL +targets such as i386 store an addend in the section contents rather than in the +relocation. This low level interface does not support addends stored in the +section. + @node Rept @section @code{.rept @var{count}} @@ -6883,7 +6933,6 @@ intentionally leaving anyone out. @printindex cp -@contents @bye @c Local Variables: @c fill-column: 79