Hi Sebastian: Thank for report this issue, I can reproduce that, I'll investigate what happened today :)
Sebastian Huber <sebastian.hu...@embedded-brains.de> 於 2021年1月26日 週二 14:13 寫道: > Hello Kito, > > On 20/11/2020 09:33, Kito Cheng wrote: > > - Define MULTILIB_DEFAULTS can reduce the total number of multilib if > > the default arch and ABI are listed in the multilib config. > > > > - This also simplify the implementation of --with-multilib-list. > > > > gcc/ChangeLog: > > > > * config.gcc (riscv*-*-*): Add TARGET_RISCV_DEFAULT_ABI and > > TARGET_RISCV_DEFAULT_ARCH to tm_defines. > > Remove including riscv/withmultilib.h for --with-multilib-list. > > * config/riscv/riscv.h (STRINGIZING): New. > > (__STRINGIZING): Ditto. > > (MULTILIB_DEFAULTS): Ditto. > > * config/riscv/withmultilib.h: Remove. > > I think this change broke the multilib generation for RTEMS (git > bisect). I had to apply this local patch to build > a5ad5d5c478ee7bebf057161bb8715ee7d286875: > > diff --git a/gcc/config.gcc b/gcc/config.gcc > index 6f1ee62f7fd..7449c470265 100644 > --- a/gcc/config.gcc > +++ b/gcc/config.gcc > @@ -4612,7 +4612,6 @@ case "${target}" in > exit 1 > ;; > esac > - with_arch=`${srcdir}/config/riscv/arch-canonicalize ${with_arch}` > tm_defines="${tm_defines} > TARGET_RISCV_DEFAULT_ARCH=${with_arch}" > > # Make sure --with-abi is valid. If it was not specified, > > With this commit we have: > > ./gcc/xgcc -print-multi-lib > .; > rv32i/ilp32;@march=rv32i@mabi=ilp32 > rv32im/ilp32;@march=rv32im@mabi=ilp32 > rv32iac/ilp32;@march=rv32iac@mabi=ilp32 > rv32imac/ilp32;@march=rv32imac@mabi=ilp32 > rv32imafc/ilp32f;@march=rv32imafc@mabi=ilp32f > rv64imafd/lp64d;@march=rv64imafd@mabi=lp64d > rv64imafd/lp64d/medany;@march=rv64imafd@mabi=lp64d@mcmodel=medany > rv64imac/lp64;@march=rv64imac@mabi=lp64 > rv64imac/lp64/medany;@march=rv64imac@mabi=lp64@mcmodel=medany > rv64imafdc/lp64d;@march=rv64imafdc@mabi=lp64d > rv64imafdc/lp64d/medany;@march=rv64imafdc@mabi=lp64d@mcmodel=medany > > ./gcc/xgcc -print-multi-directory -march=rv32imafd -mabi=ilp32d > rv32imafd/ilp32d > > So for this option set it prints a multilib directory which is not > listed. Also GCC seems to use this directory for the search paths and > cannot find multilib specific C++ header files for example. > > In the commit before (3a5d8ed231a0329822b7c032ba0834991732d2a0) we have: > > ./gcc/xgcc -print-multi-lib > .; > rv32i/ilp32;@march=rv32i@mabi=ilp32 > rv32im/ilp32;@march=rv32im@mabi=ilp32 > rv32imafd/ilp32d;@march=rv32imafd@mabi=ilp32d <-- HERE > rv32iac/ilp32;@march=rv32iac@mabi=ilp32 > rv32imac/ilp32;@march=rv32imac@mabi=ilp32 > rv32imafc/ilp32f;@march=rv32imafc@mabi=ilp32f > rv64imafd/lp64d;@march=rv64imafd@mabi=lp64d > rv64imafd/lp64d/medany;@march=rv64imafd@mabi=lp64d@mcmodel=medany > rv64imac/lp64;@march=rv64imac@mabi=lp64 > rv64imac/lp64/medany;@march=rv64imac@mabi=lp64@mcmodel=medany > rv64imafdc/lp64d;@march=rv64imafdc@mabi=lp64d > rv64imafdc/lp64d/medany;@march=rv64imafdc@mabi=lp64d@mcmodel=medany > > ./gcc/xgcc -print-multi-directory -march=rv32imafd -mabi=ilp32d > rv32imafd/ilp32d > > I was not able to figure out what prevents the generation of the > rv32imafd/ilp32d multilib in commit > a5ad5d5c478ee7bebf057161bb8715ee7d286875. The gcc/tm.h contains this: > > gcc/tm.h:#ifndef TARGET_RISCV_DEFAULT_ARCH > gcc/tm.h:# define TARGET_RISCV_DEFAULT_ARCH rv32gc > gcc/tm.h:#ifndef TARGET_RISCV_DEFAULT_ABI > gcc/tm.h:# define TARGET_RISCV_DEFAULT_ABI ilp32d > > -- > embedded brains GmbH > Herr Sebastian HUBER > Dornierstr. 4 > 82178 Puchheim > Germany > email: sebastian.hu...@embedded-brains.de > phone: +49-89-18 94 741 - 16 > fax: +49-89-18 94 741 - 08 > > Registergericht: Amtsgericht München > Registernummer: HRB 157899 > Vertretungsberechtigte Geschäftsführer: Peter Rasmussen, Thomas Dörfler > Unsere Datenschutzerklärung finden Sie hier: > https://embedded-brains.de/datenschutzerklaerung/ > >