https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109461

            Bug ID: 109461
           Summary: build gcc for riscv target failed with `execvp:
                    /bin/sh: Argument list too long error when using with
                    --with-multilib-generator`
           Product: gcc
           Version: 13.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c
          Assignee: unassigned at gcc dot gnu.org
          Reporter: fanghuaqi at vip dot qq.com
  Target Milestone: ---

Hi there, I am using gcc master branch source code(gcc 13), and tried to use
this repo https://github.com/riscv-collab/riscv-gnu-toolchain to cross build
toolchain for riscv target with multilib enabled, the multilib configuration is
as below



--with-multilib-generator="rv32emc-ilp32e--;rv32emac-ilp32e--;rv32imc-ilp32--;rv32imac-ilp32--zfh*zfhmin*zve32x;rv32imafc-ilp32f--zfh*zfhmin*zve32f;rv32imafdc-ilp32d--zfh*zfhmin*zve32f;rv32imac_zba_zbb_zbc_zbs-ilp32--zfh*zfhmin*zbkb_zbkc_zbkx_zk*zve32x;rv32imafc_zba_zbb_zbc_zbs-ilp32f--zfh*zfhmin*zbkb_zbkc_zbkx_zk*zve32f;rv32imafdc_zba_zbb_zbc_zbs-ilp32d--zfh*zfhmin*zbkb_zbkc_zbkx_zk*zve32f;rv32ima_zca_zcb_zcmp_zcmt-ilp32--zfh*zfhmin*zve32x;rv32imaf_zca_zcb_zcf_zcmp_zcmt-ilp32f--zfh*zfhmin*zve32f;rv32imafd_zca_zcb_zcf_zcd-ilp32d--zfh*zfhmin*zve32f;rv32ima_zca_zcb_zcmp_zcmt_zba_zbb_zbc_zbs-ilp32--zfh*zfhmin*zbkb_zbkc_zbkx_zk*zve32x;rv32imaf_zca_zcb_zcf_zcmp_zcmt_zba_zbb_zbc_zbs-ilp32f--zfh*zfhmin*zbkb_zbkc_zbkx_zk*zve32f;rv32imafd_zca_zcb_zcf_zcd_zba_zbb_zbc_zbs-ilp32d--zfh*zfhmin*zbkb_zbkc_zbkx_zk*zve32f;rv32imac_xxldsp-ilp32--xxldspn1*xxldspn2*xxldspn3*zfh*zfhmin*zve32x;rv32imafc_xxldsp-ilp32f--xxldspn1*xxldspn2*xxldspn3*zfh*zfhmin*zve32f;rv32imafdc_xxldsp-ilp32d--xxldspn1*xxldspn2*xxldspn3*zfh*zfhmin*zve32f;rv32imaczba_zbb_zbc_zbs_xxldsp-ilp32--xxldspn1*xxldspn2*xxldspn3*zfh*zfhmin*zbkb_zbkc_zbkx_zk*zve32x;rv32imafc_zba_zbb_zbc_zbs_xxldsp-ilp32f--xxldspn1*xxldspn2*xxldspn3*zfh*zfhmin*zbkb_zbkc_zbkx_zk*zve32f;rv32imafdc_zba_zbb_zbc_zbs_xxldsp-ilp32d--xxldspn1*xxldspn2*xxldspn3*zfh*zfhmin*zbkb_zbkc_zbkx_zk*zve32f;rv32ima_zca_zcb_zcmp_zcmt_xxldsp-ilp32--xxldspn1*xxldspn2*xxldspn3*zfh*zfhmin*zve32x;rv32imaf_zca_zcb_zcf_zcmp_zcmt_xxldsp-ilp32f--xxldspn1*xxldspn2*xxldspn3*zfh*zfhmin*zve32f;rv32imafd_zca_zcb_zcf_zcd_xxldsp-ilp32d--xxldspn1*xxldspn2*xxldspn3*zfh*zfhmin*zve32f;rv32ima_zca_zcb_zcmp_zcmt_zba_zbb_zbc_zbs_xxldsp-ilp32--xxldspn1*xxldspn2*xxldspn3*zfh*zfhmin*zbkb_zbkc_zbkx_zk*zve32x;rv32imaf_zca_zcb_zcf_zcmp_zcmt_zba_zbb_zbc_zbs_xxldsp-ilp32f--xxldspn1*xxldspn2*xxldspn3*zfh*zfhmin*zbkb_zbkc_zbkx_zk*zve32f;rv32imafd_zca_zcb_zcf_zcd_zba_zbb_zbc_zbs_xxldsp-ilp32d--xxldspn1*xxldspn2*xxldspn3*zfh*zfhmin*zbkb_zbkc_zbkx_zk*zve32f;rv64imac-lp64--xxldsp*xxldspn1*zfhmin*zfh*v;rv64imafc-lp64f--xxldsp*xxldspn1*zfhmin*zfh*v;rv64imafdc-lp64d--xxldsp*xxldspn1*zfhmin*zfh*v;rv64imac_zba_zbb_zbc_zbs-lp64--xxldsp*xxldspn1*zfhmin*zfh*zbkb_zbkc_zbkx_zk*v;rv64imafc_zba_zbb_zbc_zbs-lp64f--xxldsp*xxldspn1*zfhmin*zfh*zbkb_zbkc_zbkx_zk*v;rv64imafdc_zba_zbb_zbc_zbs-lp64d--xxldsp*xxldspn1*zfhmin*zfh*zbkb_zbkc_zbkx_zk*v;rv64ima_zca_zcb_zcmp_zcmt-lp64--xxldsp*xxldspn1*zfhmin*zfh*v;rv64imaf_zca_zcb_zcf_zcmp_zcmt-lp64f--xxldsp*xxldspn1*zfhmin*zfh*v;rv64imafd_zca_zcb_zcf_zcd-lp64d--xxldsp*xxldspn1*zfhmin*zfh*v;rv64ima_zca_zcb_zcmp_zcmt_zba_zbb_zbc_zbs-lp64--xxldsp*xxldspn1*zfhmin*zfh*zbkb_zbkc_zbkx_zk*v;rv64imaf_zca_zcb_zcf_zcmp_zcmt_zba_zbb_zbc_zbs-lp64f--xxldsp*xxldspn1*zfhmin*zfh*zbkb_zbkc_zbkx_zk*v;rv64imafd_zca_zcb_zcf_zcd_zba_zbb_zbc_zbs-lp64d--xxldsp*xxldspn1*zfhmin*zfh*zbkb_zbkc_zbkx_zk*v"


But when I build the toolchain, it will fail with the following messsage


if test yes = yes \
   || test -n ""; then \
  /bin/sh /work/gcc/gcc/genmultilib \
...... too long to show, ignore it .........
_zbs_zve32f_zve32x_zve64d_zve64f_zve64x_zvl128b_zvl32b_zvl64b_xxldsp/mabi.lp64d
march.rv64imafd_zca_zcb_zcd_zcf_zba_zbb_zbc_zbs/mabi.lp64d=march.rv64imafdv_zfhmin_zca_zcb_zcd_zcf_zba_zbb_zbc_zbs_zve32f_zve32x_zve64d_zve64f_zve64x_zvl128b_zvl32b_zvl64b_xxldsp_xxldspn1/mabi.lp64d
march.rv64imafd_zca_zcb_zcd_zcf_zba_zbb_zbc_zbs/mabi.lp64d=march.rv64imafdv_zfhmin_zca_zcb_zcd_zcf_zba_zbb_zbc_zbs_zve32f_zve32x_zve64d_zve64f_zve64x_zvl128b_zvl32b_zvl64b_xxldspn1/mabi.lp64d"
\
    "yes" \
    > tmp-mlib.h; \
else \
  /bin/sh /work/gcc/gcc/genmultilib '' '' '' '' '' '' '' '' \
    "" '' no \
    > tmp-mlib.h; \
fi
make[2]: execvp: /bin/sh: Argument list too long
make[2]: *** [Makefile:2252: s-mlib] Error 127

For more details, you can check in
https://github.com/riscv-collab/riscv-gnu-toolchain/issues/1226, and others can
repeat this issue.

Thanks for any help you could provide.

Reply via email to