mirror of
https://github.com/capstone-engine/llvm-capstone.git
synced 2025-04-01 12:43:47 +00:00
Added some notes on the -triple and -arch options.
llvm-svn: 44554
This commit is contained in:
parent
d0d2bd5089
commit
8cdc08ea49
@ -119,6 +119,47 @@ TODO: New language feature: Configuration queries:
|
||||
- Use it to increase the number of "architecture-clean" #import'd files,
|
||||
allowing a single index to be used for all fat slices.
|
||||
|
||||
//===---------------------------------------------------------------------===//
|
||||
// Specifying targets: -triple and -arch
|
||||
===---------------------------------------------------------------------===//
|
||||
|
||||
The clang supports "-triple" and "-arch" options. At most one -triple option may
|
||||
be specified, while multiple -arch options can be specified. Both are optional.
|
||||
|
||||
The "selection of target" behavior is defined as follows:
|
||||
|
||||
(1) If the user does not specify -triple:
|
||||
|
||||
(a) If no -arch options are specified, the target triple used is the host
|
||||
triple (in llvm/Config/config.h).
|
||||
|
||||
(b) If one or more -arch's are specified (and no -triple), then there is
|
||||
one triple for each -arch, where the specified arch is substituted
|
||||
for the arch in the host triple. Example:
|
||||
|
||||
host triple = i686-apple-darwin9
|
||||
command: clang -arch ppc -arch ppc64 ...
|
||||
triples used: ppc-apple-darwin9 ppc64-apple-darwin9
|
||||
|
||||
(2) The user does specify a -triple (only one allowed):
|
||||
|
||||
(a) If no -arch options are specified, the triple specified by -triple
|
||||
is used. E.g clang -triple i686-apple-darwin9
|
||||
|
||||
(b) If one or more -arch options are specified, then the triple specified
|
||||
by -triple is used as the primary target, and the arch's specified
|
||||
by -arch are used to create secondary targets. For example:
|
||||
|
||||
clang -triple i686-apple-darwin9 -arch ppc -arch ppc64
|
||||
|
||||
has the following targets:
|
||||
|
||||
i686-apple-darwin9 (primary target)
|
||||
ppc-apple-darwin9 (secondary target)
|
||||
ppc64-apple-darwin9 (secondary target)
|
||||
|
||||
The secondary targets are used in the 'portability' model (see below).
|
||||
|
||||
//===---------------------------------------------------------------------===//
|
||||
|
||||
The 'portability' model in clang is sufficient to catch translation units (or
|
||||
|
Loading…
x
Reference in New Issue
Block a user