* Richard Biener:

> +/* When the glibc we build against does not have dl_find_object tentatively
> +   declare the relevant bits of the structure here and use a weak declaration
> +   so we can perform a runtime check on its presence.  */
> +#if !defined(DLFO_STRUCT_HAS_EH_DBASE)

I agree with Jakub that this should be restricted to __GLIBC__.

This works for the narrow case that _dl_find_object is not available at
build time and becomes available at run time.  Extending this to make it
optional at run time when it was available and build time does not work
quite work because BFD ld does not support weak symbol versions (the
version reference is always strong, even if participating symbols are
all weak).  For us, this limitation ultimately meant that we could not
use this approach.

Risk of breakage from the duplicated definitions seems fairly low.  We'd
need to back-data a new ABI with a different structure to 2.34 or older,
which seems rather unlikely to happen.

Thanks,
Florian

Reply via email to