aboutsummaryrefslogtreecommitdiff
path: root/TODO
diff options
context:
space:
mode:
authormostang.com!davidm <mostang.com!davidm>2003-04-21 18:38:48 +0000
committermostang.com!davidm <mostang.com!davidm>2003-04-21 18:38:48 +0000
commit1cabc101002fe9090ecc199e9e8497ee95b9e2ac (patch)
tree2522d146d1e854c0485375cbec239a06bb0cd552 /TODO
parent8c84eddb41ef73ce77c04e4fcf662169d626dddd (diff)
downloadlibunwind-1cabc101002fe9090ecc199e9e8497ee95b9e2ac.tar.gz
(Logical change 1.78)
Diffstat (limited to 'TODO')
-rw-r--r--TODO54
1 files changed, 54 insertions, 0 deletions
diff --git a/TODO b/TODO
index e69de29b..3d23657d 100644
--- a/TODO
+++ b/TODO
@@ -0,0 +1,54 @@
+- man-page for _U_dyn_cancel()
+- man-page for _U_dyn_register()
+- man-page for unw_is_fpreg()
+
+Testing:
+ - ensure that saving r4-r7 in a stacked register properly preserves
+ the NaT bit, even in the face of register-rotation
+ - ensure that IA64_INSN_MOVE_STACKED works correctly in the face of
+ register rotation
+ - test with Intel compiler
+
+=== taken care of:
+
++ cache the value of *cfm_loc; each rotate_FOO() call needs it!
++ implement the remote-lookup of the dynamic registration list
++ when doing sigreturn, must restore fp regs (and perhaps other regs) the same
+ way as the (user-level) gate.S sigreturn path does!
++ unw_resume() must at least restore gp (r1)! consider restoring all
+ scratch regs (but what's the performance impact on exception handling?);
+ alternative: restore scratch regs that may be used during procedure
+ call/return (e.g., r8-r11, f8-f11)
++ implement unw_resume() for the case where the current register frame is split
+ across multiple backing stores
++ document restricions on using unw_resume():
++ implement remote cases of unw_resume()
++ test both with UNW_LOCAL_ONLY and without where this makes sense
++ allow region-length (insn_count) in unw_dyn_region_info_t to be negative
+ to indicate counting from the end of the procedure (to make it possible
+ for differently-sized procedures to share the same region list if they
+ share the same prologue/epilogue).
++ it appears that it is currently not possible to read register UNW_IA64_TP;
+ fix that => no, attempts to access r13 will result in access_reg() callbacks,
+ as desired; for local-case, access to r13 will fail though (since
+ getcontext() doesn't, and shouldn't, capture r13)
++ document the special nature of UNW_IA64_GP: read-only, but adjusted
+ automatically if the IP is changed
++ use pthread-mutexes where necessary, atomic ops where possible
++ man-page for unw_init_local()
++ man-page for unw_init_remote()
++ man-page for unw_create_addr_space()
++ man-page for unw_destroy_addr_space()
++ man-page for unw_get_proc_info()
++ man-page for unw_get_proc_name()
++ man-page for unw_get_accessors()
++ man-page for unw_regname()
++ man-page for unw_flush_cache()
++ man-page for unw_set_caching_policy()
++ man-page for unw_getcontext()
++ man-page for unw_is_signal_frame()
++ man-page for unw_step()
++ man-page for unw_get_reg()
++ man-page for unw_set_reg()
++ man-page for unw_get_fpreg()
++ man-page for unw_set_fpreg()