> > The issue is the change in ld.so/library_subr.c rev 1.34. If you back that > > change out, the crash disappears. > > > > The problem is that no one makes changes to the linkages inside ld.so out > > of boredom: there was some previous program that crashed without that > > change, but the details weren't documented or preserved in a regress/ > > program. I've made a couple stabs at reproducing the original program so > > that we can be sure to keep it fixed when fixing this, but haven't been > > able to pin down a case where the committed change solved the problem. If > > you can figure that out, I would gladly buy you a beer or three. Elsewise > > we're reaching the point where we back that change out and wait for someone > > complain... :-( > > I managed to come up with a case where a double decrement takes place [..]
Hello again. I just adjusted the case, trying to make it appropriate for inclusion under src/regress. I also added a (currently failing) regression test for my original problem. The tarball contains two directories, test3 and test4, which ought to go under /usr/src/regress/libexec/ld.so/dlclose. Does it look ok? Don't forget to add the subdirs in the Makefile. http://guu.fi/ldtest-new.tgz Fwiw, I've also come up with a potential fix, but I'll have to test it a bit more. -Henri