Messages in this thread |  | | Date | Fri, 22 Sep 2000 13:10:57 +0200 | From | Petr Vandrovec <> | Subject | 2.4.0-test9-preX ptrace changes kill also ltrace |
| |
Hi Linus, in addition to UML, also ltrace is affected by EIP changes in ptrace :-(
ptrace(POKE_USER, ..., 4*EIP, ...); ptrace(PTRACE_SINGLESTEP, ...);
and child died :-( Maybe we should really backout change... Best regards, Petr Vandrovec vandrove@vc.cvut.cz
execve("/usr/bin/ltrace", ["ltrace", "./vsbtuo"], [/* 18 vars */]) = 0 brk(0) = 0x8056a3c open("/etc/ld.so.preload", O_RDONLY) = -1 ENOENT (No such file or directory) open("/etc/ld.so.cache", O_RDONLY) = 3 fstat(3, {st_mode=S_IFREG|0644, st_size=28810, ...}) = 0 old_mmap(NULL, 28810, PROT_READ, MAP_PRIVATE, 3, 0) = 0x40014000 close(3) = 0 open("/lib/libdl.so.2", O_RDONLY) = 3 fstat(3, {st_mode=S_IFREG|0644, st_size=9372, ...}) = 0 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\310\34"..., 4096) = 4096 old_mmap(NULL, 12396, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x4001c000 mprotect(0x4001e000, 4204, PROT_NONE) = 0 old_mmap(0x4001e000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x1000) = 0x4001e000 close(3) = 0 open("/lib/libc.so.6", O_RDONLY) = 3 fstat(3, {st_mode=S_IFREG|0755, st_size=888596, ...}) = 0 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\244\213"..., 4096) = 4096 old_mmap(NULL, 902972, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x40020000 mprotect(0x400f5000, 30524, PROT_NONE) = 0 old_mmap(0x400f5000, 16384, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0xd4000) = 0x400f5000 old_mmap(0x400f9000, 14140, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x400f9000 close(3) = 0 munmap(0x40014000, 28810) = 0 personality(PER_LINUX) = 0 getpid() = 13505 ... --- SIGCHLD (Child exited) --- wait4(-1, [WIFSTOPPED(s) && WSTOPSIG(s) == SIGTRAP], 0, NULL) = 13506 ptrace(PTRACE_PEEKUSER, 13506, 4*ORIG_EAX, [0x14]) = 0 ptrace(PTRACE_SYSCALL, 13506, 0x1, SIG_0) = 0 --- SIGCHLD (Child exited) --- wait4(-1, [WIFSTOPPED(s) && WSTOPSIG(s) == SIGTRAP], 0, NULL) = 13506 ptrace(PTRACE_PEEKUSER, 13506, 4*ORIG_EAX, [0xffffffff]) = 0 ptrace(PTRACE_PEEKUSER, 13506, 4*EIP, [0x8048969]) = 0 ptrace(PTRACE_PEEKUSER, 13506, 4*UESP, [0xbffffd6c]) = 0 ptrace(PTRACE_PEEKTEXT, 13506, 0xbffffd6c, [0x8048aa1]) = 0 write(2, "__libc_start_main(", 18__libc_start_main() = 18 ptrace(PTRACE_PEEKTEXT, 13506, 0xbffffd70, [0x8048df8]) = 0 write(2, "0x08048df8", 100x08048df8) = 10 write(2, ", ", 2, ) = 2 ptrace(PTRACE_PEEKTEXT, 13506, 0xbffffd74, [0x1]) = 0 write(2, "1", 11) = 1 write(2, ", ", 2, ) = 2 ptrace(PTRACE_PEEKTEXT, 13506, 0xbffffd78, [0xbffffd94]) = 0 write(2, "0xbffffd94", 100xbffffd94) = 10 write(2, ", ", 2, ) = 2 ptrace(PTRACE_PEEKTEXT, 13506, 0xbffffd7c, [0x8048854]) = 0 write(2, "0x08048854", 100x08048854) = 10 write(2, ", ", 2, ) = 2 ptrace(PTRACE_PEEKTEXT, 13506, 0xbffffd80, [0x804933c]) = 0 write(2, "0x0804933c", 100x0804933c) = 10 ptrace(PTRACE_PEEKTEXT, 13506, 0x8048aa1, [0x909090f4]) = 0 ptrace(PTRACE_POKETEXT, 13506, 0x8048aa1, 0x909090cc) = 0 ptrace(PTRACE_PEEKTEXT, 13506, 0x8048968, [0xa64825cc]) = 0 ptrace(PTRACE_POKETEXT, 13506, 0x8048968, 0xa64825ff) = 0 ptrace(PTRACE_POKEUSER, 13506, 4*EIP, 0x8048968) = 0 ptrace(PTRACE_SINGLESTEP, 13506, 0, SIG_0) = 0 --- SIGCHLD (Child exited) --- wait4(-1, [WIFSIGNALED(s) && WTERMSIG(s) == SIGSEGV], 0, NULL) = 13506 write(2, " <unfinished ...>\n", 18 <unfinished ...> ) = 18 write(2, "+++ killed by SIGSEGV +++", 25+++ killed by SIGSEGV +++) = 25 write(2, "\n", 1 ) = 1 _exit(0) = ? - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org Please read the FAQ at http://www.tux.org/lkml/
|  |