diff options
author | Waldemar Brodkorb <wbx@uclibc-ng.org> | 2016-07-08 16:01:41 +0200 |
---|---|---|
committer | Waldemar Brodkorb <wbx@uclibc-ng.org> | 2016-07-17 11:22:40 +0200 |
commit | 4458cc330e6e5b7369151ebe172c00faceb43ade (patch) | |
tree | eb96eb6ccda71a9b93b9f9b7d5cfda500d23d92b | |
parent | ff58e44fc38474b1898c59caf9a5e75d0d8c6c57 (diff) |
cleanup PTR_MANGLE/PTR_DEMANGLE support
As this is only implemented for a few architecture and not well
tested, just remove it.
Reviewed-by: Max Filippov <jcmvbkbc@gmail.com>
-rw-r--r-- | libc/sysdeps/linux/arc/sysdep.h | 5 | ||||
-rw-r--r-- | libc/sysdeps/linux/arm/sysdep.h | 5 | ||||
-rw-r--r-- | libc/sysdeps/linux/i386/sysdep.h | 30 | ||||
-rw-r--r-- | libc/sysdeps/linux/metag/sysdep.h | 4 | ||||
-rw-r--r-- | libc/sysdeps/linux/mips/sysdep.h | 6 | ||||
-rw-r--r-- | libc/sysdeps/linux/powerpc/bits/syscalls.h | 26 | ||||
-rw-r--r-- | libc/sysdeps/linux/sh/sysdep.h | 20 | ||||
-rw-r--r-- | libc/sysdeps/linux/sparc/sysdep.h | 5 | ||||
-rw-r--r-- | libc/sysdeps/linux/x86_64/sched_getcpu.S | 1 | ||||
-rw-r--r-- | libc/sysdeps/linux/x86_64/sysdep.h | 41 | ||||
-rw-r--r-- | libc/sysdeps/linux/xtensa/sysdep.h | 5 | ||||
-rw-r--r-- | libpthread/nptl/sysdeps/pthread/pthread-functions.h | 8 | ||||
-rw-r--r-- | libpthread/nptl/sysdeps/pthread/unwind-forcedunwind.c | 8 |
13 files changed, 0 insertions, 164 deletions
diff --git a/libc/sysdeps/linux/arc/sysdep.h b/libc/sysdeps/linux/arc/sysdep.h index d75d89100..5fcc63deb 100644 --- a/libc/sysdeps/linux/arc/sysdep.h +++ b/libc/sysdeps/linux/arc/sysdep.h @@ -18,9 +18,4 @@ nm: #endif /* __ASSEMBLER __*/ #include <common/sysdep.h> - -/* Pointer mangling is not yet supported */ -#define PTR_MANGLE(var) (void) (var) -#define PTR_DEMANGLE(var) (void) (var) - #endif diff --git a/libc/sysdeps/linux/arm/sysdep.h b/libc/sysdeps/linux/arm/sysdep.h index cdc276c8a..208521f1c 100644 --- a/libc/sysdeps/linux/arm/sysdep.h +++ b/libc/sysdeps/linux/arm/sysdep.h @@ -277,9 +277,4 @@ __local_syscall_error: \ #define UNDOARGS_7 ldmfd sp!, {r4, r5, r6}; #endif /* __ASSEMBLER__ */ - -/* Pointer mangling is not yet supported for ARM. */ -#define PTR_MANGLE(var) (void) (var) -#define PTR_DEMANGLE(var) (void) (var) - #endif /* linux/arm/sysdep.h */ diff --git a/libc/sysdeps/linux/i386/sysdep.h b/libc/sysdeps/linux/i386/sysdep.h index c92a10663..4fa47fcf2 100644 --- a/libc/sysdeps/linux/i386/sysdep.h +++ b/libc/sysdeps/linux/i386/sysdep.h @@ -396,34 +396,4 @@ __x86.get_pc_thunk.reg: \ cfi_restore (ebp); L(POPBP1): #endif /* __ASSEMBLER__ */ - - -/* Pointer mangling support. */ -#if defined NOT_IN_libc && defined IS_IN_rtld -/* We cannot use the thread descriptor because in ld.so we use setjmp - earlier than the descriptor is initialized. Using a global variable - is too complicated here since we have no PC-relative addressing mode. */ -#else -# ifdef __ASSEMBLER__ -# define PTR_MANGLE(reg) xorl %gs:POINTER_GUARD, reg; \ - roll $9, reg -# define PTR_DEMANGLE(reg) rorl $9, reg; \ - xorl %gs:POINTER_GUARD, reg -# else -# include <stddef.h> -# define PTR_MANGLE(var) __asm__ ("xorl %%gs:%c2, %0\n" \ - "roll $9, %0" \ - : "=r" (var) \ - : "0" (var), \ - "i" (offsetof (tcbhead_t, \ - pointer_guard))) -# define PTR_DEMANGLE(var) __asm__ ("rorl $9, %0\n" \ - "xorl %%gs:%c2, %0" \ - : "=r" (var) \ - : "0" (var), \ - "i" (offsetof (tcbhead_t, \ - pointer_guard))) -# endif -#endif - #endif /* linux/i386/sysdep.h */ diff --git a/libc/sysdeps/linux/metag/sysdep.h b/libc/sysdeps/linux/metag/sysdep.h index a12f393ce..8750641b6 100644 --- a/libc/sysdeps/linux/metag/sysdep.h +++ b/libc/sysdeps/linux/metag/sysdep.h @@ -53,7 +53,3 @@ __local_syscall_error: \ #endif #endif /* __ASSEMBLER __*/ - -/* Pointer mangling is not yet supported for META. */ -#define PTR_MANGLE(var) (void) (var) -#define PTR_DEMANGLE(var) (void) (var) diff --git a/libc/sysdeps/linux/mips/sysdep.h b/libc/sysdeps/linux/mips/sysdep.h index 86873ac7b..e0c5c9488 100644 --- a/libc/sysdeps/linux/mips/sysdep.h +++ b/libc/sysdeps/linux/mips/sysdep.h @@ -128,11 +128,5 @@ L(syse1): # define SYSCALL_ERROR_LABEL 99b #endif -#else /* ! __ASSEMBLER__ */ - -/* Pointer mangling is not yet supported for MIPS. */ -#define PTR_MANGLE(var) (void) (var) -#define PTR_DEMANGLE(var) (void) (var) - #endif /* __ASSEMBLER__ */ #endif /* _LINUX_MIPS_SYSDEP_H */ diff --git a/libc/sysdeps/linux/powerpc/bits/syscalls.h b/libc/sysdeps/linux/powerpc/bits/syscalls.h index c52d5dd5b..d0f78c365 100644 --- a/libc/sysdeps/linux/powerpc/bits/syscalls.h +++ b/libc/sysdeps/linux/powerpc/bits/syscalls.h @@ -226,30 +226,4 @@ extern void __illegally_sized_syscall_arg6(void); # define ASM_INPUT_6 ASM_INPUT_5, "6" (r8) #endif /* __ASSEMBLER__ */ - - -/* Pointer mangling support. */ -#if defined NOT_IN_libc && defined IS_IN_rtld -/* We cannot use the thread descriptor because in ld.so we use setjmp - earlier than the descriptor is initialized. */ -#else -# ifdef __ASSEMBLER__ -# define PTR_MANGLE(reg, tmpreg) \ - lwz tmpreg,POINTER_GUARD(r2); \ - xor reg,tmpreg,reg -# define PTR_MANGLE2(reg, tmpreg) \ - xor reg,tmpreg,reg -# define PTR_MANGLE3(destreg, reg, tmpreg) \ - lwz tmpreg,POINTER_GUARD(r2); \ - xor destreg,tmpreg,reg -# define PTR_DEMANGLE(reg, tmpreg) PTR_MANGLE (reg, tmpreg) -# define PTR_DEMANGLE2(reg, tmpreg) PTR_MANGLE2 (reg, tmpreg) -# define PTR_DEMANGLE3(destreg, reg, tmpreg) PTR_MANGLE3 (destreg, reg, tmpreg) -# else -# define PTR_MANGLE(var) \ - (var) = (__typeof (var)) ((uintptr_t) (var) ^ THREAD_GET_POINTER_GUARD ()) -# define PTR_DEMANGLE(var) PTR_MANGLE (var) -# endif -#endif - #endif /* _BITS_SYSCALLS_H */ diff --git a/libc/sysdeps/linux/sh/sysdep.h b/libc/sysdeps/linux/sh/sysdep.h index b9b0009a5..281c4158e 100644 --- a/libc/sysdeps/linux/sh/sysdep.h +++ b/libc/sysdeps/linux/sh/sysdep.h @@ -271,23 +271,3 @@ 1: .long SYS_ify (syscall_name); \ 2: #endif /* __ASSEMBLER__ */ - -/* Pointer mangling support. */ -#if defined NOT_IN_libc && defined IS_IN_rtld -/* We cannot use the thread descriptor because in ld.so we use setjmp - earlier than the descriptor is initialized. Using a global variable - is too complicated here since we have no PC-relative addressing mode. */ -#else -# ifdef __ASSEMBLER__ -# define PTR_MANGLE(reg, tmp) \ - stc gbr,tmp; mov.l @(POINTER_GUARD,tmp),tmp; xor tmp,reg -# define PTR_MANGLE2(reg, tmp) xor tmp,reg -# define PTR_DEMANGLE(reg, tmp) PTR_MANGLE (reg, tmp) -# define PTR_DEMANGLE2(reg, tmp) PTR_MANGLE2 (reg, tmp) -# else -# define PTR_MANGLE(var) \ - (var) = (void *) ((uintptr_t) (var) ^ THREAD_GET_POINTER_GUARD ()) -# define PTR_DEMANGLE(var) PTR_MANGLE (var) -# endif -#endif - diff --git a/libc/sysdeps/linux/sparc/sysdep.h b/libc/sysdeps/linux/sparc/sysdep.h index cf3e3afd1..c3897ec08 100644 --- a/libc/sysdeps/linux/sparc/sysdep.h +++ b/libc/sysdeps/linux/sparc/sysdep.h @@ -61,9 +61,4 @@ ENTRY(name); \ #endif /* __ASSEMBLER__ */ - -/* Pointer mangling is not yet supported for SPARC. */ -#define PTR_MANGLE(var) (void) (var) -#define PTR_DEMANGLE(var) (void) (var) - #endif diff --git a/libc/sysdeps/linux/x86_64/sched_getcpu.S b/libc/sysdeps/linux/x86_64/sched_getcpu.S index f8c09c0f2..1e0a344c7 100644 --- a/libc/sysdeps/linux/x86_64/sched_getcpu.S +++ b/libc/sysdeps/linux/x86_64/sched_getcpu.S @@ -37,7 +37,6 @@ ENTRY (sched_getcpu) #ifdef SHARED movq __vdso_getcpu(%rip), %rax - PTR_DEMANGLE (%rax) callq *%rax #else # ifdef __NR_getcpu diff --git a/libc/sysdeps/linux/x86_64/sysdep.h b/libc/sysdeps/linux/x86_64/sysdep.h index 3bfeaca50..0e5100122 100644 --- a/libc/sysdeps/linux/x86_64/sysdep.h +++ b/libc/sysdeps/linux/x86_64/sysdep.h @@ -286,45 +286,4 @@ lose: \ # define DOARGS_6 DOARGS_5 #endif /* __ASSEMBLER__ */ - - -/* Pointer mangling support. */ -#if defined NOT_IN_libc && defined IS_IN_rtld -/* We cannot use the thread descriptor because in ld.so we use setjmp - earlier than the descriptor is initialized. */ -# ifdef __ASSEMBLER__ -# define PTR_MANGLE(reg) xorq __pointer_chk_guard_local(%rip), reg; \ - rolq $17, reg -# define PTR_DEMANGLE(reg) rorq $17, reg; \ - xorq __pointer_chk_guard_local(%rip), reg -# else -# define PTR_MANGLE(reg) __asm__ ("xorq __pointer_chk_guard_local(%%rip), %0\n" \ - "rolq $17, %0" \ - : "=r" (reg) : "0" (reg)) -# define PTR_DEMANGLE(reg) __asm__ ("rorq $17, %0\n" \ - "xorq __pointer_chk_guard_local(%%rip), %0" \ - : "=r" (reg) : "0" (reg)) -# endif -#else -# ifdef __ASSEMBLER__ -# define PTR_MANGLE(reg) xorq %fs:POINTER_GUARD, reg; \ - rolq $17, reg -# define PTR_DEMANGLE(reg) rorq $17, reg; \ - xorq %fs:POINTER_GUARD, reg -# else -# define PTR_MANGLE(var) __asm__ ("xorq %%fs:%c2, %0\n" \ - "rolq $17, %0" \ - : "=r" (var) \ - : "0" (var), \ - "i" (offsetof (tcbhead_t, \ - pointer_guard))) -# define PTR_DEMANGLE(var) __asm__ ("rorq $17, %0\n" \ - "xorq %%fs:%c2, %0" \ - : "=r" (var) \ - : "0" (var), \ - "i" (offsetof (tcbhead_t, \ - pointer_guard))) -# endif -#endif - #endif /* linux/x86_64/sysdep.h */ diff --git a/libc/sysdeps/linux/xtensa/sysdep.h b/libc/sysdeps/linux/xtensa/sysdep.h index f5a40eb3a..060b9b918 100644 --- a/libc/sysdeps/linux/xtensa/sysdep.h +++ b/libc/sysdeps/linux/xtensa/sysdep.h @@ -207,9 +207,4 @@ #endif /* _LIBC_REENTRANT */ #endif /* __ASSEMBLER__ */ - -/* Pointer mangling is not yet supported for Xtensa. */ -#define PTR_MANGLE(var) (void) (var) -#define PTR_DEMANGLE(var) (void) (var) - #endif /* _LINUX_XTENSA_SYSDEP_H */ diff --git a/libpthread/nptl/sysdeps/pthread/pthread-functions.h b/libpthread/nptl/sysdeps/pthread/pthread-functions.h index 119fe6b71..9c78180c5 100644 --- a/libpthread/nptl/sysdeps/pthread/pthread-functions.h +++ b/libpthread/nptl/sysdeps/pthread/pthread-functions.h @@ -102,15 +102,7 @@ struct pthread_functions extern struct pthread_functions __libc_pthread_functions attribute_hidden; extern int __libc_pthread_functions_init attribute_hidden; -#if 0 /* def PTR_DEMANGLE */ /* we did not mangle, so do not demangle */ -# define PTHFCT_CALL(fct, params) \ - ({ __typeof (__libc_pthread_functions.fct) __p; \ - __p = __libc_pthread_functions.fct; \ - PTR_DEMANGLE (__p); \ - __p params; }) -#else # define PTHFCT_CALL(fct, params) \ __libc_pthread_functions.fct params -#endif #endif /* pthread-functions.h */ diff --git a/libpthread/nptl/sysdeps/pthread/unwind-forcedunwind.c b/libpthread/nptl/sysdeps/pthread/unwind-forcedunwind.c index 6936a896e..6b6ad6f4f 100644 --- a/libpthread/nptl/sysdeps/pthread/unwind-forcedunwind.c +++ b/libpthread/nptl/sysdeps/pthread/unwind-forcedunwind.c @@ -70,13 +70,9 @@ pthread_cancel_init (void) abort(); } - PTR_MANGLE (resume); libgcc_s_resume = resume; - PTR_MANGLE (personality); libgcc_s_personality = personality; - PTR_MANGLE (forcedunwind); libgcc_s_forcedunwind = forcedunwind; - PTR_MANGLE (getcfa); libgcc_s_getcfa = getcfa; /* Make sure libgcc_s_handle is written last. Otherwise, pthread_cancel_init might return early even when the pointer the @@ -104,7 +100,6 @@ _Unwind_Resume (struct _Unwind_Exception *exc) pthread_cancel_init (); void (*resume) (struct _Unwind_Exception *exc) = libgcc_s_resume; - PTR_DEMANGLE (resume); resume (exc); } @@ -125,7 +120,6 @@ __gcc_personality_v0 (int version, _Unwind_Action actions, _Unwind_Reason_Code (*personality) (int, _Unwind_Action, _Unwind_Exception_Class, struct _Unwind_Exception *, struct _Unwind_Context *) = libgcc_s_personality; - PTR_DEMANGLE (personality); return personality (version, actions, exception_class, ue_header, context); } @@ -139,7 +133,6 @@ _Unwind_ForcedUnwind (struct _Unwind_Exception *exc, _Unwind_Stop_Fn stop, _Unwind_Reason_Code (*forcedunwind) (struct _Unwind_Exception *, _Unwind_Stop_Fn, void *) = libgcc_s_forcedunwind; - PTR_DEMANGLE (forcedunwind); return forcedunwind (exc, stop, stop_argument); } @@ -150,6 +143,5 @@ _Unwind_GetCFA (struct _Unwind_Context *context) pthread_cancel_init (); _Unwind_Word (*getcfa) (struct _Unwind_Context *) = libgcc_s_getcfa; - PTR_DEMANGLE (getcfa); return getcfa (context); } |