diff options
author | Dmitry Pankratov <dp@ubiquitech.com> | 2016-11-11 21:03:11 +0100 |
---|---|---|
committer | Dmitry Pankratov <dp@ubiquitech.com> | 2016-11-11 21:03:11 +0100 |
commit | 0d17d26005efbd5d6157df0f68a26c738c385ed2 (patch) | |
tree | 9c25ccb481bd4b58e54c692403d9c49402f09d98 /patches/glibc/2.7/210-alpha-ptr_mangle.patch | |
parent | 34ca68e3b076f4a7eea78aa46215fa50dfb1e322 (diff) | |
parent | 5ebbb52be04e42bbd1c28b903eba642bebaeb1b6 (diff) | |
download | crosstool-ng-0d17d26005efbd5d6157df0f68a26c738c385ed2.tar.gz crosstool-ng-0d17d26005efbd5d6157df0f68a26c738c385ed2.tar.bz2 crosstool-ng-0d17d26005efbd5d6157df0f68a26c738c385ed2.zip |
Merge remote-tracking branch 'upstream/master'
Diffstat (limited to 'patches/glibc/2.7/210-alpha-ptr_mangle.patch')
-rw-r--r-- | patches/glibc/2.7/210-alpha-ptr_mangle.patch | 94 |
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 7f228333..00000000 --- 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 */ |