From d29261db22b797e1670730f819f9296251dd42ea Mon Sep 17 00:00:00 2001 From: "H.J. Lu" Date: Wed, 18 May 2016 13:41:43 -0700 Subject: Don't call internal __pthread_unwind via PLT Add PTHREAD_UNWIND to replace JUMPTARGET(__pthread_unwind) and define it to __GI___pthread_unwind within libpthread. * sysdeps/unix/sysv/linux/x86_64/cancellation.S (PTHREAD_UNWIND): New (__pthread_unwind): Renamed to ... (PTHREAD_UNWIND): This. (__pthread_enable_asynccancel): Replace JUMPTARGET(__pthread_unwind) with PTHREAD_UNWIND. --- sysdeps/unix/sysv/linux/x86_64/cancellation.S | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'sysdeps/unix/sysv') diff --git a/sysdeps/unix/sysv/linux/x86_64/cancellation.S b/sysdeps/unix/sysv/linux/x86_64/cancellation.S index 04a0e59ea8..bd22aa0752 100644 --- a/sysdeps/unix/sysv/linux/x86_64/cancellation.S +++ b/sysdeps/unix/sysv/linux/x86_64/cancellation.S @@ -21,9 +21,11 @@ #include #include "lowlevellock.h" +#define PTHREAD_UNWIND JUMPTARGET(__pthread_unwind) #if IS_IN (libpthread) # if defined SHARED && !defined NO_HIDDEN -# define __pthread_unwind __GI___pthread_unwind +# undef PTHREAD_UNWIND +# define PTHREAD_UNWIND __GI___pthread_unwind # endif #else # ifndef SHARED @@ -76,7 +78,7 @@ ENTRY(__pthread_enable_asynccancel) lock orl $TCB_EXITING_BITMASK, %fs:CANCELHANDLING mov %fs:CLEANUP_JMP_BUF, %RDI_LP - call JUMPTARGET(__pthread_unwind) + call PTHREAD_UNWIND hlt END(__pthread_enable_asynccancel) -- cgit 1.4.1