Implement PTRACE_O_TRACESYSGOOD. This makes Linux strace(1) work.
Details
Diff Detail
- Repository
- rS FreeBSD src repository - subversion
- Lint
Lint Not Applicable - Unit
Tests Not Applicable
Event Timeline
sys/amd64/linux/linux_ptrace.c | ||
---|---|---|
115 ↗ | (On Diff #57180) | used from MI code, and in my understandig can be MI too, |
323 ↗ | (On Diff #57180) | btw, in the Linuxulator we have linux_msg() :) |
sys/compat/linux/linux_emul.h | ||
35 ↗ | (On Diff #57180) | I prefer to include imgact.h in the linux_ptrace.c, again, up to you |
sys/compat/linux/linux_misc.c | ||
1019 ↗ | (On Diff #57180) | it will break i386, arm64 Linuxulators |
sys/compat/linux/linux_misc.h | ||
152 ↗ | (On Diff #57180) | only for amd64? |
sys/amd64/linux/linux_ptrace.c | ||
---|---|---|
115 ↗ | (On Diff #57180) | Could be, but it depends on kern_ptrace(), and a Linux-specific ptrace flag. How about leaving it here, and just wrapping the call (below) with #ifdef amd64? |
323 ↗ | (On Diff #57180) | Good point; I'll change all the printfs here to linux_msg() in a future commit. |
sys/compat/linux/linux_emul.h | ||
35 ↗ | (On Diff #57180) | Thing is, we don't need the entire imgact.h there - it's just a compilation fix. |
sys/compat/linux/linux_misc.h | ||
152 ↗ | (On Diff #57180) | Yeah. I don't see much point in working on 32 bit ptrace; I'm not even sure if CentOS folks still distribute 32 bit strace(1) binary. |
sys/compat/linux/linux_misc.h | ||
---|---|---|
152 ↗ | (On Diff #57180) | I mean one more #ifdef amd64 ) |
Okay, there's still something wrong. While "kldload linux64" works, the "kldload linux" doesn't due to "link_elf_obj: symbol linux_ptrace_status undefined" error.
:)
as I already say, moving linux_ptrace_status() to MI (linux_util.c or linux.c) solves you problem with ifdefs )