X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=gas%2Fdoc%2Fc-tic6x.texi;h=06bb1e755b40c22078c047c234cc2c10f5ab862b;hb=bac032630324a1c3340bd8195605bc499d9544a2;hp=4bd2de3edddeb55559d86f306f29e802ede81e2a;hpb=8a0344f66af84ad4997cc9e9aa02011f7723c07c;p=deliverable%2Fbinutils-gdb.git diff --git a/gas/doc/c-tic6x.texi b/gas/doc/c-tic6x.texi index 4bd2de3edd..06bb1e755b 100644 --- a/gas/doc/c-tic6x.texi +++ b/gas/doc/c-tic6x.texi @@ -1,6 +1,7 @@ -@c Copyright 2010 Free Software Foundation, Inc. +@c Copyright 2010, 2011 Free Software Foundation, Inc. @c This is part of the GAS manual. @c For copying conditions, see the file as.texinfo. +@c man end @ifset GENERIC @page @node TIC6X-Dependent @@ -24,7 +25,8 @@ @cindex TIC6X options @cindex options for TIC6X -@table @code +@c man begin OPTIONS +@table @gcctabopt @cindex @code{-march=} command line option, TIC6X @item -march=@var{arch} @@ -34,19 +36,42 @@ all instructions are permitted. The following values of @var{arch} are accepted: @code{c62x}, @code{c64x}, @code{c64x+}, @code{c67x}, @code{c67x+}, @code{c674x}. -@cindex @code{-matomic} command line option, TIC6X -@cindex @code{-mno-atomic} command line option, TIC6X -@item -matomic -@itemx -mno-atomic -Enable or disable the optional C64x+ atomic operation instructions. -By default, they are enabled if no @option{-march} option is given, or -if an architecture is specified with @option{-march} that implies -these instructions are present (currently, there are no such -architectures); they are disabled if an architecture is specified with -@option{-march} on which the instructions are optional or not -present. This option overrides such a default from the architecture, -independent of the order in which the @option{-march} or -@option{-matomic} or @option{-mno-atomic} options are passed. +@cindex @code{-mdsbt} command line option, TIC6X +@cindex @code{-mno-dsbt} command line option, TIC6X +@item -mdsbt +@itemx -mno-dsbt +The @option{-mdsbt} option causes the assembler to generate the +@code{Tag_ABI_DSBT} attribute with a value of 1, indicating that the +code is using DSBT addressing. The @option{-mno-dsbt} option, the +default, causes the tag to have a value of 0, indicating that the code +does not use DSBT addressing. The linker will emit a warning if +objects of different type (DSBT and non-DSBT) are linked together. + +@cindex @code{-mpid=} command line option, TIC6X +@item -mpid=no +@itemx -mpid=near +@itemx -mpid=far +The @option{-mpid=} option causes the assembler to generate the +@code{Tag_ABI_PID} attribute with a value indicating the form of data +addressing used by the code. @option{-mpid=no}, the default, +indicates position-dependent data addressing, @option{-mpid=near} +indicates position-independent addressing with GOT accesses using near +DP addressing, and @option{-mpid=far} indicates position-independent +addressing with GOT accesses using far DP addressing. The linker will +emit a warning if objects built with different settings of this option +are linked together. + +@cindex @code{-mpic} command line option, TIC6X +@cindex @code{-mno-pic} command line option, TIC6X +@item -mpic +@itemx -mno-pic +The @option{-mpic} option causes the assembler to generate the +@code{Tag_ABI_PIC} attribute with a value of 1, indicating that the +code is using position-independent code addressing, The +@code{-mno-pic} option, the default, causes the tag to have a value of +0, indicating position-dependent code addressing. The linker will +emit a warning if objects of different type (position-dependent and +position-independent) are linked together. @cindex TIC6X big-endian output @cindex TIC6X little-endian output @@ -58,6 +83,7 @@ Generate code for the specified endianness. The default is little-endian. @end table +@c man end @node TIC6X Syntax @section TIC6X Syntax @@ -67,7 +93,10 @@ little-endian. The presence of a @samp{;} on a line indicates the start of a comment that extends to the end of the current line. If a @samp{#} or @samp{*} appears as the first character of a line, the whole line is -treated as a comment. +treated as a comment. Note that if a line starts with a @samp{#} +character then it can also be a logical line number directive +(@pxref{Comments}) or a preprocessor control command +(@pxref{Preprocessing}). @cindex line separator, TIC6X @cindex statement separator, TIC6X @@ -102,25 +131,65 @@ subsequent directive overriding it. @item .arch @var{arch} This has the same effect as @option{-march=@var{arch}}. -@cindex @code{.atomic} directive, TIC6X -@cindex @code{.noatomic} directive, TIC6X -@item .atomic -@itemx .noatomic -These have the same effects as @option{-matomic} and -@option{-mno-atomic}. +@cindex @code{.cantunwind} directive, TIC6X +@item .cantunwind +Prevents unwinding through the current function. No personality routine +or exception table data is required or permitted. + +If this is not specified then frame unwinding information will be +constructed from CFI directives. @pxref{CFI directives}. @cindex @code{.c6xabi_attribute} directive, TIC6X @item .c6xabi_attribute @var{tag}, @var{value} Set the C6000 EABI build attribute @var{tag} to @var{value}. -The @var{tag} is either an attribute number or -@code{Tag_C6XABI_Tag_CPU_arch}. The @var{value} is either a -@code{number}, @code{"string"}, or @code{number, "string"} depending -on the tag. +The @var{tag} is either an attribute number or one of +@code{Tag_ISA}, @code{Tag_ABI_wchar_t}, +@code{Tag_ABI_stack_align_needed}, +@code{Tag_ABI_stack_align_preserved}, @code{Tag_ABI_DSBT}, +@code{Tag_ABI_PID}, @code{Tag_ABI_PIC}, +@code{TAG_ABI_array_object_alignment}, +@code{TAG_ABI_array_object_align_expected}, +@code{Tag_ABI_compatibility} and @code{Tag_ABI_conformance}. The +@var{value} is either a @code{number}, @code{"string"}, or +@code{number, "string"} depending on the tag. + +@cindex @code{.ehtype} directive, TIC6X +@item .ehtype @var{symbol} +Output an exception type table reference to @var{symbol}. + +@cindex @code{.endp} directive, TIC6X +@item .endp +Marks the end of and exception table or function. If preceeded by a +@code{.handlerdata} directive then this also switched back to the previous +text section. + +@cindex @code{.handlerdata} directive, TIC6X +@item .handlerdata +Marks the end of the current function, and the start of the exception table +entry for that function. Anything between this directive and the +@code{.endp} directive will be added to the exception table entry. + +Must be preceded by a CFI block containing a @code{.cfi_lsda} directive. @cindex @code{.nocmp} directive, TIC6X @item .nocmp Disallow use of C64x+ compact instructions in the current text section. +@cindex @code{.personalityindex} directive, TIC6X +@item .personalityindex @var{index} +Sets the personality routine for the current function to the ABI specified +compact routine number @var{index} + +@cindex @code{.personality} directive, TIC6X +@item .personality @var{name} +Sets the personality routine for the current function to @var{name}. + +@cindex @code{.scomm} directive, TIC6X +@item .scomm @var{symbol}, @var{size}, @var{align} +Like @code{.comm}, creating a common symbol @var{symbol} with size @var{size} +and alignment @var{align}, but unlike when using @code{.comm}, this symbol +will be placed into the small BSS section by the linker. + @end table