From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lug-owl.de (lug-owl.de [IPv6:2a03:4000:10:469::]) by sourceware.org (Postfix) with ESMTPS id EC9C23858C52 for ; Wed, 4 Oct 2023 12:13:47 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org EC9C23858C52 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=lug-owl.de Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=lug-owl.de Received: by lug-owl.de (Postfix, from userid 1001) id 88BCF420F6; Wed, 4 Oct 2023 14:13:46 +0200 (CEST) Date: Wed, 4 Oct 2023 14:13:46 +0200 From: Jan-Benedict Glaw To: Yang Yujie Cc: gcc-patches@gcc.gnu.org, chenglulu@loongson.cn, xry111@xry111.site, richard.sandiford@arm.com, xuchenghua@loongson.cn Subject: Re: [PATCH] LoongArch: Reimplement multilib build option handling. Message-ID: <20231004121346.GV31556@lug-owl.de> References: <20230913095214.125470-1-yangyujie@loongson.cn> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="W8kijDWvHeraQFS8" Content-Disposition: inline In-Reply-To: <20230913095214.125470-1-yangyujie@loongson.cn> X-Operating-System: Linux chamaeleon 6.4.0-0.deb12.2-amd64 X-gpg-fingerprint: 250D 3BCF 7127 0D8C A444 A961 1DBD 5E75 8399 E1BB X-gpg-key: wwwkeys.de.pgp.net X-Echelon-Enable: howto poison arsenous mail psychological biological nuclear warfare test the bombastical terror of flooding the spy listeners explosion sex drugs and rock'n'roll X-TKUeV: howto poison arsenous mail psychological biological nuclear warfare test the bombastical terror of flooding the spy listeners explosion sex drugs and rock'n'roll X-message-flag: Please send plain text messages only. Do not send HTML emails. Thank you. User-Agent: Mutt/1.10.1 (2018-07-13) X-Spam-Status: No, score=-3.8 required=5.0 tests=BAYES_00,KAM_DMARC_STATUS,SPF_HELO_PASS,SPF_PASS,TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: --W8kijDWvHeraQFS8 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Hi! On Wed, 2023-09-13 17:52:14 +0800, Yang Yujie wrote: > Library build options from --with-multilib-list used to be processed with > *self_spec, which missed the driver's initial canonicalization. This > caused limitations on CFLAGS override and the use of driver-only options > like -m[no]-lsx. >=20 > The problem is solved by promoting the injection rules of --with-multilib= -list > options to the first element of DRIVER_SELF_SPECS, to make them execute b= efore > the canonialization. The library-build options are also hard-coded in > the driver and can be used conveniently by the builders of other non-gcc > libraries via the use of -fmultiflags. >=20 > Bootstrapped and tested on loongarch64-linux-gnu. Seems this breaks for me with =2E./gcc/configure [...] --enable-werror-always --enable-languages=3Dall --= disable-gcov --disable-shared --disable-threads --target=3Dloongarch64-linu= x-gnuf32 --without-headers make V=3D1 all-gcc See eg. http://toolchain.lug-owl.de/laminar/jobs/gcc-loongarch64-linux-gnuf= 32/44 : /var/lib/laminar/run/gcc-loongarch64-linux-gnuf32/44/local-toolchain-instal= l/bin/g++ -c -g -O2 -DIN_GCC -DCROSS_DIRECTORY_STRUCTURE -fno-excepti= ons -fno-rtti -fasynchronous-unwind-tables -W -Wall -Wno-narrowing -Wwrite-= strings -Wcast-qual -Wmissing-format-attribute -Wconditionally-supported -W= overloaded-virtual -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overl= ength-strings -Werror -fno-common -DHAVE_CONFIG_H -DGENERATOR_FILE -I. -I= build -I../../gcc/gcc -I../../gcc/gcc/build -I../../gcc/gcc/../include -I.= =2E/../gcc/gcc/../libcpp/include \ -o build/genpreds.o ../../gcc/gcc/genpreds.cc In file included from ../../gcc/gcc/config/loongarch/loongarch.h:53, from ./tm.h:50, from ../../gcc/gcc/genpreds.cc:26: =2E./../gcc/gcc/config/loongarch/loongarch-driver.h:82:10: fatal error: loo= ngarch-multilib.h: No such file or directory 82 | #include "loongarch-multilib.h" | ^~~~~~~~~~~~~~~~~~~~~~ compilation terminated. make[1]: *** [Makefile:2966: build/genpreds.o] Error 1 make[1]: Leaving directory '/var/lib/laminar/run/gcc-loongarch64-linux-gnuf= 32/44/toolchain-build/gcc' make: *** [Makefile:4659: all-gcc] Error 2 So it failed to execute the t-multilib fragment? Happens for all my loongarch compilation tests: http://toolchain.lug-owl.de/laminar/jobs/gcc-loongarch64-linux/45 http://toolchain.lug-owl.de/laminar/jobs/gcc-loongarch64-linux-gnuf32/44 http://toolchain.lug-owl.de/laminar/jobs/gcc-loongarch64-linux-gnuf64/44 http://toolchain.lug-owl.de/laminar/jobs/gcc-loongarch64-linux-gnusf/44 And when this is fixed, it might be a nice idea to have a --with-multilib-list config in ./contrib/config-list.mk . MfG, JBG --=20 --W8kijDWvHeraQFS8 Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iF0EABECAB0WIQQlDTvPcScNjKREqWEdvV51g5nhuwUCZR1W9wAKCRAdvV51g5nh u1x+AJ0TIm7cYSs3V4GuPzAj13VUQZkhBwCfbTLFPQytyMGj8KoFrs56bxSKIqg= =tviL -----END PGP SIGNATURE----- --W8kijDWvHeraQFS8--