summaryrefslogtreecommitdiff
path: root/patches/glibc/2.7/210-alpha-ptr_mangle.patch
diff options
context:
space:
mode:
Diffstat (limited to 'patches/glibc/2.7/210-alpha-ptr_mangle.patch')
-rw-r--r--patches/glibc/2.7/210-alpha-ptr_mangle.patch94
1 files changed, 0 insertions, 94 deletions
diff --git a/patches/glibc/2.7/210-alpha-ptr_mangle.patch b/patches/glibc/2.7/210-alpha-ptr_mangle.patch
deleted file mode 100644
index 7f22833..0000000
--- a/patches/glibc/2.7/210-alpha-ptr_mangle.patch
+++ /dev/null
@@ -1,94 +0,0 @@
---- glibc-2.7.orig/sysdeps/unix/alpha/sysdep.h
-+++ glibc-2.7/sysdeps/unix/alpha/sysdep.h
-@@ -397,42 +397,4 @@
- _sc_ret = _sc_0, _sc_err = _sc_19; \
- }
-
--/* Pointer mangling support. Note that tls access is slow enough that
-- we don't deoptimize things by placing the pointer check value there. */
--
--#include <stdint.h>
--
--#if defined NOT_IN_libc && defined IS_IN_rtld
--# ifdef __ASSEMBLER__
--# define PTR_MANGLE(dst, src, tmp) \
-- ldah tmp, __pointer_chk_guard_local($29) !gprelhigh; \
-- ldq tmp, __pointer_chk_guard_local(tmp) !gprellow; \
-- xor src, tmp, dst
--# define PTR_MANGLE2(dst, src, tmp) \
-- xor src, tmp, dst
--# define PTR_DEMANGLE(dst, tmp) PTR_MANGLE(dst, dst, tmp)
--# define PTR_DEMANGLE2(dst, tmp) PTR_MANGLE2(dst, dst, tmp)
--# else
--extern uintptr_t __pointer_chk_guard_local attribute_relro attribute_hidden;
--# define PTR_MANGLE(var) \
-- (var) = (__typeof (var)) ((uintptr_t) (var) ^ __pointer_chk_guard_local)
--# define PTR_DEMANGLE(var) PTR_MANGLE(var)
--# endif
--#elif defined PIC
--# ifdef __ASSEMBLER__
--# define PTR_MANGLE(dst, src, tmp) \
-- ldq tmp, __pointer_chk_guard; \
-- xor src, tmp, dst
--# define PTR_MANGLE2(dst, src, tmp) \
-- xor src, tmp, dst
--# define PTR_DEMANGLE(dst, tmp) PTR_MANGLE(dst, dst, tmp)
--# define PTR_DEMANGLE2(dst, tmp) PTR_MANGLE2(dst, dst, tmp)
--# else
--extern uintptr_t __pointer_chk_guard attribute_relro;
--# define PTR_MANGLE(var) \
-- (var) = (void *) ((uintptr_t) (var) ^ __pointer_chk_guard)
--# define PTR_DEMANGLE(var) PTR_MANGLE(var)
--# endif
--#endif
--
- #endif /* ASSEMBLER */
---- glibc-2.7.orig/sysdeps/unix/sysv/linux/alpha/sysdep.h
-+++ glibc-2.7/sysdeps/unix/sysv/linux/alpha/sysdep.h
-@@ -98,4 +98,46 @@
- INTERNAL_SYSCALL1(name, err_out, nr, args); \
- })
-
-+/* Pointer mangling support. Note that tls access is slow enough that
-+ we don't deoptimize things by placing the pointer check value there. */
-+
-+#if defined NOT_IN_libc && defined IS_IN_rtld
-+# ifdef __ASSEMBLER__
-+# define PTR_MANGLE(dst, src, tmp) \
-+ ldah tmp, __pointer_chk_guard_local($29) !gprelhigh; \
-+ ldq tmp, __pointer_chk_guard_local(tmp) !gprellow; \
-+ xor src, tmp, dst
-+# define PTR_MANGLE2(dst, src, tmp) \
-+ xor src, tmp, dst
-+# define PTR_DEMANGLE(dst, tmp) PTR_MANGLE(dst, dst, tmp)
-+# define PTR_DEMANGLE2(dst, tmp) PTR_MANGLE2(dst, dst, tmp)
-+# else
-+extern uintptr_t __pointer_chk_guard_local attribute_relro attribute_hidden;
-+# define PTR_MANGLE(var) \
-+ (var) = (__typeof (var)) ((uintptr_t) (var) ^ __pointer_chk_guard_local)
-+# define PTR_DEMANGLE(var) PTR_MANGLE(var)
-+# endif
-+#elif defined PIC
-+# ifdef __ASSEMBLER__
-+# define PTR_MANGLE(dst, src, tmp) \
-+ ldq tmp, __pointer_chk_guard; \
-+ xor src, tmp, dst
-+# define PTR_MANGLE2(dst, src, tmp) \
-+ xor src, tmp, dst
-+# define PTR_DEMANGLE(dst, tmp) PTR_MANGLE(dst, dst, tmp)
-+# define PTR_DEMANGLE2(dst, tmp) PTR_MANGLE2(dst, dst, tmp)
-+# else
-+extern uintptr_t __pointer_chk_guard attribute_relro;
-+# define PTR_MANGLE(var) \
-+ (var) = (void *) ((uintptr_t) (var) ^ __pointer_chk_guard)
-+# define PTR_DEMANGLE(var) PTR_MANGLE(var)
-+# endif
-+#else
-+/* Pointer mangling is not yet supported for static libc on alpha. */
-+# ifndef __ASSEMBLER__
-+# define PTR_MANGLE(var) (void) (var)
-+# define PTR_DEMANGLE(var) (void) (var)
-+# endif
-+#endif
-+
- #endif /* _LINUX_ALPHA_SYSDEP_H */