----- On Jun 14, 2019, at 3:42 PM, Florian Weimer fweimer@redhat.com wrote:
* Mathieu Desnoyers:
quoted
+ /* Publicize rseq registration ownership. This must be performed
+ after rtld re-relocation, before invoking constructors of
+ preloaded libraries. */
+ rseq_init ();
Please add a comment that IFUNC resolvers do not see the initialized
value. I think this is okay because we currently do not support access
to extern variables in IFUNC resolvers.
Do IFUNC resolvers happen to observe the __rseq_handled address that
was internal to ld.so ?
If so, we could simply initialize __rseq_handled twice: early before calling
IFUNC resolvers, and after ld.so re-relocation.
Thanks,
Mathieu
--
Mathieu Desnoyers
EfficiOS Inc.
http://www.efficios.com