diff options
Diffstat (limited to 'packages')
-rw-r--r-- | packages/strace/strace-4.5.12/strace-fix-arm-bad-syscall.patch | 18 | ||||
-rw-r--r-- | packages/strace/strace_4.5.12.bb | 5 |
2 files changed, 21 insertions, 2 deletions
diff --git a/packages/strace/strace-4.5.12/strace-fix-arm-bad-syscall.patch b/packages/strace/strace-4.5.12/strace-fix-arm-bad-syscall.patch new file mode 100644 index 0000000000..d7d7426b74 --- /dev/null +++ b/packages/strace/strace-4.5.12/strace-fix-arm-bad-syscall.patch @@ -0,0 +1,18 @@ +--- strace-4.5.12-orig/syscall.c 2005-06-08 21:45:28.000000000 +0100 ++++ strace-4.5.12/syscall.c 2005-10-25 19:26:39.000000000 +0100 +@@ -1013,6 +1013,15 @@ struct tcb *tcp; + /* + * Note: we only deal with only 32-bit CPUs here. + */ ++ ++ if (!(tcp->flags & TCB_INSYSCALL) && ++ (tcp->flags & TCB_WAITEXECVE)) { ++ /* caught a fake syscall from the execve's exit */ ++ tcp->flags &= ~TCB_WAITEXECVE; ++ return 0; ++ } ++ ++ + if (regs.ARM_cpsr & 0x20) { + /* + * Get the Thumb-mode system call number diff --git a/packages/strace/strace_4.5.12.bb b/packages/strace/strace_4.5.12.bb index 95a5b7fa9b..3a15563100 100644 --- a/packages/strace/strace_4.5.12.bb +++ b/packages/strace/strace_4.5.12.bb @@ -1,12 +1,13 @@ LICENSE = "GPL" SECTION = "console/utils" -PR = "r0" +PR = "r1" DESCRIPTION = "strace is a system call tracing tool." SRC_URI = "${SOURCEFORGE_MIRROR}/strace/strace-${PV}.tar.bz2 \ file://arm-syscallent.patch;patch=1 \ - file://quota.patch;patch=1" + file://quota.patch;patch=1 \ + file://strace-fix-arm-bad-syscall.patch;patch=1" inherit autotools |