When debugging a statically linked program say "./static_a.out" debuggers have good idea have good idea about where to look for symbols. After all it is just a single binary. Problems happen when we have a dynamically linked "./a.out". debuggers (or at least gdb) have trouble locating the symbols and debugging information. As such, SystemV Revision 4 describes a debugging interface for run time linkers (ld.so) where all information about loaded shared libraries are to be directly shared with the debugger. This patch implements that interface. It has been lightly tested with gdb to make sure it works. Without this patch set, gdb can debug and step (into/over) single assembly instruction at a time. but with this patch set, source level is possible.