From patchwork Wed Sep 6 10:06:28 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yang Yujie X-Patchwork-Id: 75354 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 213D33853D08 for ; Wed, 6 Sep 2023 10:07:03 +0000 (GMT) X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from eggs.gnu.org (eggs.gnu.org [IPv6:2001:470:142:3::10]) by sourceware.org (Postfix) with ESMTPS id 55C54385840C for ; Wed, 6 Sep 2023 10:06:41 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 55C54385840C Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=loongson.cn Authentication-Results: sourceware.org; spf=fail smtp.mailfrom=loongson.cn Received: from mail.loongson.cn ([114.242.206.163]) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qdpQk-0007W9-6p for gcc-patches@gcc.gnu.org; Wed, 06 Sep 2023 06:06:41 -0400 Received: from loongson.cn (unknown [192.168.100.1]) by gateway (Coremail) with SMTP id _____8Cx77smT_hkPUwgAA--.5851S3; Wed, 06 Sep 2023 18:06:30 +0800 (CST) Received: from localhost.localdomain (unknown [192.168.100.1]) by localhost.localdomain (Coremail) with SMTP id AQAAf8DxaMwmT_hkX25uAA--.28315S2; Wed, 06 Sep 2023 18:06:30 +0800 (CST) From: Yang Yujie To: gcc-patches@gcc.gnu.org Subject: [PATCH] LoongArch: Link c++ header directory in the default ABI to the toplevel. Date: Wed, 6 Sep 2023 18:06:28 +0800 Message-ID: <20230906100628.26033-1-yangyujie@loongson.cn> X-Mailer: git-send-email 2.41.0 MIME-Version: 1.0 X-CM-TRANSID: AQAAf8DxaMwmT_hkX25uAA--.28315S2 X-CM-SenderInfo: 51dqw5pxmlvqxorr0wxvrqhubq/ X-Coremail-Antispam: 1Uk129KBj93XoW7Kr17tFWDXF1kuw4kXF1DArc_yoW8CFWrpF 4UuFs8Jr48trZ3G39rJayrXr4DAFs7KF17XF1aqFyxurs8Aw1jv3WkK3sIgFyxXwsrZayY 9F18ua1jgFs8X3gCm3ZEXasCq-sJn29KB7ZKAUJUUUUU529EdanIXcx71UUUUU7KY7ZEXa sCq-sGcSsGvfJ3Ic02F40EFcxC0VAKzVAqx4xG6I80ebIjqfuFe4nvWSU5nxnvy29KBjDU 0xBIdaVrnRJUUUkYb4IE77IF4wAFF20E14v26r1j6r4UM7CY07I20VC2zVCF04k26cxKx2 IYs7xG6rWj6s0DM7CIcVAFz4kK6r1j6r18M28lY4IEw2IIxxk0rwA2F7IY1VAKz4vEj48v e4kI8wA2z4x0Y4vE2Ix0cI8IcVAFwI0_Gr0_Xr1l84ACjcxK6xIIjxv20xvEc7CjxVAFwI 0_Gr0_Cr1l84ACjcxK6I8E87Iv67AKxVWxJr0_GcWl84ACjcxK6I8E87Iv6xkF7I0E14v2 6F4UJVW0owAS0I0E0xvYzxvE52x082IY62kv0487Mc804VCY07AIYIkI8VC2zVCFFI0UMc 02F40EFcxC0VAKzVAqx4xG6I80ewAv7VC0I7IYx2IY67AKxVWUXVWUAwAv7VC2z280aVAF wI0_Cr0_Gr1UMcvjeVCFs4IE7xkEbVWUJVW8JwACjcxG0xvY0x0EwIxGrwCF04k20xvY0x 0EwIxGrwCFx2IqxVCFs4IE7xkEbVWUJVW8JwC20s026c02F40E14v26r1j6r18MI8I3I0E 7480Y4vE14v26r106r1rMI8E67AF67kF1VAFwI0_JF0_Jw1lIxkGc2Ij64vIr41lIxAIcV C0I7IYx2IY67AKxVWUJVWUCwCI42IY6xIIjxv20xvEc7CjxVAFwI0_Jr0_Gr1lIxAIcVCF 04k26cxKx2IYs7xG6r1j6r1xMIIF0xvEx4A2jsIE14v26r1j6r4UMIIF0xvEx4A2jsIEc7 CjxVAFwI0_Jr0_GrUvcSsGvfC2KfnxnUUI43ZEXa7IU1UDG7UUUUU== Received-SPF: pass client-ip=114.242.206.163; envelope-from=yangyujie@loongson.cn; helo=mail.loongson.cn X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Status: No, score=-12.4 required=5.0 tests=BAYES_00, GIT_PATCH_0, KAM_DMARC_STATUS, SPF_FAIL, SPF_HELO_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 X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: richard.sandiford@arm.com, xuchenghua@loongson.cn, chenglulu@loongson.cn Errors-To: gcc-patches-bounces+patchwork=sourceware.org@gcc.gnu.org Sender: "Gcc-patches" When multilib is enabled, the c++ header directory of the default multilib variant needs to be linked to the toplevel since g++ does not search the toplevel in this case. libstdc++-v3/ChangeLog: * configure.host: Register t-loongarch in tmake_file. * config/cpu/loongarch/t-loongarch: New file. Link c++ header directory in the default ABI to the toplevel. --- libstdc++-v3/config/cpu/loongarch/t-loongarch | 12 ++++++++++++ libstdc++-v3/configure.host | 5 ++++- 2 files changed, 16 insertions(+), 1 deletion(-) create mode 100644 libstdc++-v3/config/cpu/loongarch/t-loongarch diff --git a/libstdc++-v3/config/cpu/loongarch/t-loongarch b/libstdc++-v3/config/cpu/loongarch/t-loongarch new file mode 100644 index 00000000000..942eddeb3be --- /dev/null +++ b/libstdc++-v3/config/cpu/loongarch/t-loongarch @@ -0,0 +1,12 @@ +LA_DEFAULT_MULTIDIR = $(shell $(CXX) --print-multi-directory) +TOPLEV_HEADERS = $(DESTDIR)${gxx_include_dir}/${host_alias}/$(LA_DEFAULT_MULTIDIR) + +.PHONY: install-toplevel-link +install: install-toplevel-link +install-toplevel-link: + if test x$(MULTIDO) != xtrue && \ + test x$(LA_DEFAULT_MULTIDIR) != x.; then \ + $(MKDIR_P) "$(dir $(TOPLEV_HEADERS))"; \ + rm -rf "$(TOPLEV_HEADERS)"; \ + $(LN_S) ../ "$(TOPLEV_HEADERS)"; \ + fi diff --git a/libstdc++-v3/configure.host b/libstdc++-v3/configure.host index 9e7c7f02dfd..9dc42ad3edb 100644 --- a/libstdc++-v3/configure.host +++ b/libstdc++-v3/configure.host @@ -315,7 +315,10 @@ esac # Set any OS-dependent and CPU-dependent bits. # THIS TABLE IS SORTED. KEEP IT THAT WAY. case "${host}" in - *-*-linux* | *-*-uclinux*) + loongarch*) + tmake_file="cpu/loongarch/t-loongarch" + ;; + *-*-linux* | *-*-uclinux*) case "${host_cpu}" in i[567]86) abi_baseline_pair=i486-linux-gnu