From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from xry111.site (xry111.site [89.208.246.23]) by sourceware.org (Postfix) with ESMTPS id C50293858D35 for ; Tue, 21 Nov 2023 03:10:03 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org C50293858D35 Authentication-Results: sourceware.org; dmarc=pass (p=reject dis=none) header.from=xry111.site Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=xry111.site ARC-Filter: OpenARC Filter v1.0.0 sourceware.org C50293858D35 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=89.208.246.23 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1700536205; cv=none; b=D6zJNEQAr0yBQ4fj+w7wlHcnBlI39HXazYZOQU6TaOn3Jati+MqiBPxTDxxkiaYTQOspkW9JB6X19vblw0kPfiDpgHy0667apz0k8cIT3N0EXVjDT9rwazf36iK9JaOjLBfzuSAs01L8ZfCLcovl/6pZihdYq4dHujlWVHoT5yQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1700536205; c=relaxed/simple; bh=d3nkUVNu6EoUv9WO5y1ha7/6ZQJRopTnEmb1DNIzMnA=; h=DKIM-Signature:Message-ID:Subject:From:To:Date:MIME-Version; b=CrwmSWcnItHw4hzdELLSLzSou2mLMJCnCvYPasAi5qE8+OAPVuotNER7xekhvEKio1gp6rr2t45oIxjJ6SqnrjN3pNvrtKuofbWWeoeLq60R68zCXdFqzBqBNXwSKjaUiwqk5QhICBr2DB1iMKReam/+a3WAy9RW9bsfnfpvfeQ= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=xry111.site; s=default; t=1700536201; bh=d3nkUVNu6EoUv9WO5y1ha7/6ZQJRopTnEmb1DNIzMnA=; h=Subject:From:To:Cc:Date:In-Reply-To:References:From; b=F1UkRpccFVu93lkpYpmH0yLJftwaBPz2Lb5j2MqsV+7XbLoX4wDB2UNhn0nw3smHd iY9qdRdirlkaafq0VWMd1t5l6G7gC0J+D3GMpr78JgvrUAIgaU4PU/yuCtTr9vuRRF JSIxWFKBCj2FYD9vbkdZFrt7EI/ZjvnrK8f6H5fk= Received: from [127.0.0.1] (unknown [IPv6:2001:470:683e::1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature ECDSA (P-384) server-digest SHA384) (Client did not present a certificate) (Authenticated sender: xry111@xry111.site) by xry111.site (Postfix) with ESMTPSA id 1977366B3A; Mon, 20 Nov 2023 22:09:59 -0500 (EST) Message-ID: Subject: Pushed: LoongArch: Fix libgcc build failure when libc is not available (was Re: genopts: Add infrastructure to generate code for new features in ISA evolution) From: Xi Ruoyao To: Joseph Myers Cc: gcc-patches@gcc.gnu.org, chenglulu , i@xen0n.name, xuchenghua@loongson.cn Date: Tue, 21 Nov 2023 11:09:58 +0800 In-Reply-To: <0d3b2d5dc3a192952d03d874d2330759b9e97033.camel@xry111.site> References: <20231117204323.453536-1-xry111@xry111.site> <20231117204323.453536-3-xry111@xry111.site> <74823bfa-1b5c-1790-9fc6-ab97adc1a515@codesourcery.com> <0d3b2d5dc3a192952d03d874d2330759b9e97033.camel@xry111.site> Autocrypt: addr=xry111@xry111.site; prefer-encrypt=mutual; keydata=mDMEYnkdPhYJKwYBBAHaRw8BAQdAsY+HvJs3EVKpwIu2gN89cQT/pnrbQtlvd6Yfq7egugi0HlhpIFJ1b3lhbyA8eHJ5MTExQHhyeTExMS5zaXRlPoiTBBMWCgA7FiEEkdD1djAfkk197dzorKrSDhnnEOMFAmJ5HT4CGwMFCwkIBwICIgIGFQoJCAsCBBYCAwECHgcCF4AACgkQrKrSDhnnEOPHFgD8D9vUToTd1MF5bng9uPJq5y3DfpcxDp+LD3joA3U2TmwA/jZtN9xLH7CGDHeClKZK/ZYELotWfJsqRcthOIGjsdAPuDgEYnkdPhIKKwYBBAGXVQEFAQEHQG+HnNiPZseiBkzYBHwq/nN638o0NPwgYwH70wlKMZhRAwEIB4h4BBgWCgAgFiEEkdD1djAfkk197dzorKrSDhnnEOMFAmJ5HT4CGwwACgkQrKrSDhnnEOPjXgD/euD64cxwqDIqckUaisT3VCst11RcnO5iRHm6meNIwj0BALLmWplyi7beKrOlqKfuZtCLbiAPywGfCNg8LOTt4iMD Content-Type: multipart/mixed; boundary="=-H9xMh0lgObhH7NXb1Ebo" User-Agent: Evolution 3.50.1 MIME-Version: 1.0 X-Spam-Status: No, score=-6.2 required=5.0 tests=BAYES_00,BODY_8BITS,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,GIT_PATCH_0,LIKELY_SPAM_FROM,SPF_HELO_PASS,SPF_PASS,TXREP,T_SCC_BODY_TEXT_LINE 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: --=-H9xMh0lgObhH7NXb1Ebo Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Tue, 2023-11-21 at 08:00 +0800, Xi Ruoyao wrote: /* snip */ > > This has broken libgcc builds when target libc isn't yet available. > >=20 > > In file included from /scratch/jmyers/glibc-bot/src/gcc/libgcc/../gcc/c= onfig/loongarch/loongarch-def.h:49, > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0 from /scratch/jmyers/glibc-bot/src/gcc/libgcc/.= ./gcc/config/loongarch/loongarch-opts.h:24, > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0 from ../.././gcc/options.h:8, > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0 from ../.././gcc/tm.h:49, > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0 from /scratch/jmyers/glibc-bot/src/gcc/libgcc/l= ibgcc2.c:29: > > /scratch/jmyers/glibc-bot/build/compilers/loongarch64-linux-gnu-lp64d/g= cc-first/gcc/include/stdint.h:9:16: fatal error: stdint.h: No such file or = directory > > =C2=A0=C2=A0=C2=A0 9 | # include_next > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ^~~~~~~~~~ > > compilation terminated. > > make[3]: *** [Makefile:505: _muldi3.o] Error 1 > >=20 > > https://sourceware.org/pipermail/libc-testresults/2023q4/012109.html > >=20 > > My guess would be that the definitions needing are not actua= lly=20 > > needed in code built for the target, and so there should be more > >=20 > > #if !defined(IN_LIBGCC2) && !defined(IN_TARGET_LIBS) && !defined(IN_RTS= ) > >=20 > > conditions like the one already present in loongarch-opts.h, to avoid= =20 > > depending on a target header like this being present. >=20 > Ah, makes sense.=C2=A0 I thought stdint.h was usable without libc but it'= s > not true. >=20 > The only use for stdint.h is in struct loongarch_isa (using int64_t for > a 64-bit bitset).=C2=A0 This struct is not used by target code. >=20 > I'll test building a cross compiler from x86_64 with stdint.h and struct > loongarch_isa guarded with the ifdef. Pushed the attached patch r14-5634. Tested building a cross compiler from x86_64 with cross Binutils but not target libc. Also tested bootstrapping on loongarch64-linux-gnu. --=20 Xi Ruoyao School of Aerospace Science and Technology, Xidian University --=-H9xMh0lgObhH7NXb1Ebo Content-Disposition: attachment; filename*0=0007-LoongArch-Fix-libgcc-build-failure-when-libc-is-not-.pat; filename*1=ch Content-Type: text/x-patch; name="0007-LoongArch-Fix-libgcc-build-failure-when-libc-is-not-.patch"; charset="UTF-8" Content-Transfer-Encoding: base64 RnJvbSBkMGZhYTFjOGJhZDY2NmMzZTI0MWQ5OTg3MTQ0OWFhNjBjY2I4OTMyIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBYaSBSdW95YW8gPHhyeTExMUB4cnkxMTEuc2l0ZT4KRGF0ZTog VHVlLCAyMSBOb3YgMjAyMyAwOTowOToyNSArMDgwMApTdWJqZWN0OiBbUEFUQ0ggNy83XSBMb29u Z0FyY2g6IEZpeCBsaWJnY2MgYnVpbGQgZmFpbHVyZSB3aGVuIGxpYmMgaXMgbm90CiBhdmFpbGFi bGUKClRvIHVzZSBpbnQ2NF90IHdlIGluY2x1ZGVkIDxzdGRpbnQuaD4gaW4gbG9vbmdhcmNoLWRl Zi5oLgpVbmZvcnR1bmF0ZWx5LCBsb29uZ2FyY2gtZGVmLmggaXMgYWxzbyB1c2VkIGJ5IGxpYmdj YyBldGMuLCBjYXVzaW5nIGEKYnVpbGQgZmFpbHVyZSB3aGVuIGJ1aWxkaW5nIGEgInN0YWdlMSIg Y3Jvc3MgY29tcGlsZXIgYXQgd2hpY2ggdGhlCnRhcmdldCBsaWJjIGlzIG5vdCBidWlsdCB5ZXQu CgpBcyBpbnQ2NF90IGlzIHVzZWQgZm9yIGEgQy1jb21wYXRpYmxlIHJlcGxhY2VtZW50IG9mIEhP U1RfV0lERV9JTlQsIGl0J3MKbm90IGRpcmVjdGx5IG9yIGluZGlyZWN0bHkgcmVmZXJyZWQgYnkg dGhlIHRhcmdldCBsaWJyYXJpZXMuICBTbwpndWFyZCBldmVyeXRoaW5nIHJlcXVpcmluZyBzdGRp bnQuaCB3aXRoICNpZiB0aGVuIHRoZXknbGwgbm90IGJsb2NrCnRhcmdldCBsaWJyYXJpZXMuCgpn Y2MvQ2hhbmdlTG9nOgoKCSogY29uZmlnL2xvb25nYXJjaC9sb29uZ2FyY2gtZGVmLmggKHN0ZGlu dC5oKTogR3VhcmQgd2l0aCAjaWYgdG8KCWV4Y2x1ZGUgaXQgZm9yIHRhcmdldCBsaWJyYXJpZXMu CgkobG9vbmdhcmNoX2lzYV9iYXNlX2ZlYXR1cmVzKTogTGlrZXdpc2UuCgkobG9vbmdhcmNoX2lz YSk6IExpa2V3aXNlLgoJKGxvb25nYXJjaF9hYmkpOiBMaWtld2lzZS4KCShsb29uZ2FyY2hfdGFy Z2V0KTogTGlrZXdpc2UuCgkobG9vbmdhcmNoX2NwdV9kZWZhdWx0X2lzYSk6IExpa2V3aXNlLgot LS0KIGdjYy9jb25maWcvbG9vbmdhcmNoL2xvb25nYXJjaC1kZWYuaCB8IDEwICsrKysrKysrKy0K IDEgZmlsZSBjaGFuZ2VkLCA5IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1n aXQgYS9nY2MvY29uZmlnL2xvb25nYXJjaC9sb29uZ2FyY2gtZGVmLmggYi9nY2MvY29uZmlnL2xv b25nYXJjaC9sb29uZ2FyY2gtZGVmLmgKaW5kZXggYWY3YmQ2MzVkNmUuLjg1MWZmODY0ZWIyIDEw MDY0NAotLS0gYS9nY2MvY29uZmlnL2xvb25nYXJjaC9sb29uZ2FyY2gtZGVmLmgKKysrIGIvZ2Nj L2NvbmZpZy9sb29uZ2FyY2gvbG9vbmdhcmNoLWRlZi5oCkBAIC00Niw3ICs0NiwxMCBAQCBhbG9u ZyB3aXRoIEdDQzsgc2VlIHRoZSBmaWxlIENPUFlJTkczLiAgSWYgbm90IHNlZQogI2lmbmRlZiBM T09OR0FSQ0hfREVGX0gKICNkZWZpbmUgTE9PTkdBUkNIX0RFRl9ICiAKKyNpZiAhZGVmaW5lZChJ Tl9MSUJHQ0MyKSAmJiAhZGVmaW5lZChJTl9UQVJHRVRfTElCUykgJiYgIWRlZmluZWQoSU5fUlRT KQogI2luY2x1ZGUgPHN0ZGludC5oPgorI2VuZGlmCisKICNpbmNsdWRlICJsb29uZ2FyY2gtdHVu ZS5oIgogCiAjaWZkZWYgX19jcGx1c3BsdXMKQEAgLTYyLDkgKzY1LDExIEBAIGV4dGVybiBjb25z dCBjaGFyKiBsb29uZ2FyY2hfaXNhX2Jhc2Vfc3RyaW5nc1tdOwogI2RlZmluZSBJU0FfQkFTRV9M QTY0VjExMCAgICAgMQogI2RlZmluZSBOX0lTQV9CQVNFX1RZUEVTICAgICAgMgogCisjaWYgIWRl ZmluZWQoSU5fTElCR0NDMikgJiYgIWRlZmluZWQoSU5fVEFSR0VUX0xJQlMpICYmICFkZWZpbmVk KElOX1JUUykKIC8qIFVubGlrZSBvdGhlciBhcnJheXMsIHRoaXMgaXMgZGVmaW5lZCBpbiBsb29u Z2FyY2gtY3B1LmNjLiAgVGhlIHByb2JsZW0gaXMKICAgIHdlIGNhbm5vdCB1c2UgdGhlIEMrKyBo ZWFkZXIgb3B0aW9ucy5oIGluIGxvb25nYXJjaC1kZWYuYy4gICovCiBleHRlcm4gaW50NjRfdCBs b29uZ2FyY2hfaXNhX2Jhc2VfZmVhdHVyZXNbXTsKKyNlbmRpZgogCiAvKiBlbnVtIGlzYV9leHRf KiAqLwogZXh0ZXJuIGNvbnN0IGNoYXIqIGxvb25nYXJjaF9pc2FfZXh0X3N0cmluZ3NbXTsKQEAg LTEyMSw2ICsxMjYsNyBAQCBleHRlcm4gY29uc3QgY2hhciogbG9vbmdhcmNoX2Ntb2RlbF9zdHJp bmdzW107CiAjZGVmaW5lIE1fT1BUX0FCU0VOVChvcHRfZW51bSkgICgob3B0X2VudW0pID09IE1f T1BUX1VOU0VUKQogCiAKKyNpZiAhZGVmaW5lZChJTl9MSUJHQ0MyKSAmJiAhZGVmaW5lZChJTl9U QVJHRVRfTElCUykgJiYgIWRlZmluZWQoSU5fUlRTKQogLyogSW50ZXJuYWwgcmVwcmVzZW50YXRp b24gb2YgdGhlIHRhcmdldC4gICovCiBzdHJ1Y3QgbG9vbmdhcmNoX2lzYQogewpAQCAtMTUwLDYg KzE1Niw5IEBAIHN0cnVjdCBsb29uZ2FyY2hfdGFyZ2V0CiAgIGludCBjbW9kZWw7CSAgICAvKiBD TU9ERUxfICovCiB9OwogCitleHRlcm4gc3RydWN0IGxvb25nYXJjaF9pc2EgbG9vbmdhcmNoX2Nw dV9kZWZhdWx0X2lzYVtdOworI2VuZGlmCisKIC8qIENQVSBwcm9wZXJ0aWVzLiAgKi8KIC8qIGlu ZGV4ICovCiAjZGVmaW5lIENQVV9OQVRJVkUJICAwCkBAIC0xNjIsNyArMTcxLDYgQEAgc3RydWN0 IGxvb25nYXJjaF90YXJnZXQKIAogLyogcGFyYWxsZWwgdGFibGVzLiAgKi8KIGV4dGVybiBjb25z dCBjaGFyKiBsb29uZ2FyY2hfY3B1X3N0cmluZ3NbXTsKLWV4dGVybiBzdHJ1Y3QgbG9vbmdhcmNo X2lzYSBsb29uZ2FyY2hfY3B1X2RlZmF1bHRfaXNhW107CiBleHRlcm4gaW50IGxvb25nYXJjaF9j cHVfaXNzdWVfcmF0ZVtdOwogZXh0ZXJuIGludCBsb29uZ2FyY2hfY3B1X211bHRpcGFzc19kZmFf bG9va2FoZWFkW107CiAKLS0gCjIuNDIuMQoK --=-H9xMh0lgObhH7NXb1Ebo--