FreeBSD and openBSD have had dl_iterate_phdr support in their runtime
linker since 2007. NetBSD-current added it in late 2010 and I just
patched Dragonfly's RTLD to support it as well, which means the feature
is fully supported by *BSD.
I was a bit surprised when I checked the gcc configure log and saw the
check for dl_iterate_phdr came back "unknown" so I checked the
gcc/configure script.
Basically the logic in the configure script is this:
If target <> solaris2 then gcc_cv_target_dl_iterate_phdr=unknown
Basically that means this feature is only possibly used by gcc when
Solaris is the target.
Is this intentional?
Why are not Linux and BSD targets being tested?
Is the problem only a deficient configure script, or is there missing
support within gcc itself? I was told on the gcc-help mail list that
using dl_iterate_phdr was a more efficient method of propagating
exceptions and I'd like GNAT to take advantage of that.
Thanks,
John