flux-framework / dyad

DYAD: DYnamic and Asynchronous Data Streamliner
GNU Lesser General Public License v3.0
7 stars 5 forks source link

Replace use of libdl and LD_PRELOAD with GOTCHA #43

Open ilumsden opened 11 months ago

ilumsden commented 11 months ago

In the wrapper interface, we should move away from the super error-prone LD_PRELOAD approach towards something that's more powerful and less likely to cause odd issues. One option is LLNL's GOTCHA tool: https://github.com/LLNL/GOTCHA

JaeseungYeom commented 10 months ago

We can discuss this. However, I am wondering how transparent the interface will be.

ilumsden commented 10 months ago

@JaeseungYeom Gotcha acts like a more fully featured, drop in replacement for libdl. As a result, no changes would appear in user code due to Gotcha. The only potential difference would come from how users "activate" the interception. Depending on how we add Gotcha support, users would either continue to use LD_PRELOAD with dyad_wrapper.so, or they would just link dyad_wrapper.so into their code. All the actual symbol interception still happens fully transparently with no required changes to user code.