Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 27 Jun 2013 19:39:24 +0200
From:      Michael Gmelin <freebsd@grem.de>
To:        Konstantin Belousov <kostikbel@gmail.com>
Cc:        David Chisnall <theraven@freebsd.org>, Brooks Davis <brooks@FreeBSD.org>, Dimitry Andric <dim@FreeBSD.org>, "freebsd-ports@freebsd.org Ports" <freebsd-ports@freebsd.org>, Matthias Andree <mandree@FreeBSD.org>
Subject:   Re: Global destructor order problems
Message-ID:  <20130627193924.04a5e89e@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> <A60BFADA-E358-4363-8BED-E154AB327C6B@FreeBSD.org> <20130626231741.497f7a9b@bsd64.grem.de> <20130626212833.GB91021@kib.kiev.ua> <20130627015602.7a437aad@bsd64.grem.de> <51CC411C.4060105@FreeBSD.org> <20130627140428.GI91021@kib.kiev.ua>

next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, 27 Jun 2013 17:04:28 +0300
Konstantin Belousov <kostikbel@gmail.com> 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 <kostikbel@gmail.com> 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.

Do you have a simple real world example of the original problem (you
mentioned PHP, but not which combination of extensions etc.)? Maybe
there's a better solution.


-- 
Michael Gmelin



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20130627193924.04a5e89e>