Global destructor order problems (was: Re: Are ports supposed to build and run on 10-CURRENT?)

Konstantin Belousov kostikbel at gmail.com
Wed Jun 26 20:45:27 UTC 2013


On Wed, Jun 26, 2013 at 09:26:09PM +0200, Dimitry Andric wrote:
> This revision is not in 9.1-RELEASE, but it is in 9-STABLE, so the
> problem can also be reproduced there.
...
> This is roughly gcc 4.3.0 and later.  For example, gcc 4.8 generates:
I just tested the thing with gcc 4.8 on up to date stable/9 and HEAD.
In both cases, major tom did not fail, at least not in the peculiar way.
The gcc-generated code passed the PLT address of the corresponding
destructor.

The r211706 intent is indeed to prevent a situation when the libc calls
the atexit(3)-registered termination function from dso which is already
unloaded.  This is apparently epidemic with PHP and similar environments.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 834 bytes
Desc: not available
URL: <http://lists.freebsd.org/pipermail/freebsd-ports/attachments/20130626/f95b5090/attachment.sig>


More information about the freebsd-ports mailing list