From owner-freebsd-ports@FreeBSD.ORG Tue Aug 27 13:11:52 2013 Return-Path: Delivered-To: freebsd-ports@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTP id 344DF59A for ; Tue, 27 Aug 2013 13:11:52 +0000 (UTC) (envelope-from freebsd@grem.de) Received: from mail.grem.de (outcast.grem.de [213.239.217.27]) by mx1.freebsd.org (Postfix) with SMTP id 8F329267B for ; Tue, 27 Aug 2013 13:11:51 +0000 (UTC) Received: (qmail 86340 invoked by uid 89); 27 Aug 2013 12:45:08 -0000 Received: from unknown (HELO bsd64.grem.de) (mg@grem.de@194.97.158.66) by mail.grem.de with ESMTPA; 27 Aug 2013 12:45:08 -0000 Date: Tue, 27 Aug 2013 14:45:07 +0200 From: Michael Gmelin To: Konstantin Belousov Subject: Re: Global destructor order problems Message-ID: <20130827144507.385a552c@bsd64.grem.de> In-Reply-To: <20130627140428.GI91021@kib.kiev.ua> References: <20130626133149.4835f14a@bsd64.grem.de> <7CD9075C-F8D6-41C1-8D21-8B10DF866ECE@FreeBSD.org> <20130626204521.GU91021@kib.kiev.ua> <6900C006-2A57-4EAF-B19A-629A85CBA001@FreeBSD.org> <20130626210534.GY91021@kib.kiev.ua> <20130626231741.497f7a9b@bsd64.grem.de> <20130626212833.GB91021@kib.kiev.ua> <20130627015602.7a437aad@bsd64.grem.de> <51CC411C.4060105@FreeBSD.org> <20130627140428.GI91021@kib.kiev.ua> X-Mailer: Claws Mail 3.9.1 (GTK+ 2.24.18; amd64-portbld-freebsd9.1) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Cc: David Chisnall , Brooks Davis , Dimitry Andric , Matthias Andree , "freebsd-ports@freebsd.org Ports" X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 27 Aug 2013 13:11:52 -0000 On Thu, 27 Jun 2013 17:04:28 +0300 Konstantin Belousov wrote: > On Thu, Jun 27, 2013 at 03:41:48PM +0200, Dimitry Andric wrote: > > On 2013-06-27 01:56, Michael Gmelin wrote: > > > On Thu, 27 Jun 2013 00:28:33 +0300 > > > Konstantin Belousov wrote: > > > > > >> On Wed, Jun 26, 2013 at 11:17:41PM +0200, Michael Gmelin wrote: > > >>> Are you both on the same architecture? > > >> > > >> I tested both on amd64 and i386. For i386, it was -m32 for > > >> clang, and native 32bit gcc 4.8.1, stock build from the tarball. > > >> > > > > > > For completeness sake I tested once more using various compilers > > > including gcc 4.8.1 on 10-CURRENT amd64 (see below). > > > > I have now tested the lang/gcc44, 46, 47, 48 and 49 ports, on both > > i386 and amd64. All result in the incorrect destructor order. > > My build of gcc is stock, not from the ports. Another detail, I built > the compiler on stable/9, but use it on both stable and current. I am > very curious what makes the my build to generate the code which uses > PLT instead of direct reference, but have no time to investigate. > > I think that we could revert the termination calls to the functions > from the dso being unloaded, but this is quite unfortunate, since it > will restore the endless series of 'segfault at the process > termination' reports. Hi, Is this being worked on? If not, I'd suggest some workaround that solves the problem without side effects, maybe some compiler/linker flags that could be used for building PHP. As far as I understand the workaround was primarily required for PHP. I couldn't find the "endless series of segfault reports", so any pointers to that would be appreciated. Michael -- Michael Gmelin