On Wed, Aug 30, 2023 at 09:36:22PM +0000, Joseph Myers wrote: > On Wed, 30 Aug 2023, Yang Yujie wrote: > > > +A suffix @code{[/ARCH][/OPTION]...]} may follow immediately after the ABI > > +identifier to customize the compiler options for building the given set of > > +libraries. @code{ARCH} denotes the architecture name recognized by the > > +@code{-march=ARCH} compiler option, which acts as a basic target ISA > > +configuration that can be adjusted using the subsequent @code{OPTION} > > +suffixes, where each @code{OPTION} is a compiler option itself. > > Since ARCH and OPTION are not literal strings of program source code, you > should actually be using @var{arch} and @var{option} for them (and @dots{} > instead of ..., since the ... isn't literal source code either). > > This patch series also adds a new configure option --with-strict-align-lib > that needs documenting in the corresponding patch. > > -- > Joseph S. Myers > jos...@codesourcery.com
Thanks for the review. Does the following fix look good? If so, I will include these in the patchset. Yujie --- gcc/doc/install.texi | 44 +++++++++++++++++++++++--------------------- 1 file changed, 23 insertions(+), 21 deletions(-) diff --git a/gcc/doc/install.texi b/gcc/doc/install.texi index 05a626280b7..3e589080f4e 100644 --- a/gcc/doc/install.texi +++ b/gcc/doc/install.texi @@ -1236,7 +1236,7 @@ sysv, aix. @itemx --without-multilib-list Specify what multilibs to build. @var{list} is a comma separated list of values, possibly consisting of a single value. Currently only implemented -for aarch64*-*-*, arm*-*-*, loongarch64-*-*, riscv*-*-*, sh*-*-* and +for aarch64*-*-*, arm*-*-*, loongarch*-*-*, riscv*-*-*, sh*-*-* and x86-64-*-linux*. The accepted values and meaning for each target is given below. @@ -1331,27 +1331,27 @@ the following ABI identifiers: @code{lp64d[/base]} @code{lp64f[/base]} @code{lp64d[/base]} (the @code{/base} suffix may be omitted) to enable their respective run-time libraries. -A suffix @code{[/ARCH][/OPTION]...]} may follow immediately after the ABI -identifier to customize the compiler options for building the given set of -libraries. @code{ARCH} denotes the architecture name recognized by the -@code{-march=ARCH} compiler option, which acts as a basic target ISA -configuration that can be adjusted using the subsequent @code{OPTION} -suffixes, where each @code{OPTION} is a compiler option itself. +A suffix @code{[/@var{arch}][/@var{option}/@dots{}]} may follow immediately +after the ABI identifier to customize the compiler options for building the +given set of libraries. @var{arch} denotes the architecture name recognized +by the @option{-march=@var{arch}} compiler option, which acts as a basic target +ISA configuration that can be adjusted using the subsequent @var{option} +suffixes, where each @var{option} is a compiler option itself. -If none of such suffix is present, the configured value of -@option{--with-multilib-default} can be used as a common default suffix -for all library ABI variants. Otherwise, the default build option -@code{-march=abi-default} is applied when building the variants without -a suffix. +If no such suffix is present for a given multilib variant, the +configured value of @code{--with-multilib-default} is appended as a default +suffix. If @code{--with-multilib-default} is not given, the default build +option @code{-march=abi-default} is applied when building the variants +without a suffix. -As a special case, @code{fixed} may be used in the position of @code{ARCH}, -which means use the architecture configured with @option{--with-arch=ARCH}, -or its default value (e.g. @code{loongarch64} for @code{loongarch64-*} -targets). +As a special case, @code{fixed} may be used in the position of @var{arch}, +which means using the architecture configured with +@code{--with-arch=@var{arch}}, or its default value (e.g. @code{loongarch64} +for @code{loongarch64-*} targets). -If @var{list} is empty or @code{default}, or if @option{--with-multilib-list} -is not specified, then the default ABI as specified by @option{--with-abi} or -implied by @option{--target}. +If @var{list} is empty or @code{default}, or if @code{--with-multilib-list} +is not specified, then only the default variant of the libraries are built, +where the default ABI is implied by the configured target triplet. @item riscv*-*-* @var{list} is a single ABI name. The target architecture must be either @@ -1414,6 +1414,9 @@ Multiple @code{OPTION}s may appear consecutively while @code{ARCH} may only appear in the beginning or be omitted (which means @code{-march=abi-default} is applied when building the libraries). +@item --with-strict-align-lib +On LoongArch targets, build all enabled multilibs with @code{-mstrict-align} +(Not enabled by default). @item --with-multilib-generator=@var{config} Specify what multilibs to build. @var{config} is a semicolon separated list of @@ -4539,8 +4542,7 @@ Uses @code{lp64s/base} ABI by default. @end table @item loongarch64-linux-gnu -Same as @code{loongarch64-linux-gnuf64}, but may be used with -@option{--with-abi=*} to configure the default ABI type. +Same as @code{loongarch64-linux-gnuf64} for legacy support. @end table More information about LoongArch can be found at -- 2.42.0