RTLD_DB(3EXT) | Extended Library Functions | RTLD_DB(3EXT) |
rtld_db, rd_delete, rd_errstr, rd_event_addr, rd_event_enable, rd_event_getmsg, rd_init, rd_loadobj_iter, rd_log, rd_new, rd_objpad_enable, rd_plt_resolution, rd_reset - runtime linker debugging functions
cc [ flag ... ] file ... -lrtld_db [ library ... ] #include <proc_service.h> #include <rtld_db.h> void rd_delete(struct rd_agent *rdap);
char *rd_errstr(rd_err_e rderr);
rd_err_e rd_event_addr(rd_agent *rdap, rd_notify_t *notify);
rd_err_e rd_event_enable(struct rd_agent *rdap, int onoff);
rd_err_e rd_event_getmsg(struct rd_agent *rdap,
rd_event_msg_t *msg);
rd_err_e rd_init(int version);
typedef int rl_iter_f(const rd_loadobj_t *, void *);
rd_err_e rd_loadobj_iter(rd_agent_t *rap, rl_iter_f *cb,
void *clnt_data);
void rd_log(const int onoff);
rd_agent_t *rd_new(struct ps_prochandle *php);
rd_err_e rd_objpad_enable(struct rd_agent *rdap, size_t padsize);
rd_err_e rd_plt_resolution(rd_agent *rdap, paddr_t pc,
lwpid_t lwpid, paddr_t plt_base, rd_plt_info_t *rpi);
rd_err_e rd_reset(struct rd_agent *rdap);
The librtld_db library provides support for monitoring and manipulating runtime linking aspects of a program. There are at least two processes involved, the controlling process and one or more target processes. The controlling process is the librtld_db client that links with librtld_db and uses librtld_db to inspect or modify runtime linking aspects of one or more target processes. See the Linker and Libraries Guide for a full description of the runtime linker debugger interface mechanism.
To use librtld_db, applications need to implement the interfaces documented in ps_pread(3PROC) and proc_service(3PROC).
See attributes(7) for description of the following attributes:
ATTRIBUTE TYPE | ATTRIBUTE VALUE |
Interface Stability | Committed |
MT-Level | Safe |
ld.so.1(1), libc_db(3LIB), librtld_db(3LIB), proc_service(3PROC), ps_pread(3PROC), attributes(7)
Linker and Libraries Guide
October 12, 2007 | OmniOS |