From cb1bf2f321b45a06447133b3db00621b7300c456 Mon Sep 17 00:00:00 2001 From: Rich Felker Date: Mon, 2 Nov 2015 12:39:28 -0500 Subject: properly access mcontext_t program counter in cancellation handler using the actual mcontext_t definition rather than an overlaid pointer array both improves correctness/readability and eliminates some ugly hacks for archs with 64-bit registers bit 32-bit program counter. also fix UB due to comparison of pointers not in a common array object. --- arch/x32/pthread_arch.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'arch/x32') diff --git a/arch/x32/pthread_arch.h b/arch/x32/pthread_arch.h index 033bfd69..ecb0bbfb 100644 --- a/arch/x32/pthread_arch.h +++ b/arch/x32/pthread_arch.h @@ -7,6 +7,6 @@ static inline struct pthread *__pthread_self() #define TP_ADJ(p) (p) -#define CANCEL_REG_IP 32 +#define MC_PC gregs[REG_RIP] #define CANARY canary2 -- cgit v1.2.1