TODO revision 2721e6adbc7399e1b621b896b4f5b864082fbf03
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* EVENT_EXEC instead of exec_p() 20* If EVENT_EXEC is received: 21 + Clean structs with breakpoints, open new created program 22* Cleaner way to use breakpoints: 23 + BP is placed in the PLT 24 + When control hits there: 25 - write down return address 26 - change return address with another one (handled by ltrace) 27 - get arguments... 28 - change the process' PC to be in the correct place, 29 without removing breakpoint 30 + When control hits one of our return addresses: 31 - get return value... 32 - change PC to the right place 33* To be able to work with processes sharing memory, we must: 34 + ptrace() every single thread 35 + place breakpoints only in places where the process control can continue 36 without having to remove it 37* Get rid of GNU's autoconf stuff 38* List source dependencies in Makefile 39* Create different ltrace processes to trace different children 40* debug: change "-d" option to be something like "-d elf,events", or "-d breakpoints" 41* Find out if a process is sharing memory with its parent? 42* When using -p, find out if that process is sharing memory with other processes 43