Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752755AbbBSSkn (ORCPT ); Thu, 19 Feb 2015 13:40:43 -0500 Received: from relay1.mentorg.com ([192.94.38.131]:47570 "EHLO relay1.mentorg.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750980AbbBSSkl (ORCPT ); Thu, 19 Feb 2015 13:40:41 -0500 Date: Thu, 19 Feb 2015 18:40:34 +0000 From: Joseph Myers X-X-Sender: jsm28@digraph.polyomino.org.uk To: David Miller CC: , , , , , , Subject: Re: [PATCH RFC] Update kernel math-emu code from current glibc soft-fp In-Reply-To: <20150219.132122.204795202277130266.davem@davemloft.net> Message-ID: References: <20150219.132122.204795202277130266.davem@davemloft.net> User-Agent: Alpine 2.10 (DEB 1266 2009-07-14) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="-1152306461-273902004-1424371234=:22905" Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2206 Lines: 53 ---1152306461-273902004-1424371234=:22905 Content-Type: text/plain; charset="iso-8859-7" Content-Transfer-Encoding: 8BIT On Thu, 19 Feb 2015, David Miller wrote: > From: Joseph Myers > Date: Fri, 6 Feb 2015 17:25:29 +0000 > > > * On SPARC, comparisons now use raw unpacking (this should not in fact > > change how the emulation behaves, just make it more efficient). > > I did a sparc64 test build and it failed like so: > > arch/sparc/math-emu/math_64.c: In function ?do_mathemu?: > arch/sparc/math-emu/math_64.c:487:1: error: expected expression before ?return? > arch/sparc/math-emu/math_64.c:488:1: error: expected expression before ?return? > arch/sparc/math-emu/math_64.c:490:1: error: expected expression before ?return? > arch/sparc/math-emu/math_64.c:491:1: error: expected expression before ?return? > arch/sparc/math-emu/math_64.c:495:1: error: expected expression before ?return? > > I'm attaching a CPP processed math_64.c for your convenience: Please try this patch on top of the previous one. The way abort is redefined in the kernel code doesn't work for one place using it in an expression; this patch changes a comma expression to a statement expression. This didn't appear in my powerpc testing because the powerpc emulation never uses FP_FROM_INT; I'm not sure how Kaz's sh testing avoided the problem appearing there. diff --git a/include/math-emu/op-common.h b/include/math-emu/op-common.h index b9f5e1a..8c059c3 100644 --- a/include/math-emu/op-common.h +++ b/include/math-emu/op-common.h @@ -1818,7 +1818,7 @@ X##_e = (_FP_EXPBIAS_##fs + 2 * _FP_W_TYPE_SIZE - 1 \ - _FP_FROM_INT_lz); \ }) \ - : (abort (), 0))); \ + : ({ abort (); 0; }))); \ \ if ((rsize) - 1 + _FP_EXPBIAS_##fs >= _FP_EXPMAX_##fs \ && X##_e >= _FP_EXPMAX_##fs) \ -- Joseph S. Myers joseph@codesourcery.com ---1152306461-273902004-1424371234=:22905-- -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/