aboutsummaryrefslogtreecommitdiff
path: root/gcc/doc
diff options
context:
space:
mode:
authorThomas Preud'homme <thomas.preudhomme@arm.com>2016-11-22 14:01:57 +0000
committerThomas Preud'homme <thopre01@gcc.gnu.org>2016-11-22 14:01:57 +0000
commit3e0201f014abc0cca2c6b0286b3cd7f552b30f19 (patch)
treea9b1f797425555a2efe3836cb585a61b522be2d7 /gcc/doc
parentc69fb8161a4fcfc302c026dec3c0c4103731cd37 (diff)
downloadgcc-3e0201f014abc0cca2c6b0286b3cd7f552b30f19.zip
gcc-3e0201f014abc0cca2c6b0286b3cd7f552b30f19.tar.gz
gcc-3e0201f014abc0cca2c6b0286b3cd7f552b30f19.tar.bz2
Add multilib support for embedded bare-metal targets
2016-11-22 Thomas Preud'homme <thomas.preudhomme@arm.com> gcc/ * config.gcc: Allow new rmprofile value for configure option --with-multilib-list. * config/arm/t-rmprofile: New file. * doc/install.texi (--with-multilib-list): Document new rmprofile value for ARM. From-SVN: r242696
Diffstat (limited to 'gcc/doc')
-rw-r--r--gcc/doc/install.texi60
1 files changed, 50 insertions, 10 deletions
diff --git a/gcc/doc/install.texi b/gcc/doc/install.texi
index 78e385e..fe484c3 100644
--- a/gcc/doc/install.texi
+++ b/gcc/doc/install.texi
@@ -1081,19 +1081,59 @@ sysv, aix.
@item --with-multilib-list=@var{list}
@itemx --without-multilib-list
-Specify what multilibs to build.
-Currently only implemented for arm*-*-*, sh*-*-* and x86-64-*-linux*.
+Specify what multilibs to build. @var{list} is a comma separated list of
+values, possibly consisting of a single value. Currently only implemented
+for arm*-*-*, sh*-*-* and x86-64-*-linux*. The accepted values and meaning
+for each target is given below.
@table @code
@item arm*-*-*
-@var{list} is either @code{default} or @code{aprofile}. Specifying
-@code{default} is equivalent to omitting this option while specifying
-@code{aprofile} builds multilibs for each combination of ISA (@code{-marm} or
-@code{-mthumb}), architecture (@code{-march=armv7-a}, @code{-march=armv7ve},
-or @code{-march=armv8-a}), FPU available (none, @code{-mfpu=vfpv3-d16},
-@code{-mfpu=neon}, @code{-mfpu=vfpv4-d16}, @code{-mfpu=neon-vfpv4} or
-@code{-mfpu=neon-fp-armv8} depending on architecture) and floating-point ABI
-(@code{-mfloat-abi=softfp} or @code{-mfloat-abi=hard}).
+@var{list} is one of@code{default}, @code{aprofile} or @code{rmprofile}.
+Specifying @code{default} is equivalent to omitting this option, ie. only the
+default runtime library will be enabled. Specifying @code{aprofile} or
+@code{rmprofile} builds multilibs for a combination of ISA, architecture,
+FPU available and floating-point ABI.
+
+The table below gives the combination of ISAs, architectures, FPUs and
+floating-point ABIs for which multilibs are built for each accepted value.
+
+@multitable @columnfractions .15 .28 .30
+@item Option @tab aprofile @tab rmprofile
+@item ISAs
+@tab @code{-marm} and @code{-mthumb}
+@tab @code{-mthumb}
+@item Architectures@*@*@*@*@*@*
+@tab default architecture@*
+@code{-march=armv7-a}@*
+@code{-march=armv7ve}@*
+@code{-march=armv8-a}@*@*@*
+@tab default architecture@*
+@code{-march=armv6s-m}@*
+@code{-march=armv7-m}@*
+@code{-march=armv7e-m}@*
+@code{-march=armv8-m.base}@*
+@code{-march=armv8-m.main}@*
+@code{-march=armv7}
+@item FPUs@*@*@*@*@*
+@tab none@*
+@code{-mfpu=vfpv3-d16}@*
+@code{-mfpu=neon}@*
+@code{-mfpu=vfpv4-d16}@*
+@code{-mfpu=neon-vfpv4}@*
+@code{-mfpu=neon-fp-armv8}
+@tab none@*
+@code{-mfpu=vfpv3-d16}@*
+@code{-mfpu=fpv4-sp-d16}@*
+@code{-mfpu=fpv5-sp-d16}@*
+@code{-mfpu=fpv5-d16}@*
+@item floating-point@/ ABIs@*@*
+@tab @code{-mfloat-abi=soft}@*
+@code{-mfloat-abi=softfp}@*
+@code{-mfloat-abi=hard}
+@tab @code{-mfloat-abi=soft}@*
+@code{-mfloat-abi=softfp}@*
+@code{-mfloat-abi=hard}
+@end multitable
@item sh*-*-*
@var{list} is a comma separated list of CPU names. These must be of the