tizen 2.0
[external/ltrace.git] / TODO
1 * BFD:
2   + New executable formats
3   + Read list of libraries needed
4   + Read list of undefined symbols in executables
5   + Read list of exported symbols in libraries
6   + Read debugging info from executables/libraries
7 * Automatically update list of syscalls?
8 * Improve documentation
9 * Improve -e/-x options (regexp?)
10 * Improve -l option
11 * Improve C++ name demangling
12 * Display different argument types
13 * Update /etc/ltrace.conf
14 * More architectures, cleaner way to port
15 * More operating systems (solaris?)
16 * Option -I (inter-library calls)
17 * Modify ARGTYPE_STRING[0-5] types so that they don't stop displaying chars when '\0' is seen
18 * Get rid of EVENT_ARCH_SYSCALL and EVENT_ARCH_SYSRET
19 * Cleaner way to use breakpoints:
20   + BP is placed in the PLT
21   + When control hits there:
22     - write down return address
23     - change return address with another one (handled by ltrace)
24     - get arguments...
25     - change the process' PC to be in the correct place,
26       without removing breakpoint
27   + When control hits one of our return addresses:
28     - get return value...
29     - change PC to the right place
30 * To be able to work with processes sharing memory, we must:
31   + ptrace() every single thread
32   + place breakpoints only in places where the process control can continue
33     without having to remove it
34 * List source dependencies in Makefile
35 * Create different ltrace processes to trace different children
36 * After a clone(), syscalls may be seen as sysrets in s390 (see trace.c:syscall_p())