From owner-svn-src-head@FreeBSD.ORG Thu Nov 6 10:42:17 2014 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 4975DAEB; Thu, 6 Nov 2014 10:42:17 +0000 (UTC) Received: from mail-wg0-x22d.google.com (mail-wg0-x22d.google.com [IPv6:2a00:1450:400c:c00::22d]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id D9332A2E; Thu, 6 Nov 2014 10:42:16 +0000 (UTC) Received: by mail-wg0-f45.google.com with SMTP id x12so843103wgg.4 for ; Thu, 06 Nov 2014 02:42:15 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:date:from:to:cc:subject:message-id:references:mime-version :content-type:content-disposition:in-reply-to:user-agent; bh=op8KH5Ut+oKCgZHMxC8wQKhlki6vs3uq4lGKUKWuZEY=; b=mF+T0JbfjWnMVWJdj2fdRfM7cQ/H40nVaenIDrJQnxofbf4k+Yi7lmbK8n7uRkC0vj 4flC1eL5veKCX6ZAMdECJq26NF7Ibq+/48rQXpVgbftoyPYDFrZIpl4G61/f0+GUijlw I/xzzBGO9K2jV78Uk9Qe+wo5hU63uQaV17VuxDPLdPJ1zxlRM2N3cNrmeOP4kEGykM19 w/MP83vhiRhWYsdBNOIGWcOmLQ795/wUQEBhB/zxjeUg3U4H1puHypKqaM/HdD3teHwi 230yiiGMkVr80jjQl5TTyVcuhQzKAH24vJlY1Mcu2kGF7jcpuz3DS52L0hcvHZX5DAoQ bD1w== X-Received: by 10.194.241.194 with SMTP id wk2mr2027381wjc.132.1415270535192; Thu, 06 Nov 2014 02:42:15 -0800 (PST) Received: from ivaldir.etoilebsd.net ([2001:41d0:8:db4c::1]) by mx.google.com with ESMTPSA id cz3sm7289310wjb.23.2014.11.06.02.42.13 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 06 Nov 2014 02:42:14 -0800 (PST) Sender: Baptiste Daroussin Date: Thu, 6 Nov 2014 11:42:11 +0100 From: Baptiste Daroussin To: David Chisnall Subject: Re: svn commit: r273382 - head/contrib/libcxxrt Message-ID: <20141106104211.GN10388@ivaldir.etoilebsd.net> References: <201410211252.s9LCq2R5053286@svn.freebsd.org> <7819250D-0FE0-44E6-86DA-718AEA2B261C@me.com> <9E81312A-E615-49C2-84C5-D4CF9EA96232@FreeBSD.org> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="AKkMM/tm2Mk6Yn/s" Content-Disposition: inline In-Reply-To: <9E81312A-E615-49C2-84C5-D4CF9EA96232@FreeBSD.org> User-Agent: Mutt/1.5.23 (2014-03-12) Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org, Rui Paulo X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 06 Nov 2014 10:42:17 -0000 --AKkMM/tm2Mk6Yn/s Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Thu, Nov 06, 2014 at 09:36:52AM +0000, David Chisnall wrote: > On 6 Nov 2014, at 01:04, Rui Paulo wrote: >=20 > > I don't think the non-temporary fix was ever committed. What's the pro= blem? Is something else defining these methods? >=20 > Yes, they're defined by libc++ too. The problem is that gcc 4.9 wants to= be able to throw bad_array_new_length exceptions when you do new foo[x] an= d sizeof(foo) * x overflows. It does this by calling a support function de= fined in the C++ runtime, but that means that the C++ runtime must have the= bad_array_new_length class defined there too. Having the methods on those= classes defined in libcxxrt and libc++ breaks things. >=20 > The correct fix was to move a #endif in libc++ so that it didn't compile = those functions. There was some discussion about whether we needed to supp= ort the case that old libc++ and new libcxxrt were used, but it's probably = not required. Bapt was going to check whether there were any symbol versio= ning issues with code compiled against old libc++/libcxxrt and dynamically = linked against the new one. =20 I will backout this change since it is not necessary anymore as well as ups= tream the missing parts of the bad_array_new_lenght exception in libcxxrt in the = next couple of days. regards, Bapt --AKkMM/tm2Mk6Yn/s Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iEYEARECAAYFAlRbUIMACgkQ8kTtMUmk6Ewy+wCgrh73wg8kAtG/swlSPyDK7DAt MycAn0QZGzjTSeI64825F3krdgNNQxld =ClBJ -----END PGP SIGNATURE----- --AKkMM/tm2Mk6Yn/s--