1
0
mirror of https://sourceware.org/git/glibc.git synced 2025-07-29 11:41:21 +03:00

* sysdeps/powerpc/powerpc64/setjmp-common.S: Make sure pointer guard

value doesn't survive in a registers when the function returns.
	* sysdeps/powerpc/powerpc32/fpu/setjmp-common.S: Likewise.
	* sysdeps/powerpc/powerpc32/setjmp-common.S: Likewise.

2005-12-30  Jakub Jelinek  <jakub@redhat.com>

	* sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep.h: Define
	PTR_MANGLE2.
	* sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep.h: Define
	PTR_MANGLE2 and PTR_DEMANGLE2.
	* sysdeps/powerpc/powerpc64/__longjmp-common.S: Use PTR_DEMANGLE2.
	* sysdeps/powerpc/powerpc64/setjmp-common.S: Use PTR_MANGLE2.
	* sysdeps/powerpc/powerpc32/fpu/setjmp-common.S: Likewise.
	* sysdeps/powerpc/powerpc32/setjmp-common.S: Likewise.

2005-12-30  Ulrich Drepper  <drepper@redhat.com>
This commit is contained in:
Ulrich Drepper
2005-12-30 21:04:04 +00:00
parent b36205c4ab
commit 5ad7714494
7 changed files with 41 additions and 16 deletions

View File

@ -283,9 +283,10 @@
# define PTR_MANGLE(reg, tmpreg) \
lwz tmpreg,POINTER_GUARD(r2); \
xor reg,tmpreg,reg
# define PTR_DEMANGLE(reg, tmpreg) PTR_MANGLE (reg, tmpreg)
# define PTR_DEMANGLE2(reg, tmpreg) \
# define PTR_MANGLE2(reg, tmpreg) \
xor reg,tmpreg,reg
# define PTR_DEMANGLE(reg, tmpreg) PTR_MANGLE (reg, tmpreg)
# define PTR_DEMANGLE2(reg, tmpreg) PTR_MANGLE2 (reg, tmpreg)
# else
# define PTR_MANGLE(var) \
(var) = (__typeof (var)) ((uintptr_t) (var) ^ THREAD_GET_POINTER_GUARD ())

View File

@ -297,7 +297,10 @@
# define PTR_MANGLE(reg, tmpreg) \
ld tmpreg,POINTER_GUARD(r13); \
xor reg,tmpreg,reg
# define PTR_MANGLE2(reg, tmpreg) \
xor reg,tmpreg,reg
# define PTR_DEMANGLE(reg, tmpreg) PTR_MANGLE (reg, tmpreg)
# define PTR_DEMANGLE2(reg, tmpreg) PTR_MANGLE2 (reg, tmpreg)
# else
# define PTR_MANGLE(var) \
(var) = (void *) ((uintptr_t) (var) ^ THREAD_GET_POINTER_GUARD ())