Problem
librevdep intentionally avoids environment-dependent resolution, and revdep_semantics(7) currently lists LD_LIBRARY_PATH as a non-goal.
However, some embedding use-cases may want to audit "would this object resolve under a supplied runtime library path?".
This should not be implemented by reading the process environment inside the library. That would make results implicit, host-coupled, and contrary to the current explicit-context design.
Target
Add optional explicit emulation of LD_LIBRARY_PATH via caller-supplied directories.
Non-goal
Do not read ambient process environment (getenv("LD_LIBRARY_PATH")) inside librevdep.
Suggested shape
- Add
process_search_dirs/runtime_library_path to context or per-audit options
- Search these dirs at the loader-equivalent point in the order
- Keep default behavior unchanged when the field is empty
- Optionally add a boolean to model secure-exec suppression
Acceptance criteria
- Results depend only on explicit inputs
- No hidden environment dependency is introduced
- Users can emulate
LD_LIBRARY_PATH when they need that analysis mode
Problem
librevdepintentionally avoids environment-dependent resolution, andrevdep_semantics(7)currently listsLD_LIBRARY_PATHas a non-goal.However, some embedding use-cases may want to audit "would this object resolve under a supplied runtime library path?".
This should not be implemented by reading the process environment inside the library. That would make results implicit, host-coupled, and contrary to the current explicit-context design.
Target
Add optional explicit emulation of
LD_LIBRARY_PATHvia caller-supplied directories.Non-goal
Do not read ambient process environment (
getenv("LD_LIBRARY_PATH")) inside librevdep.Suggested shape
process_search_dirs/runtime_library_pathto context or per-audit optionsAcceptance criteria
LD_LIBRARY_PATHwhen they need that analysis mode