From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail.loongson.cn (mail.loongson.cn [114.242.206.163]) by sourceware.org (Postfix) with ESMTP id 661DB3858C2F for ; Mon, 22 Jan 2024 09:45:53 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 661DB3858C2F Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=loongson.cn Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=loongson.cn ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 661DB3858C2F Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=114.242.206.163 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1705916757; cv=none; b=aBvYgGw6pr1XgbxLYs2iu6bbqjSyGlk1IIz5xrWHIGeraUKVBZUVU0PwxFQ6fBIjkfPtw18eSn1upBAU9FEMwOAkrxeiADOyrfHrgpxUOvrskF9zx/p7kXf3xhYxq2xJf+oHGpdgdDHAHySXlKs2y1Ziv19ktoJm4HHTPufizsw= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1705916757; c=relaxed/simple; bh=hGMTn+uYydx9TdvxiNnaA5D5slyBwtnIM/JW9Pg7kxc=; h=Subject:To:From:Message-ID:Date:MIME-Version; b=t2qIeFTP7IRWJLNmGl1KEIQXQLjtz2b7ScMr3/nTJ1BIJdkvgFU7vIikFBqIZDyFt4U3niAa81IdDqSCIoW8E+zAuypop7R5XUd73wxlf/ZNPuE7ze5+SDLhHRQa1DsNwY5geZd29uUgmbsMy26YrZ7/tshD3vS0I3bR5Km8dYk= ARC-Authentication-Results: i=1; server2.sourceware.org Received: from loongson.cn (unknown [10.20.4.171]) by gateway (Coremail) with SMTP id _____8BxHOtOOa5lQoIDAA--.4097S3; Mon, 22 Jan 2024 17:45:50 +0800 (CST) Received: from [10.20.4.171] (unknown [10.20.4.171]) by localhost.localdomain (Coremail) with SMTP id AQAAf8Bx8ORNOa5lQGARAA--.14630S3; Mon, 22 Jan 2024 17:45:49 +0800 (CST) Subject: Re: [PATCH] LoongArch: Fix some test failures about TLS desc and TLS relaxation To: Xi Ruoyao , binutils@sourceware.org Cc: changjiachen , i.swmail@xen0n.name, Nick Clifton References: <20240119164017.509102-1-xry111@xry111.site> From: mengqinggang Message-ID: Date: Mon, 22 Jan 2024 17:45:49 +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: <20240119164017.509102-1-xry111@xry111.site> Content-Type: text/plain; charset=gbk; format=flowed Content-Transfer-Encoding: 8bit Content-Language: en-US X-CM-TRANSID:AQAAf8Bx8ORNOa5lQGARAA--.14630S3 X-CM-SenderInfo: 5phqw15lqjwttqj6z05rqj20fqof0/ X-Coremail-Antispam: 1Uk129KBj93XoW3Jw47ZF1fuw4kAw1UZFW8uFX_yoWxAFyxpF W2vrWFyF1xCFZrGF1DGrWrXayDGrn2kry093yfJFy09rs8JrWIgw1vyrnxZ3ZxZ3yYvryY v3W0y3yfWFZ5XrbCm3ZEXasCq-sJn29KB7ZKAUJUUUUU529EdanIXcx71UUUUU7KY7ZEXa sCq-sGcSsGvfJ3Ic02F40EFcxC0VAKzVAqx4xG6I80ebIjqfuFe4nvWSU5nxnvy29KBjDU 0xBIdaVrnRJUUUvIb4IE77IF4wAFF20E14v26r1j6r4UM7CY07I20VC2zVCF04k26cxKx2 IYs7xG6rWj6s0DM7CIcVAFz4kK6r106r15M28lY4IEw2IIxxk0rwA2F7IY1VAKz4vEj48v e4kI8wA2z4x0Y4vE2Ix0cI8IcVAFwI0_JFI_Gr1l84ACjcxK6xIIjxv20xvEc7CjxVAFwI 0_Gr0_Cr1l84ACjcxK6I8E87Iv67AKxVW8Jr0_Cr1UM28EF7xvwVC2z280aVCY1x0267AK xVW8Jr0_Cr1UM2AIxVAIcxkEcVAq07x20xvEncxIr21l57IF6xkI12xvs2x26I8E6xACxx 1l5I8CrVACY4xI64kE6c02F40Ex7xfMcIj6xIIjxv20xvE14v26r1j6r18McIj6I8E87Iv 67AKxVWUJVW8JwAm72CE4IkC6x0Yz7v_Jr0_Gr1lF7xvr2IY64vIr41lc7I2V7IY0VAS07 AlzVAYIcxG8wCF04k20xvY0x0EwIxGrwCFx2IqxVCFs4IE7xkEbVWUJVW8JwC20s026c02 F40E14v26r1j6r18MI8I3I0E7480Y4vE14v26r106r1rMI8E67AF67kF1VAFwI0_JF0_Jw 1lIxkGc2Ij64vIr41lIxAIcVC0I7IYx2IY67AKxVWUJVWUCwCI42IY6xIIjxv20xvEc7Cj xVAFwI0_Jr0_Gr1lIxAIcVCF04k26cxKx2IYs7xG6r1j6r1xMIIF0xvEx4A2jsIE14v26r 4j6F4UMIIF0xvEx4A2jsIEc7CjxVAFwI0_Gr0_Gr1UYxBIdaVFxhVjvjDU0xZFpf9x07j8 yCJUUUUU= X-Spam-Status: No, score=-10.7 required=5.0 tests=BAYES_00,GIT_PATCH_0,KAM_DMARC_STATUS,MIME_CHARSET_FARAWAY,NICE_REPLY_A,SPF_HELO_NONE,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: Thank you very much, it has been applied. ÔÚ 2024/1/20 ÉÏÎç12:38, Xi Ruoyao дµÀ: > There are two issues causing 11 test failures: > > 1. The TLS desc tests are matching the entire disassemble of a linked > executable. But if ld is configured --enable-default-hash-style=gnu > (note that most modern distros use this option), the layout of the > linked executables will be different and the immediate operands in > the linked executables will also be different. So we add > "--hash-style=both" for these tests to cancel the effect of > --enable-default-hash-style=gnu, like [x86_64 mark-plt tests]. > 2. By default objdump disassemble uses [pseudo-instructions] so "addi.w" > is outputed as "li.w", causing mismatches in TLS relaxation tests. > We can turn off the pseudo-instruction usage in objdump using "-M > no-aliases" to fix them. > > [x86_64 mark-plt tests]: 16666ccc91295d1568c5c2cb0e7600694840dfd9 > [pseudo-instructions]: 17f9439038257b1de0c130a416a9a7645c653cb0 > > Signed-off-by: Xi Ruoyao > --- > > Nick: if Qinggang approves this I'd request an approve for 2.42 branch > as well. This is a target bug fix and it only changes tests. > > ld/testsuite/ld-loongarch-elf/desc-ie.d | 2 +- > ld/testsuite/ld-loongarch-elf/desc-norelax.d | 2 +- > ld/testsuite/ld-loongarch-elf/desc-relax.d | 2 +- > ld/testsuite/ld-loongarch-elf/relax.exp | 14 +++++++------- > ld/testsuite/ld-loongarch-elf/tlsdesc-dso.d | 2 +- > 5 files changed, 11 insertions(+), 11 deletions(-) > > diff --git a/ld/testsuite/ld-loongarch-elf/desc-ie.d b/ld/testsuite/ld-loongarch-elf/desc-ie.d > index d1acbfc6972..32e350507db 100644 > --- a/ld/testsuite/ld-loongarch-elf/desc-ie.d > +++ b/ld/testsuite/ld-loongarch-elf/desc-ie.d > @@ -1,5 +1,5 @@ > #as: > -#ld: -shared -z norelro -e 0x0 > +#ld: -shared -z norelro -e 0x0 --hash-style=both > #objdump: -dr > #skip: loongarch32-*-* > > diff --git a/ld/testsuite/ld-loongarch-elf/desc-norelax.d b/ld/testsuite/ld-loongarch-elf/desc-norelax.d > index 32ce3e5eb94..e4863dda36a 100644 > --- a/ld/testsuite/ld-loongarch-elf/desc-norelax.d > +++ b/ld/testsuite/ld-loongarch-elf/desc-norelax.d > @@ -1,5 +1,5 @@ > #as: > -#ld: -z norelro -shared --section-start=.got=0x1ff000 > +#ld: -z norelro -shared --section-start=.got=0x1ff000 --hash-style=both > #objdump: -dr > #skip: loongarch32-*-* > > diff --git a/ld/testsuite/ld-loongarch-elf/desc-relax.d b/ld/testsuite/ld-loongarch-elf/desc-relax.d > index ce53d317272..c885953c727 100644 > --- a/ld/testsuite/ld-loongarch-elf/desc-relax.d > +++ b/ld/testsuite/ld-loongarch-elf/desc-relax.d > @@ -1,5 +1,5 @@ > #as: > -#ld: -z norelro -shared > +#ld: -z norelro -shared --hash-style=both > #objdump: -dr > #skip: loongarch32-*-* > > diff --git a/ld/testsuite/ld-loongarch-elf/relax.exp b/ld/testsuite/ld-loongarch-elf/relax.exp > index f3fd169dbd3..f421e8af8dd 100644 > --- a/ld/testsuite/ld-loongarch-elf/relax.exp > +++ b/ld/testsuite/ld-loongarch-elf/relax.exp > @@ -104,7 +104,7 @@ if [istarget loongarch64-*-*] { > ] > > if [file exist "tmpdir/relax-tls-le"] { > - set objdump_output1 [run_host_cmd "objdump" "-d tmpdir/relax-tls-le"] > + set objdump_output1 [run_host_cmd "objdump" "-d tmpdir/relax-tls-le -M no-aliases"] > if { [ regexp ".addi.*st.*" $objdump_output1] } { > pass "loongarch relax success" > } { > @@ -125,7 +125,7 @@ if [istarget loongarch64-*-*] { > ] > > if [file exist "tmpdir/no-relax-tls-le"] { > - set objdump_output2 [run_host_cmd "objdump" "-d tmpdir/no-relax-tls-le"] > + set objdump_output2 [run_host_cmd "objdump" "-d tmpdir/no-relax-tls-le -M no-aliases"] > if { [ regexp ".*lu12i.*add.*addi.*st.*" $objdump_output2] } { > pass "loongarch no-relax success" > } { > @@ -146,7 +146,7 @@ if [istarget loongarch64-*-*] { > ] > > if [file exist "tmpdir/old-tls-le"] { > - set objdump_output3 [run_host_cmd "objdump" "-d tmpdir/old-tls-le"] > + set objdump_output3 [run_host_cmd "objdump" "-d tmpdir/old-tls-le -M no-aliases"] > if { [ regexp ".*lu12i.*ori.*add.*addi.*stptr.*" $objdump_output3] } { > pass "loongarch old tls le success" > } { > @@ -167,7 +167,7 @@ if [istarget loongarch64-*-*] { > ] > > if [file exist "tmpdir/realx-compatible"] { > - set objdump_output4 [run_host_cmd "objdump" "-d tmpdir/realx-compatible"] > + set objdump_output4 [run_host_cmd "objdump" "-d tmpdir/realx-compatible -M no-aliases"] > if { [ regexp ".addi.*st.*" $objdump_output4] && \ > [ regexp ".*lu12i.*ori.*add.*addi.*stptr.*" $objdump_output4] } { > pass "loongarch tls le relax compatible check success" > @@ -188,7 +188,7 @@ if [istarget loongarch64-*-*] { > ] \ > ] > if [file exist "tmpdir/no-realx-compatible"] { > - set objdump_output4 [run_host_cmd "objdump" "-d tmpdir/no-realx-compatible"] > + set objdump_output4 [run_host_cmd "objdump" "-d tmpdir/no-realx-compatible -M no-aliases"] > if { [ regexp ".*lu12i.*add.*addi.*st.*" $objdump_output4] && \ > [ regexp ".*lu12i.*ori.*add.*addi.*stptr.*" $objdump_output4] } { > pass "loongarch tls le no-relax compatible check success" > @@ -210,7 +210,7 @@ if [istarget loongarch64-*-*] { > ] > > if [file exist "tmpdir/relax-bound-check-tls-le"] { > - set objdump_output5 [run_host_cmd "objdump" "-d tmpdir/relax-bound-check-tls-le"] > + set objdump_output5 [run_host_cmd "objdump" "-d tmpdir/relax-bound-check-tls-le -M no-aliases"] > if { [ regexp ".*lu12i.*add.*addi.*st.*" $objdump_output5] && \ > [ regexp ".addi.*st.*" $objdump_output5] } { > pass "loongarch no-relax success" > @@ -232,7 +232,7 @@ if [istarget loongarch64-*-*] { > ] > > if [file exist "tmpdir/no-relax-bound-check-tls-le"] { > - set objdump_output5 [run_host_cmd "objdump" "-d tmpdir/no-relax-bound-check-tls-le"] > + set objdump_output5 [run_host_cmd "objdump" "-d tmpdir/no-relax-bound-check-tls-le -M no-aliases"] > if { [ regexp ".*addi.*st.*" $objdump_output5] } { > pass "loongarch no-relax success" > } { > diff --git a/ld/testsuite/ld-loongarch-elf/tlsdesc-dso.d b/ld/testsuite/ld-loongarch-elf/tlsdesc-dso.d > index 667ad746f62..453902d1622 100644 > --- a/ld/testsuite/ld-loongarch-elf/tlsdesc-dso.d > +++ b/ld/testsuite/ld-loongarch-elf/tlsdesc-dso.d > @@ -1,5 +1,5 @@ > #as: > -#ld: -shared -z norelro > +#ld: -shared -z norelro --hash-style=both > #objdump: -dr > #skip: loongarch32-*-* >