summaryrefslogtreecommitdiff
path: root/rtld_db/NOTES
diff options
context:
space:
mode:
Diffstat (limited to 'rtld_db/NOTES')
-rw-r--r--rtld_db/NOTES52
1 files changed, 52 insertions, 0 deletions
diff --git a/rtld_db/NOTES b/rtld_db/NOTES
new file mode 100644
index 0000000000..7dbd310297
--- /dev/null
+++ b/rtld_db/NOTES
@@ -0,0 +1,52 @@
+Sun docs:
+
+ http://docs.sun.com/app/docs/doc/819-2245/rtld-db-3ext
+ http://docs.sun.com/app/docs/doc/819-0690/chapter6-12
+
+The rtld_db library exports a number of functions:
+
+ rd_err_e rd_init (int version)
+
+ Initializes rtld_db.
+
+ rd_agent_t * rd_new (struct ps_prochandle *php)
+
+ Creates a new agent. The php value is a user-defined context that will be
+ passed to all ps_* calls (see below).
+
+ void rd_delete (struct rd_agent *rdap)
+
+ Deletes agent rdap.
+
+ rd_err_e rd_reset (struct rd_agent *rdap)
+
+ Resets agent rdap back to its initial state; generally called when a
+ process is restarted.
+
+ rd_event_addr
+
+ rd_event_enable
+
+ rd_event_getmsg
+
+ rd_err_e rd_loadobj_iter (rd_agent_t *rdap, rl_iter_f *cb, void *clnt_data)
+
+ Calls cb for each loaded object/module in a process agent rdap. clnt_data
+ is passed to the callback cb.
+
+ void rd_log (const int onoff)
+
+ Enables or disable rtld_db logging.
+
+ rd_objpad_enable
+
+ rd_plt_resolution
+
+ rd_err_e rd_get_dyns (rd_agent_t *rdap, psaddr_t addr, void **dynpp, size_t *dynpp_sz)
+
+ Gets the dynamic section at Ehdr addr and copies the data and size into
+ *dynpp and *dynpp_sz.
+
+The rtld_db library expects those functions found in proc_service.h to be
+defined and exported by the user of rtld_db. It's expected that a 64-bit
+librtld_db be able to handle debugging of both 64-bit and 32-bit executables.