mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-12-27 04:52:05 +08:00
a2c5833233
The result of running etc/update-copyright.py --this-year, fixing all the files whose mode is changed by the script, plus a build with --enable-maintainer-mode --enable-cgen-maint=yes, then checking out */po/*.pot which we don't update frequently. The copy of cgen was with commit d1dd5fcc38ead reverted as that commit breaks building of bfp opcodes files.
196 lines
6.9 KiB
Plaintext
196 lines
6.9 KiB
Plaintext
@c Copyright (C) 2010-2022 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
|
|
@chapter TIC6X Dependent Features
|
|
@end ifset
|
|
@ifclear GENERIC
|
|
@node Machine Dependencies
|
|
@chapter TIC6X Dependent Features
|
|
@end ifclear
|
|
|
|
@cindex TIC6X support
|
|
@cindex TMS320C6X support
|
|
@menu
|
|
* TIC6X Options:: Options
|
|
* TIC6X Syntax:: Syntax
|
|
* TIC6X Directives:: Directives
|
|
@end menu
|
|
|
|
@node TIC6X Options
|
|
@section TIC6X Options
|
|
@cindex TIC6X options
|
|
@cindex options for TIC6X
|
|
|
|
@c man begin OPTIONS
|
|
@table @gcctabopt
|
|
|
|
@cindex @code{-march=} command-line option, TIC6X
|
|
@item -march=@var{arch}
|
|
Enable (only) instructions from architecture @var{arch}. By default,
|
|
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{-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
|
|
@cindex big-endian output, TIC6X
|
|
@cindex little-endian output, TIC6X
|
|
@item -mbig-endian
|
|
@itemx -mlittle-endian
|
|
Generate code for the specified endianness. The default is
|
|
little-endian.
|
|
|
|
@end table
|
|
@c man end
|
|
|
|
@node TIC6X Syntax
|
|
@section TIC6X Syntax
|
|
|
|
@cindex line comment character, TIC6X
|
|
@cindex TIC6X line comment character
|
|
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. 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
|
|
@cindex TIC6X line separator
|
|
The @samp{@@} character can be used instead of a newline to separate
|
|
statements.
|
|
|
|
Instruction, register and functional unit names are case-insensitive.
|
|
@command{@value{AS}} requires fully-specified functional unit names,
|
|
such as @samp{.S1}, @samp{.L1X} or @samp{.D1T2}, on all instructions
|
|
using a functional unit.
|
|
|
|
For some instructions, there may be syntactic ambiguity between
|
|
register or functional unit names and the names of labels or other
|
|
symbols. To avoid this, enclose the ambiguous symbol name in
|
|
parentheses; register and functional unit names may not be enclosed in
|
|
parentheses.
|
|
|
|
@node TIC6X Directives
|
|
@section TIC6X Directives
|
|
|
|
@cindex machine directives, TIC6X
|
|
@cindex TIC6X machine directives
|
|
|
|
Directives controlling the set of instructions accepted by the
|
|
assembler have effect for instructions between the directive and any
|
|
subsequent directive overriding it.
|
|
|
|
@table @code
|
|
|
|
@cindex @code{.arch} directive, TIC6X
|
|
@item .arch @var{arch}
|
|
This has the same effect as @option{-march=@var{arch}}.
|
|
|
|
@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 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 preceded 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
|