119 #define ptrace_getregs(request, pid, addr, data) ptrace(request, pid, addr, data) |
119 #define ptrace_getregs(request, pid, addr, data) ptrace(request, pid, addr, data) |
120 #else |
120 #else |
121 #define ptrace_getregs(request, pid, addr, data) ptrace(request, pid, data, addr) |
121 #define ptrace_getregs(request, pid, addr, data) ptrace(request, pid, data, addr) |
122 #endif |
122 #endif |
123 |
123 |
124 #ifdef _LP64 |
124 #if defined(_LP64) && defined(PTRACE_GETREGS64) |
125 #ifdef PTRACE_GETREGS64 |
|
126 #define PTRACE_GETREGS_REQ PTRACE_GETREGS64 |
125 #define PTRACE_GETREGS_REQ PTRACE_GETREGS64 |
127 #endif |
126 #elif defined(PTRACE_GETREGS) |
128 #else |
|
129 #if defined(PTRACE_GETREGS) || defined(PT_GETREGS) |
|
130 #define PTRACE_GETREGS_REQ PTRACE_GETREGS |
127 #define PTRACE_GETREGS_REQ PTRACE_GETREGS |
131 #endif |
128 #elif defined(PT_GETREGS) |
132 #endif /* _LP64 */ |
129 #define PTRACE_GETREGS_REQ PT_GETREGS |
|
130 #endif |
133 |
131 |
134 #ifdef PTRACE_GETREGS_REQ |
132 #ifdef PTRACE_GETREGS_REQ |
135 if (ptrace_getregs(PTRACE_GETREGS_REQ, pid, user, NULL) < 0) { |
133 if (ptrace_getregs(PTRACE_GETREGS_REQ, pid, user, NULL) < 0) { |
136 print_debug("ptrace(PTRACE_GETREGS, ...) failed for lwp %d\n", pid); |
134 print_debug("ptrace(PTRACE_GETREGS, ...) failed for lwp %d\n", pid); |
137 return false; |
135 return false; |