diff options
Diffstat (limited to 'arch/ia64/include/asm/ptrace.h')
-rw-r--r-- | arch/ia64/include/asm/ptrace.h | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/arch/ia64/include/asm/ptrace.h b/arch/ia64/include/asm/ptrace.h index f5cb27614e35..68c98f5b3ca6 100644 --- a/arch/ia64/include/asm/ptrace.h +++ b/arch/ia64/include/asm/ptrace.h | |||
@@ -246,7 +246,18 @@ static inline unsigned long user_stack_pointer(struct pt_regs *regs) | |||
246 | return regs->ar_bspstore; | 246 | return regs->ar_bspstore; |
247 | } | 247 | } |
248 | 248 | ||
249 | #define regs_return_value(regs) ((regs)->r8) | 249 | static inline int is_syscall_success(struct pt_regs *regs) |
250 | { | ||
251 | return regs->r10 != -1; | ||
252 | } | ||
253 | |||
254 | static inline long regs_return_value(struct pt_regs *regs) | ||
255 | { | ||
256 | if (is_syscall_success(regs)) | ||
257 | return regs->r8; | ||
258 | else | ||
259 | return -regs->r8; | ||
260 | } | ||
250 | 261 | ||
251 | /* Conserve space in histogram by encoding slot bits in address | 262 | /* Conserve space in histogram by encoding slot bits in address |
252 | * bits 2 and 3 rather than bits 0 and 1. | 263 | * bits 2 and 3 rather than bits 0 and 1. |