At this point, new objects have been loaded:
> *ld.so`lml_main::Rt_maps rtmap* ADDR NAME --------------------------------------------- 0xff3b0030 0x00010000 main 0xff3b0434 0xff3a0000 /usr/lib/libdl.so.1 0xff3b0734 0xff280000 /usr/lib/libc.so.1 0xff3b0c1c 0xff370000 ./foo.so.1 0xff3b1030 0xff350000 ./bar.so.1 |
The link-map for foo.so.1 shows the handle returned by dlopen(3DL). You can expand this structure using Dl_handle.
> 0xff3b0c1c::Rt_map Rt_map located at: 0xff3b0c1c NAME: ./foo.so.1 ADDR: 0xff370000 DYN: 0xff3805c8 NEXT: 0xff3b1030 PREV: 0xff3b0734 FCT: 0xff3f6080 ....... PERMIT: 0xff3b0f94 HANDLE: 0xff3b0f38 > 0xff3b0f38::Dl_handle Dl_handle located at: ff3b0f38 permit: 0xff3b0f7c usercnt: 1 permcnt: 2 depends: 0xff3b0f44 [0xff3b0fc4, 0xff3b1358] parents: 0xff3b0f4c [0x00000000, 0x00000000] |
The dependencies of a handle are a list of link-maps that represent the objects of the handle that can satisfy a dlsym(3DL) request:
> 0xff3b0f44::ListRtmap Listnode data next Rt_map name --------------------------------------------- 0xff3b0fc4 0xff3b0c1c 0xff3b1358 ./foo.so.1 0xff3b1358 0xff3b1030 0x00000000 ./bar.so.1 |
Note - The above examples provide a basic guide to the debugger module capabilities, but the exact commands, usage, and output may change from release to release. Refer to any usage or help information for the exact capabilities available on your system.