From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from loongson.cn (mail.loongson.cn [114.242.206.163]) by sourceware.org (Postfix) with ESMTP id 1E8CE3857340 for ; Tue, 23 Aug 2022 12:32:01 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 1E8CE3857340 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=loongson.cn Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=loongson.cn Received: from [10.20.4.187] (unknown [10.20.4.187]) by localhost.localdomain (Coremail) with SMTP id AQAAf8Cx72u_yARj5PoHAA--.32542S3; Tue, 23 Aug 2022 20:32:00 +0800 (CST) Subject: Re: [PATCH 1/1] LoongArch: Fix ptr mangling/demangling features. To: Xi Ruoyao , adhemerval.zanella@linaro.org, libc-alpha@sourceware.org, i.swmail@xen0n.name Cc: xuchenghua@loongson.cn, joseph_myers@mentor.com References: <20220818021900.3436740-1-caiyinyu@loongson.cn> <83c265e1af00acd46bc9aeb39117b4db63da769c.camel@xry111.site> From: caiyinyu Message-ID: Date: Tue, 23 Aug 2022 20:31:59 +0800 User-Agent: Mozilla/5.0 (X11; Linux mips64; rv:68.0) Gecko/20100101 Thunderbird/68.7.0 MIME-Version: 1.0 In-Reply-To: <83c265e1af00acd46bc9aeb39117b4db63da769c.camel@xry111.site> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Content-Language: en-US X-CM-TRANSID: AQAAf8Cx72u_yARj5PoHAA--.32542S3 X-Coremail-Antispam: 1UD129KBjvJXoW7uw1kJF45XF1kWFW8tr4kCrg_yoW8XF1fpr yxXr90qFWxXF1rGayvvas3ta9xta95G345JFy5Aa4xC3WUJa4Fgan09r92gay3Ga18J34x Zr1Yq3W293WUArDanT9S1TB71UUUUUUqnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDU0xBIdaVrnRJUUUv0b7Iv0xC_Kw4lb4IE77IF4wAFF20E14v26r4j6ryUM7CY07I2 0VC2zVCF04k26cxKx2IYs7xG6rWj6s0DM7CIcVAFz4kK6r1j6r18M28lY4IEw2IIxxk0rw A2F7IY1VAKz4vEj48ve4kI8wA2z4x0Y4vE2Ix0cI8IcVAFwI0_Xr0_Ar1l84ACjcxK6xII jxv20xvEc7CjxVAFwI0_Cr0_Gr1UM28EF7xvwVC2z280aVAFwI0_Cr1j6rxdM28EF7xvwV C2z280aVCY1x0267AKxVW0oVCq3wAS0I0E0xvYzxvE52x082IY62kv0487Mc02F40EFcxC 0VAKzVAqx4xG6I80ewAv7VC0I7IYx2IY67AKxVWUJVWUGwAv7VC2z280aVAFwI0_Jr0_Gr 1lOx8S6xCaFVCjc4AY6r1j6r4UM4x0Y48IcVAKI48JMxk0xIA0c2IEe2xFo4CEbIxvr21l c2xSY4AK6svPMxAIw28IcxkI7VAKI48JMxC20s026xCaFVCjc4AY6r1j6r4UMI8I3I0E5I 8CrVAFwI0_Jr0_Jr4lx2IqxVCjr7xvwVAFwI0_JrI_JrWlx4CE17CEb7AF67AKxVWUAVWU twCIc40Y0x0EwIxGrwCI42IY6xIIjxv20xvE14v26r1j6r1xMIIF0xvE2Ix0cI8IcVCY1x 0267AKxVW8JVWxJwCI42IY6xAIw20EY4v20xvaj40_Jr0_JF4lIxAIcVC2z280aVAFwI0_ Jr0_Gr1lIxAIcVC2z280aVCY1x0267AKxVW8JVW8JrUvcSsGvfC2KfnxnUUI43ZEXa7IU5 6c_DUUUUU== X-CM-SenderInfo: 5fdl5xhq1xqz5rrqw2lrqou0/ X-Spam-Status: No, score=-5.6 required=5.0 tests=BAYES_00, BODY_8BITS, KAM_DMARC_STATUS, NICE_REPLY_A, 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 X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 23 Aug 2022 12:32:05 -0000 I have sent new patches and I made some changes to prevent build errors. https://sourceware.org/pipermail/libc-alpha/2022-August/141588.html 在 2022/8/21 下午9:29, Xi Ruoyao 写道: > On Thu, 2022-08-18 at 10:19 +0800, caiyinyu wrote: >> -/* Load or store to/from a pc-relative EXPR into/from G, using T. >> +/* Load a pc-relative EXPR into G, using T. >>     Note G and T are register names.  */ >> -#define LDST_PCREL(OP, G, T,  EXPR) \ >> -  pcalau12i T, %pc_hi20(EXPR); \ >> -  OP       G, T, %pc_lo12(EXPR); >> +#define LD_PCREL(G, EXPR) \ >> +  la.pcrel  G, EXPR; \ >> +  REG_L            G,  G,  0; > I'd write > > #if HAVE_LOONGARCH_EXPLICIT_RELOCS > # define LDST_PCREL(OP, G, T, EXPR) \ > pcalau12i T, %pc_hi20(EXPR); \ > OP G, T, %pc_lo12(EXPR); > #else > # define LD_PCREL(G, EXPR) \ > la.pcrel G, EXPR; \ > REG_L G, G, 0; > #endif > > And in configure.ac: > > AC_CACHE_CHECK(whether explicit relocs can be used, > libc_cv_loongarch_explicit_relocs, [dnl > cat > conftest.s << EOF > x: pcalau12i $t0, %pc_hi20(x) > EOF > libc_cv_loongarch_explicit_relocs=no > if AC_TRY_COMMAND(${CC-cc} -c $CFLAGS conftest.s -o conftest.o 1>&AS_MESSAGE_LOG_FD); then > libc_cv_loongarch_explicit_relocs=yes > fi > rm -f conftest*]) > if test $libc_cv_loongarch_explicit_relocs = yes; then > AC_DEFINE(HAVE_LOONGARCH_EXPLICIT_RELOCS) > fi > > This is a micro optimization but two instructions is smaller than 3 > instructions anyway :). >