On Sun, 29 Aug 2004 13:43:09 -0400, MenTaLguY wrote:
> I'm going to make one small adjustment to the GC code now: adding
> GC_no_dls = 1 to the GC intialization code.
> This will prevent libgc from scanning the static data areas of dynamic
> libraries, which seems to cause problems on FC2, and in any case is
I've located the problem. It was a combination of bugs in boehm GC (which
I've reported) and apbuild. We were forcing dl_iterate_phdrs to be
"undefined" but as this is a weak symbol this did not cause a link failure
as it was meant to, but rather subtly forced libgc onto a much less
used codepath which apparently makes some bad assumptions about ELF
I've fixed apbuild for this specific case, though the real fix is for
apbuild to ignore weak symbols as all uses of them should be checked
anyway. Not doing so is almost certainly a bug in the application.
I'm respinning the nightly build now to confirm the fix works.
There's no need for alarm, standard builds for Fedora should work fine.
This is just a teething problem with autopackage.
In any case, dl_iterate_phdr has been around for a while, at least since
Red Hat 7.2 and I doubt we care anymore about systems older than that. We
should probably bump the minimum glibc version autopackage binaries
require to something more modern, maybe Red Hat 8 generation systems.
Problem is that it's difficult to get a feel for how many people are using
what generation of Linux systems. I know developers tend to overestimate
it: there are still new installs of Red Hat 9 and even 8 being carried out
but maybe glibc 2.3.x is a reasonable baseline to target from now on.