Author: madcoder Date: 2007-11-01 13:41:15 +0000 (Thu, 01 Nov 2007) New Revision: 2640
Added: glibc-package/branches/glibc-2.7/debian/patches/alpha/submitted-PTR_MANGLE.diff Modified: glibc-package/branches/glibc-2.7/debian/changelog glibc-package/branches/glibc-2.7/debian/patches/series Log: Hopefully fix alpha. Signed-off-by: Pierre Habouzit <[EMAIL PROTECTED]> Modified: glibc-package/branches/glibc-2.7/debian/changelog =================================================================== --- glibc-package/branches/glibc-2.7/debian/changelog 2007-11-01 10:18:37 UTC (rev 2639) +++ glibc-package/branches/glibc-2.7/debian/changelog 2007-11-01 13:41:15 UTC (rev 2640) @@ -86,8 +86,9 @@ * Add locale/preprocessor-collate-uli-sucks.diff to revert Ulrich's preprocessor that isn't enough for Debian. * Update patches/locale/preprocessor-collate.diff. + * Add alpha/submitted-PTR_MANGLE.diff (Closes: #448508). - -- Aurelien Jarno <[EMAIL PROTECTED]> Mon, 29 Oct 2007 10:54:31 +0100 + -- Pierre Habouzit <[EMAIL PROTECTED]> Thu, 01 Nov 2007 14:38:51 +0100 glibc (2.6.1-6) unstable; urgency=low Added: glibc-package/branches/glibc-2.7/debian/patches/alpha/submitted-PTR_MANGLE.diff =================================================================== --- glibc-package/branches/glibc-2.7/debian/patches/alpha/submitted-PTR_MANGLE.diff (rev 0) +++ glibc-package/branches/glibc-2.7/debian/patches/alpha/submitted-PTR_MANGLE.diff 2007-11-01 13:41:15 UTC (rev 2640) @@ -0,0 +1,78 @@ +--- 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,30 @@ + 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. */ ++ ++#include <stdint.h> ++ ++#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(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 /* _LINUX_ALPHA_SYSDEP_H */ Modified: glibc-package/branches/glibc-2.7/debian/patches/series =================================================================== --- glibc-package/branches/glibc-2.7/debian/patches/series 2007-11-01 10:18:37 UTC (rev 2639) +++ glibc-package/branches/glibc-2.7/debian/patches/series 2007-11-01 13:41:15 UTC (rev 2640) @@ -49,6 +49,7 @@ alpha/local-gcc4.1.diff -p0 alpha/submitted-xstat.diff -p0 +alpha/submitted-PTR_MANGLE.diff amd64/local-biarch.diff amd64/local-linuxthreads-gscope.diff -p0 -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]