From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-7.5 required=5.0 tests=MAILING_LIST_MULTI, NICE_REPLY_A,RCVD_IN_DNSWL_MED,RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 25828 invoked from network); 17 Nov 2023 07:21:16 -0000 Received: from second.openwall.net (193.110.157.125) by inbox.vuxu.org with ESMTPUTF8; 17 Nov 2023 07:21:16 -0000 Received: (qmail 5252 invoked by uid 550); 17 Nov 2023 07:21:13 -0000 Mailing-List: contact musl-help@lists.openwall.com; run by ezmlm Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-ID: Reply-To: musl@lists.openwall.com Received: (qmail 5214 invoked from network); 17 Nov 2023 07:21:12 -0000 To: musl@lists.openwall.com References: <20230805154307.GS4163@brightrain.aerifal.cx> <20230813014109.GU4163@brightrain.aerifal.cx> <99d954ca-faee-2cac-97af-7fc2ecdb9a89@loongson.cn> <65857ef7-0ef8-d3c8-d6d8-ea577b99e793@loongson.cn> <20230920131619.GA1427497@port70.net> <9dd23cf9-9795-0704-3a83-085ad9e6054a@loongson.cn> <3838b2d6-8330-33b5-fd87-8af3404a29dc@loongson.cn> <1f1d2528-ae86-46ea-64b1-c5b3ddb1709b@loongson.cn> <7b59ddc0-67ab-4ffa-e083-3e5086dd5de3@loongson.cn> <7aad7a07-9762-3d62-a8c2-4cdf860a7dcb@loongson.cn> <20231116161056.GZ4163@brightrain.aerifal.cx> From: Hongliang Wang Message-ID: <65fe2213-9846-6624-f852-f16b401ceba2@loongson.cn> Date: Fri, 17 Nov 2023 15:20:58 +0800 User-Agent: Mozilla/5.0 (X11; Linux loongarch64; rv:68.0) Gecko/20100101 Thunderbird/68.7.0 MIME-Version: 1.0 In-Reply-To: <20231116161056.GZ4163@brightrain.aerifal.cx> Content-Type: text/plain; charset=gbk; format=flowed Content-Language: en-US Content-Transfer-Encoding: 8bit X-CM-TRANSID:AQAAf8CxvdxaFFdl6xRFAA--.20804S3 X-CM-SenderInfo: pzdqwxxrqjzxhdqjqz5rrqw2lrqou0/ X-Coremail-Antispam: 1Uk129KBj93XoWxGw4kZw1xKFy7tr1DAryDCFX_yoW5AFyUp3 47CF4YkF4kKF17Was7t3yrXr4fJw4kWryagF1jg347Cr1DZ3y8Cr10k393ZFW8Xw1kC340 vrW0ga43XFyqyagCm3ZEXasCq-sJn29KB7ZKAUJUUUUU529EdanIXcx71UUUUU7KY7ZEXa sCq-sGcSsGvfJ3Ic02F40EFcxC0VAKzVAqx4xG6I80ebIjqfuFe4nvWSU5nxnvy29KBjDU 0xBIdaVrnRJUUU9ab4IE77IF4wAFF20E14v26r1j6r4UM7CY07I20VC2zVCF04k26cxKx2 IYs7xG6rWj6s0DM7CIcVAFz4kK6r1j6r18M28lY4IEw2IIxxk0rwA2F7IY1VAKz4vEj48v e4kI8wA2z4x0Y4vE2Ix0cI8IcVAFwI0_JFI_Gr1l84ACjcxK6xIIjxv20xvEc7CjxVAFwI 0_Jr0_Gr1l84ACjcxK6I8E87Iv67AKxVW8Jr0_Cr1UM28EF7xvwVC2z280aVCY1x0267AK xVW8Jr0_Cr1UM2AIxVAIcxkEcVAq07x20xvEncxIr21l57IF6xkI12xvs2x26I8E6xACxx 1l5I8CrVACY4xI64kE6c02F40Ex7xfMcIj6xIIjxv20xvE14v26r1Y6r17McIj6I8E87Iv 67AKxVWUJVW8JwAm72CE4IkC6x0Yz7v_Jr0_Gr1lF7xvr2IY64vIr41lc7I2V7IY0VAS07 AlzVAYIcxG8wCF04k20xvY0x0EwIxGrwCFx2IqxVCFs4IE7xkEbVWUJVW8JwCFI7km07C2 67AKxVWUAVWUtwC20s026c02F40E14v26r1j6r18MI8I3I0E7480Y4vE14v26r106r1rMI 8E67AF67kF1VAFwI0_Jr0_JrylIxkGc2Ij64vIr41lIxAIcVC0I7IYx2IY67AKxVWUJVWU CwCI42IY6xIIjxv20xvEc7CjxVAFwI0_Jr0_Gr1lIxAIcVCF04k26cxKx2IYs7xG6r1j6r 1xMIIF0xvEx4A2jsIE14v26r1j6r4UMIIF0xvEx4A2jsIEc7CjxVAFwI0_Jr0_GrUvcSsG vfC2KfnxnUUI43ZEXa7IU1QVy3UUUUU== Subject: Re: [musl] add loongarch64 port v9. ÔÚ 2023/11/17 ÉÏÎç12:10, Rich Felker дµÀ: > On Thu, Nov 16, 2023 at 10:54:44AM +0800, Hongliang Wang wrote: >> Hi, >> >> Thank you for your suggestion, I have modified the dynamic linker >> name according to the basic ABI types are specified in the ABI >> document of the LoongArch, and post 0001-add-loongarch64-port-v9.patch, >> as shown in the attachment. >> >> Based on 0001-add-loongarch64-port-v8.patch,the modifications for >> 0001-add-loongarch64-port-v9.patch are as follows: >> >> --- >> arch/loongarch64/reloc.h | 10 ++++++---- >> configure | 4 +++- >> 2 files changed, 9 insertions(+), 5 deletions(-) >> >> diff --git a/arch/loongarch64/reloc.h b/arch/loongarch64/reloc.h >> index a4482b48..6907de8e 100644 >> --- a/arch/loongarch64/reloc.h >> +++ b/arch/loongarch64/reloc.h >> @@ -1,7 +1,9 @@ >> -#ifdef __loongarch_soft_float >> -#define FP_SUFFIX "-sf" >> -#else >> -#define FP_SUFFIX "" >> +#if defined __loongarch_double_float >> +#define FP_SUFFIX "-lp64d" >> +#elif defined __loongarch_single_float >> +#define FP_SUFFIX "-lp64f" >> +#elif defined __loongarch_soft_float >> +#define FP_SUFFIX "-lp64s" >> #endif >> >> #define LDSO_ARCH "loongarch64" FP_SUFFIX >> diff --git a/configure b/configure >> index 55d179f1..93b06287 100755 >> --- a/configure >> +++ b/configure >> @@ -673,7 +673,9 @@ trycppif __AARCH64EB__ "$t" && SUBARCH=${SUBARCH}_be >> fi >> >> if test "$ARCH" = "loongarch64" ; then >> -trycppif __loongarch_soft_float "$t" && SUBARCH=${SUBARCH}-sf >> +trycppif __loongarch_double_float "$t" && SUBARCH=${SUBARCH}-lp64d >> +trycppif __loongarch_single_float "$t" && SUBARCH=${SUBARCH}-lp64f >> +trycppif __loongarch_soft_float "$t" && SUBARCH=${SUBARCH}-lp64s >> printf "checking whether compiler support FCSRs... " >> echo "__asm__(\"movfcsr2gr \$t0,\$fcsr0\");" > "$tmpc" >> if $CC -c -o /dev/null "$tmpc" >/dev/null 2>&1 ; then >> -- >> >> Please review again, and point them out if any questions need to be >> modified, thanks. > > Why are you changing the ABI name for the existing one to something > different rather than just adding the missing ones, and doing it with > a name that's less descriptive ("-sf" is widely recognized as a > softfloat suffix, -lp64s not so much) and adding a redundant "lp64" > part to each one that does not seem to be part of distinguishing the > float ABI? > > Rich > We change the ABI name based on the LoongArch ELF ABI specification, which can be seen: https://loongson.github.io/LoongArch-Documentation/LoongArch-ELF-ABI-EN.html (Table 7. Base ABI Types.) The specification defines lp64d, lp64s, lp64f: lp64d indicates uses 64-bit FPRs, d indicates double float. lp64s indicates uses 32-bit FPRs, s indicates single float. lp64f indicates uses no FPRs, f indicates soft float. The specification does not define sf, so I removed it. The define in musl is also consistent with gcc.