From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 61A7B847C for ; Thu, 12 Jan 2023 19:52:27 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 47950C4339C; Thu, 12 Jan 2023 19:52:25 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1673553147; bh=QmqB4tlR6U8BFzd9JJsRGVi0Xek+w56l/71nPQDypns=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=KIs0ci0945zkDLMc7Y6BAH0Ni/LilgpVNeItZVTHSuduQ7WOU1VP06/ejmjckdMQM G6YZ8jDGWqdOTG1VUqCEOJMyJKhSHcWWK44Vi5sfT9xdz7kylarWRYDC5NCWrEwhn0 2XkBFe4HfWOXct/y/5sGlG/3tPG0MDzC60zjXA3xK7Xg8NQustBSYW7BJLtsRScLsa C/HP7kQBZQIUxdMQJ03bIhN5mVttu3e7Xl6n/sogpBfnxoCuTwRDZyKHWLyy1gk49u xyTDf/a1cg8mh7E6Q4QldVQ3OeGlEpAZSqpIayrO1uk7+6Fj7nmej6R8k8256NEzFj ATHMB9OwPM8aw== From: Mark Brown Date: Thu, 12 Jan 2023 19:51:51 +0000 Subject: [PATCH 5/6] kselftest/arm64: Support build of MTE tests with clang Precedence: bulk X-Mailing-List: llvm@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Message-Id: <20230111-arm64-kselftest-clang-v1-5-89c69d377727@kernel.org> References: <20230111-arm64-kselftest-clang-v1-0-89c69d377727@kernel.org> In-Reply-To: <20230111-arm64-kselftest-clang-v1-0-89c69d377727@kernel.org> To: Catalin Marinas , Will Deacon , Shuah Khan , Nathan Chancellor , Nick Desaulniers , Tom Rix Cc: linux-arm-kernel@lists.infradead.org, linux-kselftest@vger.kernel.org, llvm@lists.linux.dev, Mark Brown X-Mailer: b4 0.12-dev-8b3d1 X-Developer-Signature: v=1; a=openpgp-sha256; l=1910; i=broonie@kernel.org; h=from:subject:message-id; bh=QmqB4tlR6U8BFzd9JJsRGVi0Xek+w56l/71nPQDypns=; b=owEBbQGS/pANAwAKASTWi3JdVIfQAcsmYgBjwGTr/dveUlthPKb/Jm4BV50ZdjQ/TD3DOUtj2slE oMqCu46JATMEAAEKAB0WIQSt5miqZ1cYtZ/in+ok1otyXVSH0AUCY8Bk6wAKCRAk1otyXVSH0HCQB/ 9LqXrVxyKEjXgtmcxf4ooUM7a26O3dIUTegMwxRUwnw0rLT6g/LlcZbYkpn8Ay1bW+jEYHFwE5muhd 5N5SNPCvyA3cs/Swv20RuvXlTnBDaDw0TvGoH/bSvJEWeUOSrwLbdydIs8/5i5p7kX2+6yZQNhVvji FgxBkBj5qPcjDLXpMrSWMKQQ+NqWqX0fojOETQwmYnfYUetWSRBt1KPufCuwx6Hjom5jOSRxvnx1F0 a369jjQ81c7RQUq0rzsSpjHglsYLbMWbbZXrYD9F7NiGAsZxSYvfEiv8PD381z6AM+e/d2pMdnqZHn qbbmYvAXdzHJ73eOc9vhkiGvs+wt2d X-Developer-Key: i=broonie@kernel.org; a=openpgp; fpr=3F2568AAC26998F9E813A1C5C3F436CA30F5D8EB The assembly portions of the MTE selftests need to be built with a toolchain supporting MTE. Since we support GCC versions that lack MTE support we have logic to suppress build of these tests when using such a toolchain but that logic is broken for LLVM=1 builds, it uses CC but CC is only set for LLVM builds in libs.mk which needs to be included after we have selected which test programs to build. Since all supported LLVM versions support MTE we can simply assume MTE support when LLVM is set. This is not a thing of beauty but it does the job. Signed-off-by: Mark Brown --- tools/testing/selftests/arm64/mte/Makefile | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/tools/testing/selftests/arm64/mte/Makefile b/tools/testing/selftests/arm64/mte/Makefile index 037046f5784e..fdb9acdca42b 100644 --- a/tools/testing/selftests/arm64/mte/Makefile +++ b/tools/testing/selftests/arm64/mte/Makefile @@ -1,19 +1,29 @@ # SPDX-License-Identifier: GPL-2.0 # Copyright (C) 2020 ARM Limited -# preserve CC value from top level Makefile -ifeq ($(CC),cc) -CC := $(CROSS_COMPILE)gcc -endif - CFLAGS += -std=gnu99 -I. -pthread LDFLAGS += -pthread SRCS := $(filter-out mte_common_util.c,$(wildcard *.c)) PROGS := $(patsubst %.c,%,$(SRCS)) +ifeq ($(LLVM),) +# For GCC check that the toolchain has MTE support. + +# preserve CC value from top level Makefile +ifeq ($(CC),cc) +CC := $(CROSS_COMPILE)gcc +endif + #check if the compiler works well mte_cc_support := $(shell if ($(CC) $(CFLAGS) -march=armv8.5-a+memtag -E -x c /dev/null -o /dev/null 2>&1) then echo "1"; fi) +else + +# All supported clang versions also support MTE. +mte_cc_support := 1 + +endif + ifeq ($(mte_cc_support),1) # Generated binaries to be installed by top KSFT script TEST_GEN_PROGS := $(PROGS) -- 2.30.2 From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 4DB84C61DB3 for ; Thu, 12 Jan 2023 20:24:32 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:Cc:To:In-Reply-To:References:Message-Id :MIME-Version:Subject:Date:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=bL9eSPFYW0z5eyXyE4kl3K4f6RbZjXrX3wtKBcsOZ0o=; b=hbwTGdL9UzZeMA 199r9P1qZpHt3wWpU6aFi7Ik9YFMXnJpWN/JR8etJok0honNtsuCB10LBZbWqoSbzS2G62Xi8PeUr EaaoEplrXZ7cf4Hu+jfBOzuK0730Dwg9KAxptDlyvdcr/zR5sattWKQEXnb5xrEWYR2rzTpgXD38q tGW4zitJtDXH8Y8wXn0ajxSOf7EEETtZ/bb6OQXi/5RZ8fCMGK745M9e8sOgzzZEtxMxDaXyNsqC2 87n/TjKRBK+YZP7rOMavZ8VdvsP+Qh7ZPGwoQsM1HmaRsHVYAcHd4oT9B0gugDl4HLhv+6zkiM+8i 0CUri5eNziPqGzRyWpUQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1pG46a-00GsCA-QI; Thu, 12 Jan 2023 20:23:21 +0000 Received: from dfw.source.kernel.org ([139.178.84.217]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1pG3ci-00GepS-MS for linux-arm-kernel@lists.infradead.org; Thu, 12 Jan 2023 19:52:30 +0000 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id C73976217C; Thu, 12 Jan 2023 19:52:27 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 47950C4339C; Thu, 12 Jan 2023 19:52:25 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1673553147; bh=QmqB4tlR6U8BFzd9JJsRGVi0Xek+w56l/71nPQDypns=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=KIs0ci0945zkDLMc7Y6BAH0Ni/LilgpVNeItZVTHSuduQ7WOU1VP06/ejmjckdMQM G6YZ8jDGWqdOTG1VUqCEOJMyJKhSHcWWK44Vi5sfT9xdz7kylarWRYDC5NCWrEwhn0 2XkBFe4HfWOXct/y/5sGlG/3tPG0MDzC60zjXA3xK7Xg8NQustBSYW7BJLtsRScLsa C/HP7kQBZQIUxdMQJ03bIhN5mVttu3e7Xl6n/sogpBfnxoCuTwRDZyKHWLyy1gk49u xyTDf/a1cg8mh7E6Q4QldVQ3OeGlEpAZSqpIayrO1uk7+6Fj7nmej6R8k8256NEzFj ATHMB9OwPM8aw== From: Mark Brown Date: Thu, 12 Jan 2023 19:51:51 +0000 Subject: [PATCH 5/6] kselftest/arm64: Support build of MTE tests with clang MIME-Version: 1.0 Message-Id: <20230111-arm64-kselftest-clang-v1-5-89c69d377727@kernel.org> References: <20230111-arm64-kselftest-clang-v1-0-89c69d377727@kernel.org> In-Reply-To: <20230111-arm64-kselftest-clang-v1-0-89c69d377727@kernel.org> To: Catalin Marinas , Will Deacon , Shuah Khan , Nathan Chancellor , Nick Desaulniers , Tom Rix Cc: linux-arm-kernel@lists.infradead.org, linux-kselftest@vger.kernel.org, llvm@lists.linux.dev, Mark Brown X-Mailer: b4 0.12-dev-8b3d1 X-Developer-Signature: v=1; a=openpgp-sha256; l=1910; i=broonie@kernel.org; h=from:subject:message-id; bh=QmqB4tlR6U8BFzd9JJsRGVi0Xek+w56l/71nPQDypns=; b=owEBbQGS/pANAwAKASTWi3JdVIfQAcsmYgBjwGTr/dveUlthPKb/Jm4BV50ZdjQ/TD3DOUtj2slE oMqCu46JATMEAAEKAB0WIQSt5miqZ1cYtZ/in+ok1otyXVSH0AUCY8Bk6wAKCRAk1otyXVSH0HCQB/ 9LqXrVxyKEjXgtmcxf4ooUM7a26O3dIUTegMwxRUwnw0rLT6g/LlcZbYkpn8Ay1bW+jEYHFwE5muhd 5N5SNPCvyA3cs/Swv20RuvXlTnBDaDw0TvGoH/bSvJEWeUOSrwLbdydIs8/5i5p7kX2+6yZQNhVvji FgxBkBj5qPcjDLXpMrSWMKQQ+NqWqX0fojOETQwmYnfYUetWSRBt1KPufCuwx6Hjom5jOSRxvnx1F0 a369jjQ81c7RQUq0rzsSpjHglsYLbMWbbZXrYD9F7NiGAsZxSYvfEiv8PD381z6AM+e/d2pMdnqZHn qbbmYvAXdzHJ73eOc9vhkiGvs+wt2d X-Developer-Key: i=broonie@kernel.org; a=openpgp; fpr=3F2568AAC26998F9E813A1C5C3F436CA30F5D8EB X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230112_115228_894195_C84988C3 X-CRM114-Status: GOOD ( 14.78 ) 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: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org The assembly portions of the MTE selftests need to be built with a toolchain supporting MTE. Since we support GCC versions that lack MTE support we have logic to suppress build of these tests when using such a toolchain but that logic is broken for LLVM=1 builds, it uses CC but CC is only set for LLVM builds in libs.mk which needs to be included after we have selected which test programs to build. Since all supported LLVM versions support MTE we can simply assume MTE support when LLVM is set. This is not a thing of beauty but it does the job. Signed-off-by: Mark Brown --- tools/testing/selftests/arm64/mte/Makefile | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/tools/testing/selftests/arm64/mte/Makefile b/tools/testing/selftests/arm64/mte/Makefile index 037046f5784e..fdb9acdca42b 100644 --- a/tools/testing/selftests/arm64/mte/Makefile +++ b/tools/testing/selftests/arm64/mte/Makefile @@ -1,19 +1,29 @@ # SPDX-License-Identifier: GPL-2.0 # Copyright (C) 2020 ARM Limited -# preserve CC value from top level Makefile -ifeq ($(CC),cc) -CC := $(CROSS_COMPILE)gcc -endif - CFLAGS += -std=gnu99 -I. -pthread LDFLAGS += -pthread SRCS := $(filter-out mte_common_util.c,$(wildcard *.c)) PROGS := $(patsubst %.c,%,$(SRCS)) +ifeq ($(LLVM),) +# For GCC check that the toolchain has MTE support. + +# preserve CC value from top level Makefile +ifeq ($(CC),cc) +CC := $(CROSS_COMPILE)gcc +endif + #check if the compiler works well mte_cc_support := $(shell if ($(CC) $(CFLAGS) -march=armv8.5-a+memtag -E -x c /dev/null -o /dev/null 2>&1) then echo "1"; fi) +else + +# All supported clang versions also support MTE. +mte_cc_support := 1 + +endif + ifeq ($(mte_cc_support),1) # Generated binaries to be installed by top KSFT script TEST_GEN_PROGS := $(PROGS) -- 2.30.2 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel