From owner-freebsd-toolchain@freebsd.org Sun Oct 8 00:47:42 2017 Return-Path: Delivered-To: freebsd-toolchain@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 1C9DBE46361 for ; Sun, 8 Oct 2017 00:47:42 +0000 (UTC) (envelope-from markmi@dsl-only.net) Received: from asp.reflexion.net (outbound-mail-210-18.reflexion.net [208.70.210.18]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 42677655B9 for ; Sun, 8 Oct 2017 00:47:40 +0000 (UTC) (envelope-from markmi@dsl-only.net) Received: (qmail 7166 invoked from network); 8 Oct 2017 00:47:39 -0000 Received: from unknown (HELO rtc-sm-01.app.dca.reflexion.local) (10.81.150.1) by 0 (rfx-qmail) with SMTP; 8 Oct 2017 00:47:39 -0000 Received: by rtc-sm-01.app.dca.reflexion.local (Reflexion email security v8.40.3) with SMTP; Sat, 07 Oct 2017 20:47:39 -0400 (EDT) Received: (qmail 1508 invoked from network); 8 Oct 2017 00:47:39 -0000 Received: from unknown (HELO iron2.pdx.net) (69.64.224.71) by 0 (rfx-qmail) with (AES256-SHA encrypted) SMTP; 8 Oct 2017 00:47:39 -0000 Received: from [192.168.1.26] (c-76-115-7-162.hsd1.or.comcast.net [76.115.7.162]) by iron2.pdx.net (Postfix) with ESMTPSA id E50E9EC87FB for ; Sat, 7 Oct 2017 17:47:38 -0700 (PDT) From: Mark Millard Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable Mime-Version: 1.0 (Mac OS X Mail 10.3 \(3273\)) Subject: Re: Exceptions Handling on PPC64 with clang - gnu ld bug identified Message-Id: <331A07C5-E87B-4644-B716-217EC05BBD39@dsl-only.net> Date: Sat, 7 Oct 2017 17:47:38 -0700 To: FreeBSD Toolchain X-Mailer: Apple Mail (2.3273) X-BeenThere: freebsd-toolchain@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Maintenance of FreeBSD's integrated toolchain List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 08 Oct 2017 00:47:42 -0000 Roman Divacky rdivacky at freebsd.org wrote on Sat Oct 7 10:03:10 UTC 2017 : > In a followup to = https://lists.freebsd.org/pipermail/freebsd-toolchain/2017-May/002961.html= > =20 > I attempted to fix gnu ld in base to fix the wrongly set bit. >=20 > The following patch=20 > http://www.vlakno.cz/~rdivacky/ppc64.exceptions.fix.patch >=20 > switches a few computations to happen in 64bits instead of 32bit and = fixes the > wrong personality/LDSA info in binaries. >=20 > As a result clang compiled/assembled c++ binaries with EH start to = work for me. >=20 > Can someone verify this works for everyone? I can see the same cast in = upstream > binutils but in a couple more places, so this is probably not the = final answer > but is good enough for me. Just for the record: in a separate exchange it was realized that: A) This was for a context of a buildworld that was built via gcc 4.2.1 and being able to use clang in such a context. B) This is insufficient to fully fix a buildworld that was built via clang and then use either clang or gcc (such as gcc7) to generate code bound to the system libc++ and libcxxrt for code that throws C++ exceptions. A clang-based builworld results in problems in libc++ and/or libcxxrt for handling thrown C++ exceptions. =3D=3D=3D Mark Millard markmi at dsl-only.net