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 24259 Build 23091: 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 )