From patchwork Fri Oct 31 01:38:21 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Wang Deqiang X-Patchwork-Id: 39857 Return-Path: X-Original-To: linaro@patches.linaro.org Delivered-To: linaro@patches.linaro.org Received: from mail-ee0-f69.google.com (mail-ee0-f69.google.com [74.125.83.69]) by ip-10-151-82-157.ec2.internal (Postfix) with ESMTPS id 5CA66202FE for ; Fri, 31 Oct 2014 01:38:46 +0000 (UTC) Received: by mail-ee0-f69.google.com with SMTP id c41sf162734eek.4 for ; Thu, 30 Oct 2014 18:38:45 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:delivered-to:mailing-list:precedence:list-id :list-unsubscribe:list-archive:list-post:list-help:sender :delivered-to:mime-version:in-reply-to:references:date:message-id :subject:from:to:x-original-sender:x-original-authentication-results :content-type; bh=wqVC7TdJj5U0FV+JvDeTcgPWE8HfEfBW9HKgQmsBf6g=; b=buDUs4F/9Ksiz6AhYp2DxnIi6EZLdVZ4Gh4uZQ5R/ZvObSBe8rLo3eq1ONg0Ae4Y3N JJa/+rLDKKIU+noDUKck1n9BARucBzP87MXw6k/UEc/1wck9i83G2ywbC94Xx84LRggq hj33Z2DRiegH3fXzx+8alaKZ+8xhgPz/I/AtwRx1UsftNyKG1K0zEmQJD/IfaDwiBOa0 7W2bfHfaiYxzSM8DONiYBMCm+YvrxozIBOx/+qHDfzzNn2tf3Q5DAvlTxf2LV/Aro1jK 1VHOZCl4HlPNWz7VhRToP0vLq7O6ZMJhy3ldSQlm/cTos/R6q416Sj+LHXyYXhG0eUqo gTcA== X-Gm-Message-State: ALoCoQnb1tMjsnw9rHZ5EYz4A9L6u7PxYZrIpDeibhF6q9hpkbRks31FGNrSMesDDzbBdtKS3QHr X-Received: by 10.112.142.36 with SMTP id rt4mr3453052lbb.3.1414719525548; Thu, 30 Oct 2014 18:38:45 -0700 (PDT) X-BeenThere: patchwork-forward@linaro.org Received: by 10.152.8.52 with SMTP id o20ls436001laa.3.gmail; Thu, 30 Oct 2014 18:38:45 -0700 (PDT) X-Received: by 10.152.28.227 with SMTP id e3mr23054726lah.54.1414719525042; Thu, 30 Oct 2014 18:38:45 -0700 (PDT) Received: from mail-lb0-x22e.google.com (mail-lb0-x22e.google.com. [2a00:1450:4010:c04::22e]) by mx.google.com with ESMTPS id ui10si14459610lbb.62.2014.10.30.18.38.44 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Thu, 30 Oct 2014 18:38:44 -0700 (PDT) Received-SPF: pass (google.com: domain of patch+caf_=patchwork-forward=linaro.org@linaro.org designates 2a00:1450:4010:c04::22e as permitted sender) client-ip=2a00:1450:4010:c04::22e; Received: by mail-lb0-f174.google.com with SMTP id z11so3387191lbi.33 for ; Thu, 30 Oct 2014 18:38:44 -0700 (PDT) X-Received: by 10.112.85.106 with SMTP id g10mr22521604lbz.38.1414719524841; Thu, 30 Oct 2014 18:38:44 -0700 (PDT) X-Forwarded-To: patchwork-forward@linaro.org X-Forwarded-For: patch@linaro.org patchwork-forward@linaro.org Delivered-To: patch@linaro.org Received: by 10.112.84.229 with SMTP id c5csp133790lbz; Thu, 30 Oct 2014 18:38:44 -0700 (PDT) X-Received: by 10.70.93.38 with SMTP id cr6mr4044475pdb.135.1414719523163; Thu, 30 Oct 2014 18:38:43 -0700 (PDT) Received: from sourceware.org (server1.sourceware.org. [209.132.180.131]) by mx.google.com with ESMTPS id xl11si7955276pac.158.2014.10.30.18.38.42 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 30 Oct 2014 18:38:43 -0700 (PDT) Received-SPF: pass (google.com: domain of gcc-patches-return-382472-patch=linaro.org@gcc.gnu.org designates 209.132.180.131 as permitted sender) client-ip=209.132.180.131; Received: (qmail 22552 invoked by alias); 31 Oct 2014 01:38:29 -0000 Mailing-List: list patchwork-forward@linaro.org; contact patchwork-forward+owners@linaro.org Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: , List-Help: , Sender: gcc-patches-owner@gcc.gnu.org Delivered-To: mailing list gcc-patches@gcc.gnu.org Received: (qmail 22530 invoked by uid 89); 31 Oct 2014 01:38:26 -0000 X-Virus-Found: No X-Spam-SWARE-Status: No, score=-0.9 required=5.0 tests=AWL, BAYES_00, RCVD_IN_DNSWL_LOW, SPF_PASS autolearn=ham version=3.3.2 X-HELO: mail-wg0-f44.google.com Received: from mail-wg0-f44.google.com (HELO mail-wg0-f44.google.com) (74.125.82.44) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES128-SHA encrypted) ESMTPS; Fri, 31 Oct 2014 01:38:24 +0000 Received: by mail-wg0-f44.google.com with SMTP id x12so4939490wgg.17 for ; Thu, 30 Oct 2014 18:38:21 -0700 (PDT) MIME-Version: 1.0 X-Received: by 10.180.211.206 with SMTP id ne14mr395371wic.79.1414719501510; Thu, 30 Oct 2014 18:38:21 -0700 (PDT) Received: by 10.194.189.138 with HTTP; Thu, 30 Oct 2014 18:38:21 -0700 (PDT) In-Reply-To: References: Date: Fri, 31 Oct 2014 01:38:21 +0000 Message-ID: Subject: Fwd: [testsuite patch] avoid test when compile options is conflict with default mthumb From: Wang Deqiang To: gcc-patches@gcc.gnu.org X-Original-Sender: wang.deqiang@linaro.org X-Original-Authentication-Results: mx.google.com; spf=pass (google.com: domain of patch+caf_=patchwork-forward=linaro.org@linaro.org designates 2a00:1450:4010:c04::22e as permitted sender) smtp.mail=patch+caf_=patchwork-forward=linaro.org@linaro.org; dkim=pass header.i=@gcc.gnu.org X-Google-Group-Id: 836684582541 This is a ping for https://gcc.gnu.org/ml/gcc-patches/2014-10/msg01049.html ---------- Original message ---------- From: Wang Deqiang Date: 11 October 2014 11:27 Subject: [testsuite patch] avoid test when compile options is conflict with default mthumb To: gcc-patches@gcc.gnu.org When testing arm-linux-gnueabihf triple with configure options --with-mode=thumb(that makes -mthumb option default). some testcase is failed with error message "sorry, unimplemented: Thumb-1 hard-float VFP ABI". I found gcc compiler show this error message when : 1. -mthumb is used with -march=armv6 (or armv5e) and -mcpu=xscale 2. the test source have function body. And when -mthumb is the default option of compiler, the dg-skip-if functions can not detect it, There is no xscale check function in target-supports.exp in. so we need to add it . And there are only macros in the test program in check_effective_target_arm* function . no function body, we need to add it too. Here is my patch: 2014-10-08 Wangdeqiang * lib/target-supports.exp (check_effective_target_arm_ xscale_ok): New function. (check_effective_target_arm_arch_FUNC_ok): Add test function body. * gcc.target/arm/pr40887.c (dg-require-effective-target): add arm_arch_v5te_ok check * gcc.target/arm/scd42-1.c (dg-require-effective-target): add arm_xscale_ok check * gcc.target/arm/scd42-2.c : Likewise * gcc.target/arm/scd42-3.c : Likewise * gcc.target/arm/g2.c : Likewise * gcc.target/arm/xor-and.c (dg-require-effective-target): add arm_arch_v6_ok check Index: gcc/testsuite/gcc.target/arm/pr40887.c =================================================================== --- gcc/testsuite/gcc.target/arm/pr40887.c (revision 216115) +++ gcc/testsuite/gcc.target/arm/pr40887.c (working copy) @@ -1,6 +1,7 @@ /* { dg-skip-if "need at least armv5" { *-*-* } { "-march=armv[234]*" } { "" } } */ /* { dg-options "-O2 -march=armv5te" } */ /* { dg-final { scan-assembler "blx" } } */ +/* { dg-require-effective-target arm_arch_v5te_ok } */ int (*indirect_func)(int x); Index: gcc/testsuite/gcc.target/arm/scd42-2.c =================================================================== --- gcc/testsuite/gcc.target/arm/scd42-2.c (revision 216115) +++ gcc/testsuite/gcc.target/arm/scd42-2.c (working copy) @@ -5,6 +5,7 @@ /* { dg-skip-if "Test is specific to the Xscale" { arm*-*-* } { "-mcpu=*" } { "-mcpu=xscale" } } */ /* { dg-skip-if "Test is specific to ARM mode" { arm*-*-* } { "-mthumb" } { "" } } */ /* { dg-require-effective-target arm32 } */ +/* { dg-require-effective-target arm_xscale_ok } */ unsigned load2(void) __attribute__ ((naked)); unsigned load2(void) Index: gcc/testsuite/gcc.target/arm/scd42-3.c =================================================================== --- gcc/testsuite/gcc.target/arm/scd42-3.c (revision 216115) +++ gcc/testsuite/gcc.target/arm/scd42-3.c (working copy) @@ -3,6 +3,7 @@ /* { dg-skip-if "Test is specific to Xscale" { arm*-*-* } { "-march=*" } { "-march=xscale" } } */ /* { dg-skip-if "Test is specific to Xscale" { arm*-*-* } { "-mcpu=*" } { "-mcpu=xscale" } } */ /* { dg-options "-mcpu=xscale -O" } */ +/* { dg-require-effective-target arm_xscale_ok } */ unsigned load4(void) __attribute__ ((naked)); unsigned load4(void) Index: gcc/testsuite/gcc.target/arm/g2.c =================================================================== --- gcc/testsuite/gcc.target/arm/g2.c (revision 216115) +++ gcc/testsuite/gcc.target/arm/g2.c (working copy) @@ -5,6 +5,7 @@ /* { dg-skip-if "Test is specific to the Xscale" { arm*-*-* } { "-mcpu=*" } { "-mcpu=xscale" } } */ /* { dg-skip-if "Test is specific to ARM mode" { arm*-*-* } { "-mthumb" } { "" } } */ /* { dg-require-effective-target arm32 } */ +/* { dg-require-effective-target arm_xscale_ok } */ /* Brett Gaines' test case. */ unsigned BCPL(unsigned) __attribute__ ((naked)); Index: gcc/testsuite/gcc.target/arm/xor-and.c =================================================================== --- gcc/testsuite/gcc.target/arm/xor-and.c (revision 216115) +++ gcc/testsuite/gcc.target/arm/xor-and.c (working copy) @@ -1,6 +1,7 @@ /* { dg-do compile } */ /* { dg-options "-O -march=armv6" } */ /* { dg-prune-output "switch .* conflicts with" } */ +/* { dg-require-effective-target arm_arch_v6_ok } */ unsigned short foo (unsigned short x) { Index: gcc/testsuite/gcc.target/arm/scd42-1.c =================================================================== --- gcc/testsuite/gcc.target/arm/scd42-1.c (revision 216115) +++ gcc/testsuite/gcc.target/arm/scd42-1.c (working copy) @@ -2,6 +2,7 @@ /* { dg-do compile } */ /* { dg-skip-if "incompatible options" { arm*-*-* } { "-march=*" } { "" } } */ /* { dg-options "-mcpu=xscale -O" } */ +/* { dg-require-effective-target arm_xscale_ok } */ unsigned load1(void) __attribute__ ((naked)); unsigned load1(void) Index: gcc/testsuite/lib/target-supports.exp =================================================================== --- gcc/testsuite/lib/target-supports.exp (revision 216115) +++ gcc/testsuite/lib/target-supports.exp (working copy) @@ -2721,6 +2721,11 @@ foreach { armfunc armflag armdef } { v4 #if !defined (DEF) #error !DEF #endif + int + main (void) + { + return 0; + } } "FLAG" ] } @@ -2948,6 +2953,23 @@ proc check_effective_target_arm_hf_eabi }] } +# Return 1 if this is an ARM target supporting -mcpu=xscale. +# Some multilibs may be incompatible with this option. +proc check_effective_target_arm_xscale_ok { } { + if { [check_effective_target_arm32] } { + return [check_no_compiler_messages arm_xscale_ok object { + int dummy; + int + main (void) + { + return 0; + } + } "-mcpu=xscale"] + } else { + return 0 + } +} + # Return 1 if this is an ARM target supporting -mcpu=iwmmxt. # Some multilibs may be incompatible with this option.