From patchwork Thu Jun 25 18:00:49 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Arnez X-Patchwork-Id: 7350 Received: (qmail 16158 invoked by alias); 25 Jun 2015 18:00:59 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Delivered-To: mailing list gdb-patches@sourceware.org Received: (qmail 16135 invoked by uid 89); 25 Jun 2015 18:00:58 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.4 required=5.0 tests=AWL, BAYES_00, KAM_LAZY_DOMAIN_SECURITY, RP_MATCHES_RCVD autolearn=ham version=3.3.2 X-HELO: e06smtp12.uk.ibm.com Received: from e06smtp12.uk.ibm.com (HELO e06smtp12.uk.ibm.com) (195.75.94.108) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (CAMELLIA256-SHA encrypted) ESMTPS; Thu, 25 Jun 2015 18:00:57 +0000 Received: from /spool/local by e06smtp12.uk.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Thu, 25 Jun 2015 19:00:53 +0100 Received: from d06dlp01.portsmouth.uk.ibm.com (9.149.20.13) by e06smtp12.uk.ibm.com (192.168.101.142) with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted; Thu, 25 Jun 2015 19:00:51 +0100 X-MailFrom: arnez@linux.vnet.ibm.com X-RcptTo: gdb-patches@sourceware.org Received: from b06cxnps3075.portsmouth.uk.ibm.com (d06relay10.portsmouth.uk.ibm.com [9.149.109.195]) by d06dlp01.portsmouth.uk.ibm.com (Postfix) with ESMTP id 1A6D717D8059 for ; Thu, 25 Jun 2015 19:02:00 +0100 (BST) Received: from d06av11.portsmouth.uk.ibm.com (d06av11.portsmouth.uk.ibm.com [9.149.37.252]) by b06cxnps3075.portsmouth.uk.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id t5PI0pnI37748790 for ; Thu, 25 Jun 2015 18:00:51 GMT Received: from d06av11.portsmouth.uk.ibm.com (localhost [127.0.0.1]) by d06av11.portsmouth.uk.ibm.com (8.14.4/8.14.4/NCO v10.0 AVout) with ESMTP id t5PI0ouD004663 for ; Thu, 25 Jun 2015 12:00:50 -0600 Received: from br87z6lw.de.ibm.com (dyn-9-152-212-115.boeblingen.de.ibm.com [9.152.212.115]) by d06av11.portsmouth.uk.ibm.com (8.14.4/8.14.4/NCO v10.0 AVin) with ESMTP id t5PI0nlC004651 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA256 bits=256 verify=NO); Thu, 25 Jun 2015 12:00:50 -0600 From: Andreas Arnez To: Doug Evans Cc: Yao Qi , Joel Brobecker , gdb-patches Subject: Re: Several regressions and we branch soon. References: <86r3p1queo.fsf@gmail.com> <87lhf8yz90.fsf@br87z6lw.de.ibm.com> Date: Thu, 25 Jun 2015 20:00:49 +0200 In-Reply-To: (Doug Evans's message of "Thu, 25 Jun 2015 08:34:14 -0500") Message-ID: <87a8vnzmzy.fsf@br87z6lw.de.ibm.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux) MIME-Version: 1.0 X-TM-AS-MML: disable X-Content-Scanned: Fidelis XPS MAILER x-cbid: 15062518-0009-0000-0000-000004A17BF8 X-IsSubscribed: yes On Thu, Jun 25 2015, Doug Evans wrote: > On Thu, Jun 25, 2015 at 3:21 AM, Andreas Arnez wrote: >> On Wed, Jun 24 2015, Yao Qi wrote: >> >>> Doug Evans writes: >>> >>>> FAIL: gdb.base/gnu_vector.exp: call add_singlevecs >>> >>> I see this fail too, >>> print add_singlevecs((char1) {6}, (int1) {12}, (double1) {24})^M >>> ^M >>> Program received signal SIGSEGV, Segmentation fault.^M >>> 0x00000000004008ec in add_singlevecs (a=..., b=..., c=...) at ../../../../../binutils-gdb/gdb/testsuite/gdb.base/gnu_vector.c:132^M >>> 132 return (double1) {a[0] + b[0] + c[0]};^M >>> The program being debugged was signaled while in a function called from GDB.^M >>> GDB remains in the frame where the signal was received.^M >>> To change this behavior use "set unwindonsignal on".^M >>> Evaluation of the expression containing the function^M >>> (add_singlevecs) will be abandoned.^M >>> When the function is done executing, GDB will silently stop.^M >>> (gdb) FAIL: gdb.base/gnu_vector.exp: call add_singlevecs >> >> This is not a regression in GDB, but a new test uncovering GDB's missing >> vector ABI support on x86_64. So for the branch I suggest to suppress >> these new FAILs with gnu_vector.exp -- either in the test case or in the >> test harness. > > Any reason to not mark them as K/XFAILs in the master branch? > We should avoid adding new tests the we know are going to FAIL (*1). > And indeed I see discussion in the submission about that. > https://sourceware.org/ml/gdb-patches/2015-05/msg00319.html > So we're good there. Right, this was considered in the patch. But only what I've actually seen fail in my testing is marked as KFAIL. Since more FAILs are observed now, maybe we could mark them as KFAIL as well. Or skip them altogether, like in the patch below. WDYT? > The question remains though: why are these failing? Good question. Apparently there are various problems with inferior function calls on x86_64 when vector arguments and/or vector return values are involved. I haven't analyzed this, and I'd rather leave that to the x86_64 maintainers. -- >8 -- Subject: [PATCH] gnu_vector.exp: Skip tests known to crash inferior on x86(_64) From: Andreas Arnez diff --git a/gdb/testsuite/gdb.base/gnu_vector.exp b/gdb/testsuite/gdb.base/gnu_vector.exp index cf91fbb..885e2f2 100644 --- a/gdb/testsuite/gdb.base/gnu_vector.exp +++ b/gdb/testsuite/gdb.base/gnu_vector.exp @@ -189,13 +189,18 @@ gdb_test "print add_various_floatvecs(2, f4a, f4b)" "= \\{3, 6, 16, 20\\}" \ setup_kfail gdb/18537 "i?86-*-*" "x86_64-*-*" gdb_test "print add_structvecs(i2, (struct just_int2)\{2*i2\}, (struct two_int2)\{3*i2, 4*i2\})" \ "= \\{i = \\{10, 20\\}\\}" "call add_structvecs" +if { [istarget "i?86-*-*"] || [istarget "x86_64-*-*" ] } { + # The next test has been seen to crash the inferior on x86_64, so + # just stop here. + kfail gdb/18537 "skip remaining vector ABI tests on this arch" + return +} gdb_test "print add_singlevecs((char1) \{6\}, (int1) \{12\}, (double1) \{24\})" "= \\{42\\}" \ "call add_singlevecs" # Test vector return value handling with "finish" and "return". gdb_breakpoint "add_some_intvecs" gdb_continue "add_some_intvecs" -setup_kfail gdb/18537 "i?86-*-*" "x86_64-*-*" gdb_test "finish" "Value returned is .* = \\{10, 20, 48, 72\\}" \ "finish shows vector return value" gdb_continue "add_some_intvecs" @@ -203,5 +208,4 @@ gdb_test "return (int4) \{4, 2, 7, 6\}" \ "#0 .* main .*" \ "set vector return value" \ "Make add_some_intvecs return now. .y or n.*" "y" -setup_kfail gdb/18537 "i?86-*-*" "x86_64-*-*" gdb_test "continue" "4 2 7 6\r\n.*" "verify vector return value"