diff options
author | Petr Machata <pmachata@redhat.com> | 2013-10-24 10:35:54 +0200 |
---|---|---|
committer | Petr Machata <pmachata@redhat.com> | 2013-10-24 10:35:54 +0200 |
commit | 8eacf65a0b840630814e151ebf9c111f768b8571 (patch) | |
tree | 6324aff1df3949c567bebfd9aa0f2b5c77b5609d /TODO | |
parent | 98a7dce70986f2394d22ee5dd8ed355ceb2104b4 (diff) | |
download | ltrace-8eacf65a0b840630814e151ebf9c111f768b8571.tar.gz |
Update TODO
Diffstat (limited to 'TODO')
-rw-r--r-- | TODO | 22 |
1 files changed, 21 insertions, 1 deletions
@@ -59,9 +59,29 @@ Perhaps we should hook to something after all. +*** system call error returns + + This is closely related to above. Take the following syscall + prototype: + + | long read(int,+string0,ulong); + + string0 means the same as string(array(char, zero(retval))*). But + if read returns a negative value, that signifies errno. But zero + takes this at face value and is suspicious: + + | read@SYS(3 <no return ...> + | error: maximum array length seems negative + | , "\n\003\224\003\n", 4096) = -11 + + Ideally we would do what strace does, e.g.: + + | read@SYS(3, 0x12345678, 4096) = -EAGAIN + *** errno tracking Some calls result in setting errno. Somehow mark those, and on - failure, show errno. + failure, show errno. System calls return errno as a negative + value (see the previous point). *** second conversions? This definitely calls for some general scripting. The goal is to |