From patchwork Mon Jan 16 11:37:09 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alan Modra X-Patchwork-Id: 44089 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:eb09:0:0:0:0:0 with SMTP id s9csp1142956wrn; Mon, 16 Jan 2023 03:37:22 -0800 (PST) X-Google-Smtp-Source: AMrXdXvNBLPPZR9UvSkwhJ4/SfbKZYUJ5P8DslyRZoqc8IL2TYhYeTCj6luEn7Kt1BTY/4NsxqO9 X-Received: by 2002:a17:907:3fa7:b0:86e:a8d8:19b7 with SMTP id hr39-20020a1709073fa700b0086ea8d819b7mr7928928ejc.71.1673869042736; Mon, 16 Jan 2023 03:37:22 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1673869042; cv=none; d=google.com; s=arc-20160816; b=Zs6uB2V2neIHLavT2nw53qyY4nb6ct5U5s01a8gZbCL9WHFy/ZYeokT/6Hsy9zcAht vbRChtDrcWAyqfRVVJqiJ0k6J3wS09/lGdYPOvv+D4i7AhHRx6CGoZxoT+cgbtAQtGwd 3CAIM+QXHqvybhshwQih8MuqtHPJvdGub4YQcUt3/Feg3a4ELyDjBO/VKANXq1iCQ2lo M9qLm/Nuu9Jo61f23jwDQcpSca5dKKtqEIWCAQnev6sJ/w0h/rn0MKuhptPcUEv2ql+b 8874QMTgiFeWjs2UF9EnEj9uVMzO/MWwRe1gw7CWFXhHoJ3o+0UxygJ0GQHstdS6Hb7J 4dtg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:reply-to:from:list-subscribe:list-help:list-post :list-archive:list-unsubscribe:list-id:precedence :content-disposition:mime-version:message-id:subject:to:date :dmarc-filter:delivered-to:dkim-signature:dkim-filter; bh=R9lVNNPO1mHqysqY3qXwCvOdVdVf0SgV4A6stpNVaa8=; b=LZEAbalz6V8Y8ipS2UjoW1q419K1pcy3mzacSDKeQ7JjA4YvvbMyACiE5Rpcap5lrI 6T8knyGFrsa9xI75dNw+aYX2vgOlMkB7fZjn70jY3YZ6bk+P3tgb95TNgsXADFNpNLaB Of3crw7aIqhj4MXnaLJ7klJNzFi3s9AYJYUAEkE/qqTZz19Bu8H0re6Qtjt7ZwhINkJz aNAqJ00vNnmOzPI/6eCXJUY+py7PRgCIQLn6WgG92Unq+ag0XvANmQdBvrbq+NmnQEEG bHp9KmhDC3K3vs1H14Pyp6nRDCd6m5kJ47ENr7nhMh/5j4zDYY2wU0J1jO7dH4b059WN DVFw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@sourceware.org header.s=default header.b=SMZQjnnS; spf=pass (google.com: domain of binutils-bounces+ouuuleilei=gmail.com@sourceware.org designates 8.43.85.97 as permitted sender) smtp.mailfrom="binutils-bounces+ouuuleilei=gmail.com@sourceware.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=sourceware.org Received: from sourceware.org (server2.sourceware.org. [8.43.85.97]) by mx.google.com with ESMTPS id l9-20020a170906794900b0081a9c3ca4c4si32311655ejo.572.2023.01.16.03.37.22 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 16 Jan 2023 03:37:22 -0800 (PST) Received-SPF: pass (google.com: domain of binutils-bounces+ouuuleilei=gmail.com@sourceware.org designates 8.43.85.97 as permitted sender) client-ip=8.43.85.97; Authentication-Results: mx.google.com; dkim=pass header.i=@sourceware.org header.s=default header.b=SMZQjnnS; spf=pass (google.com: domain of binutils-bounces+ouuuleilei=gmail.com@sourceware.org designates 8.43.85.97 as permitted sender) smtp.mailfrom="binutils-bounces+ouuuleilei=gmail.com@sourceware.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id B56FA3858410 for ; Mon, 16 Jan 2023 11:37:21 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org B56FA3858410 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1673869041; bh=R9lVNNPO1mHqysqY3qXwCvOdVdVf0SgV4A6stpNVaa8=; h=Date:To:Subject:List-Id:List-Unsubscribe:List-Archive:List-Post: List-Help:List-Subscribe:From:Reply-To:From; b=SMZQjnnSaJIjl16C2/vpkCRGk8xzhNklgZuk5faMpc0vukfrMQm8KT0pp1V9x3QRi zeQ51CfU0Kl0bnjE0inXDBYXN0wlJTSkmyNnVzwzFx37TqX9388t4Focn7+Wu/RXl3 7Zjdfvp72uqWsmxaJnGL9wfNo3swUXle5NyzICow= X-Original-To: binutils@sourceware.org Delivered-To: binutils@sourceware.org Received: from mail-pj1-x102f.google.com (mail-pj1-x102f.google.com [IPv6:2607:f8b0:4864:20::102f]) by sourceware.org (Postfix) with ESMTPS id AEEDA3858D32 for ; Mon, 16 Jan 2023 11:37:13 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org AEEDA3858D32 Received: by mail-pj1-x102f.google.com with SMTP id q23-20020a17090a065700b002290913a521so11380931pje.5 for ; Mon, 16 Jan 2023 03:37:13 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-disposition:mime-version:message-id:subject:to:from:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=R9lVNNPO1mHqysqY3qXwCvOdVdVf0SgV4A6stpNVaa8=; b=voIi6ZgFQ4fIFWCUXhow/HLsgxy/VHrGglrtkQ1r32DgjVAqyNE4g0yuY/XtFSNtrF N0J1CRG3l9wkOcymv2mIR5dTDldBwgdqsJZojpRCcx/mJ8vu/DGSm1KDwZxaAzFOjgQY NWdomRCk8K5dr4DwgoZeZvHKrkaZ4IgaGfX20jvVPIhk/68VWffpKOKD1Ry566LbNiCG cbtbRTOspertR9/4SOLm1DySO0v8zbcIVy/Ns8sjUg9JtRG3TE6ttynFbCLNpXplyoC+ 7/ZYm4uvWiXBdUzbuIQDjtJKSn6TK9o2RdwXYLjYUNV1RiHEMVdTTHkTABpmy2ieDwSi UAmg== X-Gm-Message-State: AFqh2kow/NWlUfTlf6/77Jdx8Kt81xGY56UmqpcmUpXnVIvqSye/gqI9 yHzVD7MM0KZoQSlZrp09eeIwU42RiLA= X-Received: by 2002:a17:902:ccc4:b0:186:e434:6265 with SMTP id z4-20020a170902ccc400b00186e4346265mr107080694ple.2.1673869032531; Mon, 16 Jan 2023 03:37:12 -0800 (PST) Received: from squeak.grove.modra.org (158.106.96.58.static.exetel.com.au. [58.96.106.158]) by smtp.gmail.com with ESMTPSA id a16-20020a170902ecd000b001868ed86a95sm19131213plh.174.2023.01.16.03.37.11 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 16 Jan 2023 03:37:12 -0800 (PST) Received: by squeak.grove.modra.org (Postfix, from userid 1000) id B99DA1140A04; Mon, 16 Jan 2023 22:07:09 +1030 (ACDT) Date: Mon, 16 Jan 2023 22:07:09 +1030 To: binutils@sourceware.org Subject: PR29991, MicroMIPS flag erased after align directives Message-ID: MIME-Version: 1.0 Content-Disposition: inline X-Spam-Status: No, score=-3035.7 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_FROM, GIT_PATCH_0, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_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: binutils@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Binutils mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Alan Modra via Binutils From: Alan Modra Reply-To: Alan Modra Errors-To: binutils-bounces+ouuuleilei=gmail.com@sourceware.org Sender: "Binutils" X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1755178905616113178?= X-GMAIL-MSGID: =?utf-8?q?1755178905616113178?= PR 29991 * config/tc-mips.c (s_align): Call file_mips_check_options and mips_mark_labels. * testsuite/gas/mips/align-after-label.s, * testsuite/gas/mips/mips-align-after-label.d, * testsuite/gas/mips/micromips-align-after-label.d: New test. * testsuite/gas/mips/mips.exp: Run it. diff --git a/gas/config/tc-mips.c b/gas/config/tc-mips.c index 077993cf7cb..e59021ee191 100644 --- a/gas/config/tc-mips.c +++ b/gas/config/tc-mips.c @@ -16262,6 +16262,8 @@ s_align (int x ATTRIBUTE_UNUSED) int temp, fill_value, *fill_ptr; long max_alignment = 28; + file_mips_check_options (); + /* o Note that the assembler pulls down any immediately preceding label to the aligned address. o It's not documented but auto alignment is reinstated by @@ -16286,6 +16288,9 @@ s_align (int x ATTRIBUTE_UNUSED) } else fill_ptr = 0; + + mips_mark_labels (); + if (temp) { segment_info_type *si = seg_info (now_seg); diff --git a/gas/testsuite/gas/mips/align-after-label.s b/gas/testsuite/gas/mips/align-after-label.s new file mode 100644 index 00000000000..75e1c1bb6d0 --- /dev/null +++ b/gas/testsuite/gas/mips/align-after-label.s @@ -0,0 +1,3 @@ +seg1: + .align 2 + ADDIU $0, $0, 1 diff --git a/gas/testsuite/gas/mips/micromips-align-after-label.d b/gas/testsuite/gas/mips/micromips-align-after-label.d new file mode 100644 index 00000000000..9358b912626 --- /dev/null +++ b/gas/testsuite/gas/mips/micromips-align-after-label.d @@ -0,0 +1,13 @@ +#objdump: -dr --show-raw-insn +#name: microMIPSr3 (align after label) +#as: -mips32r3 -32 -mmicromips -EB +#source: align-after-label.s + +.*: +file format .*mips.* + +Disassembly of section \.text: + +[0-9a-f]+ : +[ 0-9a-f]+: 4c02 addiu zero,zero,1 +[ 0-9a-f]+: 0c00 nop +#pass diff --git a/gas/testsuite/gas/mips/mips-align-after-label.d b/gas/testsuite/gas/mips/mips-align-after-label.d new file mode 100644 index 00000000000..8f3d40df8a8 --- /dev/null +++ b/gas/testsuite/gas/mips/mips-align-after-label.d @@ -0,0 +1,12 @@ +#objdump: -dr --show-raw-insn +#name: MIPS32r3 (align after label) +#as: -mips32r3 -32 -mno-micromips -EB +#source: align-after-label.s + +.*: +file format .*mips.* + +Disassembly of section \.text: + +[0-9a-f]+ : +[ 0-9a-f]+: 24000001 li zero,1 +#pass diff --git a/gas/testsuite/gas/mips/mips.exp b/gas/testsuite/gas/mips/mips.exp index fafed2dcc0c..e358c9716a6 100644 --- a/gas/testsuite/gas/mips/mips.exp +++ b/gas/testsuite/gas/mips/mips.exp @@ -1518,6 +1518,8 @@ if { [istarget mips*-*-vxworks*] } { run_dump_test "align2" run_dump_test "align2-el" run_dump_test "align3" + run_dump_test "mips-align-after-label" + run_dump_test "micromips-align-after-label" run_dump_test "odd-float" run_dump_test "insn-opts"