From patchwork Mon Mar 29 22:12:06 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Nick Desaulniers X-Patchwork-Id: 12171345 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-22.0 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_ADSP_CUSTOM_MED,DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_CR_TRAILER,INCLUDES_PATCH,MAILING_LIST_MULTI,MENTIONS_GIT_HOSTING, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 62D84C433C1 for ; Tue, 30 Mar 2021 01:14:26 +0000 (UTC) Received: from desiato.infradead.org (desiato.infradead.org [90.155.92.199]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 020906190A for ; Tue, 30 Mar 2021 01:14:25 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 020906190A Authentication-Results: mail.kernel.org; dmarc=fail (p=reject dis=none) header.from=google.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=desiato.20200630; h=Sender:Content-Transfer-Encoding :Content-Type:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:Cc:To:From:Subject:Mime-Version:Message-Id:Date: Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender :Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References:List-Owner; bh=rH+w6wNly6t36eUiHqPxq3JiAfNF8WVcTZ4nhU2t4+s=; b=QAjk1c5ti616iPUnTSFQToS5qJ Xw6YS1+lk563rkIFx384y6qZNuGAE5zSXHx74X+VT/+nre9dOqUmA3ZGbV9Z3kLoU0z087fbStPKA 9FSHnq/g0mog+ZIekS7b4sY1H5iYMmhtQ17PKznbr/gGxriIPAxjtsmH74Wspej7fbpeLEp8zObzW HSlhyioclCNrt/fTeifQsiVJJ3FVLgGzS2Ktf9fnLSEHSuz5ERkl6EHJs1t5KEi+lffBvSr6lfUoh N35jBAPKN8V9jRJdGz2Hui2FhHq6gI6mVmVWKzCedTbi9xJ8SqEP6VKcuUDKb8YsbMJ+VH0Oi510g qSzNc2/Q==; Received: from localhost ([::1] helo=desiato.infradead.org) by desiato.infradead.org with esmtp (Exim 4.94 #2 (Red Hat Linux)) id 1lR2tU-002JMI-Dx; Tue, 30 Mar 2021 01:10:08 +0000 Received: from mail-qt1-x849.google.com ([2607:f8b0:4864:20::849]) by desiato.infradead.org with esmtps (Exim 4.94 #2 (Red Hat Linux)) id 1lR07Q-001ci9-F8 for linux-arm-kernel@lists.infradead.org; Mon, 29 Mar 2021 22:12:22 +0000 Received: by mail-qt1-x849.google.com with SMTP id l13so8490378qtu.6 for ; Mon, 29 Mar 2021 15:12:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=date:message-id:mime-version:subject:from:to:cc; bh=ekCF2vvcLsdB3w/7DhoYThMPMaRHrvLWv1Vl8Jy7w1I=; b=m6mRmHasW2CUfIqjeOLJjTmqe7jpWbLqCpMyS4UjSz15CBgj3Z/6MIX6P2SGCPN+2a uOjKHQKXIpb9v6UTTw1sZFoY2R8DFJwdxWSDqKqvPzhqPjwKx+LvddeI6FGcPMgNpviZ 0aHtQOZCODLTgy3WBSfrulpkw2jqkYOoUwXqFLYxjI0d6z/+4U9IAtgfjTPLuAlrOG8W 4yBMM44hCZ/n686/A99TA8pQhgsmjDBitZs6otjZTWUSTjMXioLXG3/8+iQl5JlEpsco qYHtk8upMZGcNypAk1Zr8v8tgn0jg/ZfaC9Te5J/m3KVvxOQ3qY0+WGGvdL8U/2Hwz1L gODA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:message-id:mime-version:subject:from:to:cc; bh=ekCF2vvcLsdB3w/7DhoYThMPMaRHrvLWv1Vl8Jy7w1I=; b=OFpS39fUonXk8qeMem+QV52Es/OVbJwSpF1zX46vAv/5sCTP4GUYo6S/V/OFW1iQBy lcONHiGqJKXjiHa0KUbuqimiJ0vzdjaiVI64O5oARvJWcP7pR86DuZ7CEiNFvKtq9cJZ hxMmtW/0jIy00op9a4oK9eRXV8prhq5Psu6gMGGTNty3danac+oSESpA5+ODBmfaNAAg Ck7bi6FpuJiPNYW35cMWkRR7FdDd23D/SMRKwW03okDHcNkHp1zflqQDbhXDQVhdnZFQ mMRCqSh8VrFq42LOlnwo7zxScOXf/yv7+u9YqjETGW7s6lhFHNQV2BA5tZfv9eV0OhJq UUcQ== X-Gm-Message-State: AOAM532CQs+54UbQRQ7f4oR4BndpFe6bm1CSz3SVhgzXXgAgDPXtQmsm LO/xRM+oJXfpznYed3pinsQDtup/0C6AFUN4z3s= X-Google-Smtp-Source: ABdhPJxlrxFWJ1uH4w6BOY1fugaPfBLFs2slmCsH1utiMKigXAVV6bzviq0qukxiy7S7XN0ThzH7Pi3yiwSdrFEBD6E= X-Received: from ndesaulniers1.mtv.corp.google.com ([2620:15c:211:202:c959:2751:3fb4:47b1]) (user=ndesaulniers job=sendgmr) by 2002:a05:6214:204:: with SMTP id i4mr27848771qvt.47.1617055935550; Mon, 29 Mar 2021 15:12:15 -0700 (PDT) Date: Mon, 29 Mar 2021 15:12:06 -0700 Message-Id: <20210329221209.1718079-1-ndesaulniers@google.com> Mime-Version: 1.0 X-Mailer: git-send-email 2.31.0.291.g576ba9dcdaf-goog Subject: [PATCH v2] ARM: kprobes: test-thumb: fix for LLVM_IAS=1 From: Nick Desaulniers To: Russell King Cc: Ard Biesheuvel , Arnd Bergmann , David Spickett , Stephen Hines , Jian Cai , Nick Desaulniers , Nathan Chancellor , linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, clang-built-linux@googlegroups.com X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210329_231220_735961_D0D95D8E X-CRM114-Status: GOOD ( 12.74 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org There's a few instructions that GAS infers operands but Clang doesn't; from what I can tell the Arm ARM doesn't say these are optional. F5.1.257 TBB, TBH T1 Halfword variant F5.1.238 STREXD T1 variant F5.1.84 LDREXD T1 variant Link: https://github.com/ClangBuiltLinux/linux/issues/1309 Signed-off-by: Nick Desaulniers Reviewed-by: Jian Cai --- See: https://lore.kernel.org/linux-arm-kernel/CAMj1kXE5uw4+zV3JVpfA2drOD5TZVMs5a_E5wrrnzjEYc=E_fA@mail.gmail.com/ for what I'd consider V1. The previous issues with .w suffixes have been fixed or have fixes pending in LLVM: * BL+DBG: https://reviews.llvm.org/D97236 * ORN/ORNS: https://reviews.llvm.org/D99538 * RSB/RSBS: https://reviews.llvm.org/D99542 I'd have expected the Arm ARM to use curly braces to denote optional operands (see also "F5.1.167 RSB, RSBS (register)" for an example). arch/arm/probes/kprobes/test-thumb.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/arch/arm/probes/kprobes/test-thumb.c b/arch/arm/probes/kprobes/test-thumb.c index 456c181a7bfe..4e11f0b760f8 100644 --- a/arch/arm/probes/kprobes/test-thumb.c +++ b/arch/arm/probes/kprobes/test-thumb.c @@ -441,21 +441,21 @@ void kprobe_thumb32_test_cases(void) "3: mvn r0, r0 \n\t" "2: nop \n\t") - TEST_RX("tbh [pc, r",7, (9f-(1f+4))>>1,"]", + TEST_RX("tbh [pc, r",7, (9f-(1f+4))>>1,", lsl #1]", "9: \n\t" ".short (2f-1b-4)>>1 \n\t" ".short (3f-1b-4)>>1 \n\t" "3: mvn r0, r0 \n\t" "2: nop \n\t") - TEST_RX("tbh [pc, r",12, ((9f-(1f+4))>>1)+1,"]", + TEST_RX("tbh [pc, r",12, ((9f-(1f+4))>>1)+1,", lsl #1]", "9: \n\t" ".short (2f-1b-4)>>1 \n\t" ".short (3f-1b-4)>>1 \n\t" "3: mvn r0, r0 \n\t" "2: nop \n\t") - TEST_RRX("tbh [r",1,9f, ", r",14,1,"]", + TEST_RRX("tbh [r",1,9f, ", r",14,1,", lsl #1]", "9: \n\t" ".short (2f-1b-4)>>1 \n\t" ".short (3f-1b-4)>>1 \n\t" @@ -468,10 +468,10 @@ void kprobe_thumb32_test_cases(void) TEST_UNSUPPORTED("strexb r0, r1, [r2]") TEST_UNSUPPORTED("strexh r0, r1, [r2]") - TEST_UNSUPPORTED("strexd r0, r1, [r2]") + TEST_UNSUPPORTED("strexd r0, r1, r2, [r2]") TEST_UNSUPPORTED("ldrexb r0, [r1]") TEST_UNSUPPORTED("ldrexh r0, [r1]") - TEST_UNSUPPORTED("ldrexd r0, [r1]") + TEST_UNSUPPORTED("ldrexd r0, r1, [r1]") TEST_GROUP("Data-processing (shifted register) and (modified immediate)")