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.
pgpwWH7hGEgLY.pgp
Description: PGP signature