Implement PTRACE_O_TRACESYSGOOD. This makes Linux strace(1) work.
Details
Diff Detail
- Repository
- rS FreeBSD src repository - subversion
- Lint
Lint Passed - Unit
No Test Coverage - Build Status
Buildable 24247 Build 23083: arc lint + arc unit
Event Timeline
sys/amd64/linux/linux_ptrace.c | ||
---|---|---|
115 | used from MI code, and in my understandig can be MI too, | |
323 | btw, in the Linuxulator we have linux_msg() :) | |
sys/compat/linux/linux_emul.h | ||
35 | I prefer to include imgact.h in the linux_ptrace.c, again, up to you | |
sys/compat/linux/linux_misc.c | ||
927 | it will break i386, arm64 Linuxulators | |
sys/compat/linux/linux_misc.h | ||
152–154 | only for amd64? |
sys/amd64/linux/linux_ptrace.c | ||
---|---|---|
115 | 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 | Good point; I'll change all the printfs here to linux_msg() in a future commit. | |
sys/compat/linux/linux_emul.h | ||
35 | Thing is, we don't need the entire imgact.h there - it's just a compilation fix. | |
sys/compat/linux/linux_misc.h | ||
152–154 | 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–154 | 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 )