2 ms·
The LD_DEBUG environment variable (2012)
- alschwalm 4mo agoLD_AUDIT is another one worth knowing about (though I admittedly use it less often than LD_DEBUG) https://man7.org/linux/man-pages/man7/rtld-audit.7.html https://man7.org/linux/man-pages/man7/rtld-audit.7.html
- rramadass 4mo agoDo you know where i can find a list of all LD_XXX environment variables?
- BobbyTables2 4mo agoRead The Fine Manpage ld.so
- zorgmonkey 4mo agoThe man page ld.so has ENVIRONMENT section that looks pretty good. Otherwise one of the most reliable options is to simply grep the source code for calls to getenv, I would not be that surprised if their are some extra ones that are undocumented.
- rramadass 4mo agoFound it - https://man7.org/linux/man-pages/man8/ld.so.8.html#ENVIRONMENT https://man7.org/linux/man-pages/man8/ld.so.8.html#ENVIRONME... Yeah, i was looking for little known/undocumented environment variables (eg. i didn't know of LD_AUDIT).
- rramadass 4mo agoA couple of posts on how to use LD_AUDIT; Leveraging LD_AUDIT to Beat the Traditional Linux Library Preloading Technique - https://www.sentinelone.com/labs/leveraging-ld_audit-to-beat-the-traditional-linux-library-preloading-technique/ https://www.sentinelone.com/labs/leveraging-ld_audit-to-beat... rtld-audit and LD_AUDIT - https://vsoch.github.io/2021/ldaudit/ https://vsoch.github.io/2021/ldaudit/
- account42 4mo agoUsed this once to debug an issue where it turned out unwanted exports in one library A where used to satisfy imports in another library B and thus preventing library A from being unloaded. Fun times. The ldd command is also essentially just a wrapper script that sets LD_* variables that get the dynamic loader to do all the real work.