On 03/16/2017 07:22 PM, H.J. Lu wrote:
If the latter, why can't you use the existing ELF constructor mechanism for this? As far as I understand it, the call to __gnu_mbind_setup would just happen before the constructor calls.That is correct. The issue is to access the ELF segment header for each loaded object only once. There is no good way to get this info from constructor.
I think you can get the data in a pretty straightforward manner using dlinfo.
I expect that libraries such as bdwgc might want to use the __gnu_mbind_setup callback as well, just to register freshly loaded shared objects and their data sections. Can we make this work for multiple users?
Thanks, Florian