Rich, > Are you using static or dynamic linking? Dynamic. Before posting here, I checked the musl source code, and the binary: 'objdump -z -d hello' gives: callq 4003e0 Further, 'musl-gcc -static hello.c -o hello_s' weights 23KB while the shared binary above weights only 7KB. Finally, my example provided the compilation/linking cmd line, which, by default, is dynamic: // glibc: // gcc hello.c -o hello -ldl // musl: // musl-gcc hello.c -o hello I am attaching the source code linked with musl 0.9.8 so you can duplicate this issue without wasting time. Besides knowing how to enable dladdr() in dynamic mode, I am interested in knowing what other steps are needed beyond replacing the #ifdef SHARED by another custom define (#ifdef __FORCE_DL) for musl's dl implementation to do the job in static binaries (with exported symbols). Thank you for musl, a much-needed alternative. Pierre