From patchwork Fri Apr 19 16:37:39 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alexandre Oliva X-Patchwork-Id: 88754 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 5CFB83847725 for ; Fri, 19 Apr 2024 16:38:43 +0000 (GMT) X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from mail-pl1-x636.google.com (mail-pl1-x636.google.com [IPv6:2607:f8b0:4864:20::636]) by sourceware.org (Postfix) with ESMTPS id 0C5A03849ACB for ; Fri, 19 Apr 2024 16:38:08 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 0C5A03849ACB Authentication-Results: sourceware.org; dmarc=pass (p=quarantine dis=none) header.from=adacore.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=adacore.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 0C5A03849ACB Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2607:f8b0:4864:20::636 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1713544690; cv=none; b=HKaAO0jdyN9Qk6v4pQEi+Sv9+A2dvka0xO5XJbE91I/bvzPvOgubLag4eCPtDxlqBJ80PaOv/5j5sxHl+8Mel8OBqNPjZkd+NKB1rBy9NcDxaBZokGlmdaAFOd5NFU9hpnPO/AtzX8I3aMI+/Mz3m0DrF0U1qOeGk9fxtUiMH8o= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1713544690; c=relaxed/simple; bh=Ka0uyV2AKp5H15pW+jUem/L3iuUMlJtzfVvDy+GLsD8=; h=DKIM-Signature:From:To:Subject:MIME-Version:Date:Message-ID; b=RCQvqrWVdXs3cAxOd/HvR+3kS3Q5frnWYyX0NiiVGEmZqNrep1VENjUhfYrI6/mWdH4gQ92SYxokIV8BknLEsAYQ9GxFAYDBrk6n7dMKKdEHW5sI4x9lmF+ygBxl9k5aZHRugSSHGHqspDFGueBI642hOSkVoSLTqCuYxvrTZE0= ARC-Authentication-Results: i=1; server2.sourceware.org Received: by mail-pl1-x636.google.com with SMTP id d9443c01a7336-1e4266673bbso20921815ad.2 for ; Fri, 19 Apr 2024 09:38:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=adacore.com; s=google; t=1713544687; x=1714149487; darn=gcc.gnu.org; h=user-agent:message-id:in-reply-to:date:references:organization :mime-version:subject:cc:to:from:from:to:cc:subject:date:message-id :reply-to; bh=jDfpGW2HrNU9a20+6K7VrfZ9A1KxdDossGmDXU7syCI=; b=LnpiixwerVNcqST0EhCG8tOfgegCBnDuBux/4OMJC8eP+U6c1c2L4OCyYMhpEEN6fp L7cl8EFS+ji0qO8AvNZc3Y4IJM5kZoPj7UIDPbFxyNjpuF1n2YkzDlw6wO+eiUDrisq/ zx1ifM/SVYHT6+D6hhxbOcLeBiRYHeUwVVq9I3zQX7pIpilyPPccJwOIn3un67SD4U7M Pfi745krJiedGnV5Wqoq4meWyaOpuJkWSZapJCAa0l3wJRiAUtaDa6vZuxCFO4Aq2VfT VFflgsS13shT0FbwKLS6UB8VhbD43wf8l5OplgOX53b+aeWAEAG5OMDtYfPTHNy09ra8 JEqw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1713544687; x=1714149487; h=user-agent:message-id:in-reply-to:date:references:organization :mime-version:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=jDfpGW2HrNU9a20+6K7VrfZ9A1KxdDossGmDXU7syCI=; b=ElhZKjer4hNEjdplvf5tJ3dBqMPhIyCRmNCXS8MhK0pg+psUEV8gXo1PvcDIFwtP4/ JBqYYgX3Re/ylHSfrFcaKeuGNQhfYNW6/IkExcksIMTq9vcmMd3xwqsOMaYnL0FiSKwH 7T6uY00YhoTWIUbquryCXMZ5A9PTC7K3oeL6CjKKRlgfkrRZnCfmhUI3fK3QE2IfPY9H PGekbdgV497TS3vM84ZmhAfs7tLlB8v23pwbAPK1kR0/hlD0sx/vZpWRGwPox454unw/ a+2PjP5iGhvhK/I4YldYuggp+flb7x5/3+SRxnxWL+E0SVq0wghm0PcUcp0U/MWYGuLv 1nCA== X-Gm-Message-State: AOJu0Yw03pMgs9rA4/0X0SLdza6F6MCgY11TnkVlG6xmd6tFYpFvviVg u872yItJm28nZcU3uAyoaOc3kYvZc+7H9C7TCcJ6JwZClNhvcfPgVJPRWPxlvQ== X-Google-Smtp-Source: AGHT+IFm3N18MzTrN8VOEGJ5HCK+wbjYJeH3SQCPxF6IAt1aHOG5atsSr8Zi2X3PAonyJz2uwLoEMw== X-Received: by 2002:a17:902:e752:b0:1e2:6d57:c1bb with SMTP id p18-20020a170902e75200b001e26d57c1bbmr3574375plf.21.1713544686663; Fri, 19 Apr 2024 09:38:06 -0700 (PDT) Received: from free.home ([2804:7f1:218b:5e2:c43b:e0c4:71a:241b]) by smtp.gmail.com with ESMTPSA id h17-20020a170902f55100b001e49428f327sm3571052plf.176.2024.04.19.09.38.05 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 19 Apr 2024 09:38:06 -0700 (PDT) Received: from livre (livre.home [172.31.160.2]) by free.home (8.15.2/8.15.2) with ESMTPS id 43JGbdP32553855 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Fri, 19 Apr 2024 13:37:40 -0300 From: Alexandre Oliva To: "Richard Earnshaw (lists)" Cc: gcc-patches@gcc.gnu.org, Rainer Orth , Mike Stump , Nick Clifton , Ramana Radhakrishnan Subject: [PATCH v2] [testsuite] [arm] add effective target and options for pacbti tests MIME-Version: 1.0 Organization: Free thinker, does not speak for AdaCore References: <13aceb3c-47b3-44f6-9ba0-2f8cfcd0d9ef@arm.com> Date: Fri, 19 Apr 2024 13:37:39 -0300 In-Reply-To: (Richard Earnshaw's message of "Fri, 19 Apr 2024 14:13:58 +0100") Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux) X-Scanned-By: MIMEDefang 2.84 X-Spam-Status: No, score=-12.0 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, KAM_SHORT, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP, WEIRD_QUOTING 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: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: gcc-patches-bounces+patchwork=sourceware.org@gcc.gnu.org Hello, Richard, Thanks, your response was very informative. Here's a revised patch. arm pac and bti tests that use -march=armv8.1-m.main get an implicit -mthumb, that is incompatible with vxworks kernel mode. Declaring the requirement for a 8.1-m.main-compatible toolchain is enough to avoid those fails, because the toolchain feature test fails in kernel mode, but taking the -march options from the standardized arch tests, after testing for support for the corresponding effective target, makes it generally safer, and enables us to drop skip directives and extraneous option variants. Tested all 6 modified testcases with an x86_64-linux-gnu-x-arm-eabi uberbaum build. Ok to install? for gcc/testsuite/ChangeLog * gcc.target/arm/bti-1.c: Require arch, use its opts, drop skip. * gcc.target/arm/bti-2.c: Likewise. * gcc.target/arm/acle/pacbti-m-predef-11.c: Likewise. * gcc.target/arm/acle/pacbti-m-predef-12.c: Likewise. * gcc.target/arm/acle/pacbti-m-predef-7.c: Likewise. * g++.target/arm/pac-1.C: Likewise. Drop +mve. --- gcc/testsuite/g++.target/arm/pac-1.C | 5 +++-- .../gcc.target/arm/acle/pacbti-m-predef-11.c | 4 ++-- .../gcc.target/arm/acle/pacbti-m-predef-12.c | 5 +++-- .../gcc.target/arm/acle/pacbti-m-predef-7.c | 5 +++-- gcc/testsuite/gcc.target/arm/bti-1.c | 5 +++-- gcc/testsuite/gcc.target/arm/bti-2.c | 5 +++-- 6 files changed, 17 insertions(+), 12 deletions(-) diff --git a/gcc/testsuite/g++.target/arm/pac-1.C b/gcc/testsuite/g++.target/arm/pac-1.C index f671a27b048c6..ac15ae18197ca 100644 --- a/gcc/testsuite/g++.target/arm/pac-1.C +++ b/gcc/testsuite/g++.target/arm/pac-1.C @@ -1,7 +1,8 @@ /* Check that GCC does .save and .cfi_offset directives with RA_AUTH_CODE pseudo hard-register. */ /* { dg-do compile } */ -/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-marm" "-mcpu=*" } } */ -/* { dg-options "-march=armv8.1-m.main+mve+pacbti -mbranch-protection=pac-ret -mthumb -mfloat-abi=hard -g -O0" } */ +/* { dg-require-effective-target arm_arch_v8_1m_main_pacbti_ok } */ +/* { dg-add-options arm_arch_v8_1m_main_pacbti } */ +/* { dg-additional-options "-mbranch-protection=pac-ret -mfloat-abi=hard -g -O0" } */ __attribute__((noinline)) void fn1 (int a, int b, int c) diff --git a/gcc/testsuite/gcc.target/arm/acle/pacbti-m-predef-11.c b/gcc/testsuite/gcc.target/arm/acle/pacbti-m-predef-11.c index 6a5ae92c567f3..c9c40f44027d4 100644 --- a/gcc/testsuite/gcc.target/arm/acle/pacbti-m-predef-11.c +++ b/gcc/testsuite/gcc.target/arm/acle/pacbti-m-predef-11.c @@ -1,6 +1,6 @@ /* { dg-do compile } */ -/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-marm" "-mcpu=*" "-mfloat-abi=*" } } */ -/* { dg-options "-march=armv8.1-m.main+fp+pacbti" } */ +/* { dg-require-effective-target arm_arch_v8_1m_main_pacbti_ok } */ +/* { dg-add-options arm_arch_v8_1m_main_pacbti } */ #if (__ARM_FEATURE_BTI != 1) #error "Feature test macro __ARM_FEATURE_BTI_DEFAULT should be defined to 1." diff --git a/gcc/testsuite/gcc.target/arm/acle/pacbti-m-predef-12.c b/gcc/testsuite/gcc.target/arm/acle/pacbti-m-predef-12.c index db40b17c3b030..c26051347a2cc 100644 --- a/gcc/testsuite/gcc.target/arm/acle/pacbti-m-predef-12.c +++ b/gcc/testsuite/gcc.target/arm/acle/pacbti-m-predef-12.c @@ -1,6 +1,7 @@ /* { dg-do compile } */ -/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-marm" "-mcpu=*" } } */ -/* { dg-options "-march=armv8-m.main+fp -mfloat-abi=softfp" } */ +/* { dg-require-effective-target arm_arch_v8_1m_main_ok } */ +/* { dg-add-options arm_arch_v8_1m_main } */ +/* { dg-additional-options "-mfloat-abi=softfp" } */ #if defined (__ARM_FEATURE_BTI) #error "Feature test macro __ARM_FEATURE_BTI should not be defined." diff --git a/gcc/testsuite/gcc.target/arm/acle/pacbti-m-predef-7.c b/gcc/testsuite/gcc.target/arm/acle/pacbti-m-predef-7.c index 1b25907635e24..92f500c1449b3 100644 --- a/gcc/testsuite/gcc.target/arm/acle/pacbti-m-predef-7.c +++ b/gcc/testsuite/gcc.target/arm/acle/pacbti-m-predef-7.c @@ -1,6 +1,7 @@ /* { dg-do compile } */ -/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-marm" "-mcpu=*" } } */ -/* { dg-additional-options "-march=armv8.1-m.main+pacbti+fp --save-temps -mfloat-abi=hard" } */ +/* { dg-require-effective-target arm_arch_v8_1m_main_pacbti_ok } */ +/* { dg-add-options arm_arch_v8_1m_main_pacbti } */ +/* { dg-additional-options "--save-temps -mfloat-abi=hard" } */ #if defined (__ARM_FEATURE_BTI_DEFAULT) #error "Feature test macro __ARM_FEATURE_BTI_DEFAULT should be undefined." diff --git a/gcc/testsuite/gcc.target/arm/bti-1.c b/gcc/testsuite/gcc.target/arm/bti-1.c index 79dd8010d2dab..a34bb0842b632 100644 --- a/gcc/testsuite/gcc.target/arm/bti-1.c +++ b/gcc/testsuite/gcc.target/arm/bti-1.c @@ -1,7 +1,8 @@ /* Check that GCC does bti instruction. */ /* { dg-do compile } */ -/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-marm" "-mcpu=*" } } */ -/* { dg-options "-march=armv8.1-m.main -mthumb -mfloat-abi=softfp -mbranch-protection=bti --save-temps" } */ +/* { dg-require-effective-target arm_arch_v8_1m_main_ok } */ +/* { dg-add-options arm_arch_v8_1m_main } */ +/* { dg-additional-options "-mfloat-abi=softfp -mbranch-protection=bti --save-temps" } */ int main (void) diff --git a/gcc/testsuite/gcc.target/arm/bti-2.c b/gcc/testsuite/gcc.target/arm/bti-2.c index 33910563849a4..e5bc4d5543a8d 100644 --- a/gcc/testsuite/gcc.target/arm/bti-2.c +++ b/gcc/testsuite/gcc.target/arm/bti-2.c @@ -1,8 +1,9 @@ /* { dg-do compile } */ /* -Os to create jump table. */ /* { dg-options "-Os" } */ -/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-marm" "-mcpu=*" } } */ -/* { dg-options "-march=armv8.1-m.main -mthumb -mfloat-abi=softfp -mbranch-protection=bti --save-temps" } */ +/* { dg-require-effective-target arm_arch_v8_1m_main_ok } */ +/* { dg-add-options arm_arch_v8_1m_main } */ +/* { dg-additional-options "-mfloat-abi=softfp -mbranch-protection=bti --save-temps" } */ extern int f1 (void); extern int f2 (void);