PR target/98878 - Incorrect multilib list for riscv*-rtems
authorKito Cheng <kito.cheng@sifive.com>
Thu, 28 Jan 2021 10:29:53 +0000 (18:29 +0800)
committerKito Cheng <kito.cheng@sifive.com>
Fri, 5 Feb 2021 06:26:16 +0000 (14:26 +0800)
commit072f20c555907cce38a424da47b6c1baa8330169
tree43ccf27e79921db02fa15d9e2bbfe906308cc355
parent8d0737d8f4b10bffe0411507ad2dc21ba7679883
PR target/98878 - Incorrect multilib list for riscv*-rtems

 - Multi-lib only check the default argument is appeared in the multilib
   flag list, but we didn't check the case that the flag is required but
   default argument didn't provide.

 - For example riscv*-rtems has a multilib set:

     rv32imafd/ilp32d;@march=rv32imafd@mabi=ilp32d

   And when we set the default argument of arch to rv32imafdc and ABI to
   ilp32d, gcc will check the ilp32d is matched, but it didn't check
   rv32imafd is not provided by default arguments, so it should not
   reuse default library.

 - The side effcet of this patch is csky-elf target will increase the
   number of multilib from 54 to 59, but it's because genmultilib didn't
   know the default argument for multilib, so I think it could be
   improved in future.

gcc/ChangeLog:

* gcc.c (print_multilib_info): Check all required argument is provided
by default arg.
gcc/gcc.c