TODO revision c693f02a01835a6fc603212d323a364a22a4fa26
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* Get rid of GNU's autoconf stuff
35* List source dependencies in Makefile
36* Create different ltrace processes to trace different children
37* debug: change "-d" option to be something like "-d elf,events", or "-d breakpoints"
38* Find out if a process is sharing memory with its parent?
39* When using -p, find out if that process is sharing memory with other procs
40