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 012493858D33 for ; Sun, 21 Jan 2024 02:55:33 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 012493858D33 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 012493858D33 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=1705805737; cv=none; b=VFQWg0H5P1jtpbDO4Prs56OLfr1DrpqqeX+T2A62AH+rEYmbKqoVtN5Gady42q30SBVY5Y5wApN4Bl3ZB/lf1nKX1e6KRNaNjf99uagoE8S9F6+5VQMyUUQzDkxv5OdCGdZAAHSVh7kdoXN2nzW5kmHvFQ4fOOITB+z2DTA5WPs= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1705805737; c=relaxed/simple; bh=9fejCMqsHt7l2pvjqSCZOOf3yXh5rDgkiZM4Jdbv+A0=; h=From:To:Subject:Date:Message-Id:MIME-Version; b=dLCsB7KaNY68uaOuCfAFDE6x1BHJ9klWkx+LKb6VAc8oD0zSfswdExgNBzMaBAOGcKImOcHambS12Z4H8spF003x0wxvYL1e+VCYbTpDF95RLPpLaIkuLp0vkrqv9KCujcIG7J1F5XFRMaCUQRhos74gzDYDRVkz1EDVfVkaHag= ARC-Authentication-Results: i=1; server2.sourceware.org Received: from loongson.cn (unknown [10.2.6.5]) by gateway (Coremail) with SMTP id _____8Bxnuuhh6xlbMICAA--.12013S3; Sun, 21 Jan 2024 10:55:30 +0800 (CST) Received: from 5.5.5 (unknown [10.2.6.5]) by localhost.localdomain (Coremail) with SMTP id AQAAf8Bx7c6gh6xlqxoOAA--.2545S2; Sun, 21 Jan 2024 10:55:28 +0800 (CST) From: mengqinggang To: binutils@sourceware.org Cc: xuchenghua@loongson.cn, chenglulu@loongson.cn, liuzhensong@loongson.cn, cailulu@loongson.cn, xry111@xry111.site, i.swmail@xen0n.name, maskray@google.com, luweining@loongson.cn, wanglei@loongson.cn, hejinyang@loongson.cn, mengqinggang Subject: [PATCH] LoongArch: gas: Don't define LoongArch .align Date: Sun, 21 Jan 2024 10:55:27 +0800 Message-Id: <20240121025527.1892303-1-mengqinggang@loongson.cn> X-Mailer: git-send-email 2.39.3 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-CM-TRANSID:AQAAf8Bx7c6gh6xlqxoOAA--.2545S2 X-CM-SenderInfo: 5phqw15lqjwttqj6z05rqj20fqof0/ X-Coremail-Antispam: 1Uk129KBj93XoWxCr4DJF4rCF4UuF17XF13trc_yoW5GrWUp3 47ZFnFkrW8CFnrJF1qg345XF1xGw4xKrya9FWfKr1Ikrs7Jry2vw18tr9xXFW5W3yUG34S vr4Fqr15ZFn8t3cCm3ZEXasCq-sJn29KB7ZKAUJUUUU5529EdanIXcx71UUUUU7KY7ZEXa sCq-sGcSsGvfJ3Ic02F40EFcxC0VAKzVAqx4xG6I80ebIjqfuFe4nvWSU5nxnvy29KBjDU 0xBIdaVrnRJUUUyEb4IE77IF4wAFF20E14v26r1j6r4UM7CY07I20VC2zVCF04k26cxKx2 IYs7xG6rWj6s0DM7CIcVAFz4kK6r106r15M28lY4IEw2IIxxk0rwA2F7IY1VAKz4vEj48v e4kI8wA2z4x0Y4vE2Ix0cI8IcVAFwI0_Jr0_JF4l84ACjcxK6xIIjxv20xvEc7CjxVAFwI 0_Jr0_Gr1l84ACjcxK6I8E87Iv67AKxVWUJVW8JwA2z4x0Y4vEx4A2jsIEc7CjxVAFwI0_ Jr0_Gr1le2I262IYc4CY6c8Ij28IcVAaY2xG8wAqjxCEc2xF0cIa020Ex4CE44I27wAqx4 xG64xvF2IEw4CE5I8CrVC2j2WlYx0E2Ix0cI8IcVAFwI0_Jrv_JF1lYx0Ex4A2jsIE14v2 6r1j6r4UMcvjeVCFs4IE7xkEbVWUJVW8JwACjcxG0xvY0x0EwIxGrwCF04k20xvY0x0EwI xGrwCFx2IqxVCFs4IE7xkEbVWUJVW8JwC20s026c02F40E14v26r1j6r18MI8I3I0E7480 Y4vE14v26r106r1rMI8E67AF67kF1VAFwI0_Jw0_GFylIxkGc2Ij64vIr41lIxAIcVC0I7 IYx2IY67AKxVWUJVWUCwCI42IY6xIIjxv20xvEc7CjxVAFwI0_Jr0_Gr1lIxAIcVCF04k2 6cxKx2IYs7xG6r1j6r1xMIIF0xvEx4A2jsIE14v26r1j6r4UMIIF0xvEx4A2jsIEc7CjxV AFwI0_Jr0_GrUvcSsGvfC2KfnxnUUI43ZEXa7IU8r9N3UUUUU== X-Spam-Status: No, score=-12.6 required=5.0 tests=BAYES_00,GIT_PATCH_0,KAM_DMARC_STATUS,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: Gcc may generate "\t.align\t%d,54525952,4\n" before commit b20c7ee066cb7d952fa193972e8bc6362c6e4063. To write 54525952 (NOP) to object file, we call s_align_ptwo (-4). It result in alignment padding must be a multiple of 4 if .align has second parameter. Use default s_align_ptwo for .align. --- gas/config/tc-loongarch.c | 13 ------------- gas/testsuite/gas/loongarch/align.l | 1 + gas/testsuite/gas/loongarch/align.s | 5 +++++ gas/testsuite/gas/loongarch/loongarch.exp | 1 + 4 files changed, 7 insertions(+), 13 deletions(-) create mode 100644 gas/testsuite/gas/loongarch/align.l create mode 100644 gas/testsuite/gas/loongarch/align.s diff --git a/gas/config/tc-loongarch.c b/gas/config/tc-loongarch.c index 863ac9cea43..3c7d40027fd 100644 --- a/gas/config/tc-loongarch.c +++ b/gas/config/tc-loongarch.c @@ -436,18 +436,6 @@ loongarch_mach (void) static const expressionS const_0 = { .X_op = O_constant, .X_add_number = 0 }; -static void -s_loongarch_align (int arg) -{ - const char *t = input_line_pointer; - while (!is_end_of_line[(unsigned char) *t] && *t != ',') - ++t; - if (*t == ',') - s_align_ptwo (arg); - else - s_align_ptwo (0); -} - /* Handle the .dtprelword and .dtpreldword pseudo-ops. They generate a 32-bit or 64-bit DTP-relative relocation (BYTES says which) for use in DWARF debug information. */ @@ -479,7 +467,6 @@ s_dtprel (int bytes) static const pseudo_typeS loongarch_pseudo_table[] = { - { "align", s_loongarch_align, -4 }, { "dword", cons, 8 }, { "word", cons, 4 }, { "half", cons, 2 }, diff --git a/gas/testsuite/gas/loongarch/align.l b/gas/testsuite/gas/loongarch/align.l new file mode 100644 index 00000000000..8ea739b7641 --- /dev/null +++ b/gas/testsuite/gas/loongarch/align.l @@ -0,0 +1 @@ +# No warning or error expected. diff --git a/gas/testsuite/gas/loongarch/align.s b/gas/testsuite/gas/loongarch/align.s new file mode 100644 index 00000000000..93f252898dc --- /dev/null +++ b/gas/testsuite/gas/loongarch/align.s @@ -0,0 +1,5 @@ +# Fix bug: alignment padding must a multiple of 4 if .align has second parameter +.data + .byte 1 + .align 3, 2 + .4byte 3 diff --git a/gas/testsuite/gas/loongarch/loongarch.exp b/gas/testsuite/gas/loongarch/loongarch.exp index baa4908f8f9..9ece4e810ff 100644 --- a/gas/testsuite/gas/loongarch/loongarch.exp +++ b/gas/testsuite/gas/loongarch/loongarch.exp @@ -30,4 +30,5 @@ if [istarget loongarch*-*-*] { } } + run_list_test "align" } -- 2.36.0