This is the mail archive of the libc-hacker@sourceware.org mailing list for the glibc project.
Note that libc-hacker is a closed list. You may look at the archives of this list, but subscription and posting are not open.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
On Wed, Jan 11, 2006 at 04:25:07PM -0800, Ulrich Drepper wrote: > I already added the previous patch plus the --as-needed fixup. Please > resent whatever patch is needed on top of the current CVS version. Here's what's needed vs yesterday's cvs. A couple of new things crept in on the side. r~ 2006-01-13 Richard Henderson <rth@redhat.com> nptl/ * sysdeps/alpha/tls.h (tcbhead_t): Rename member to __private. * sysdeps/alpha/__longjmp.S: Update copyright. * sysdeps/alpha/setjmp.S: Likewise. * sysdeps/unix/sysv/linux/alpha/sysdep.h (PTR_MANGLE, PTR_MANGLE2, PTR_DEMANGLE, PTR_DEMANGLE2): Move ... * sysdeps/unix/alpha/sysdep.h: ... here. * sysdeps/unix/sysv/linux/alpha/fxstatat.c: Define __GI___fxstatat64. Index: nptl/sysdeps/alpha/tls.h =================================================================== RCS file: /cvs/glibc/libc/nptl/sysdeps/alpha/tls.h,v retrieving revision 1.5 diff -u -p -d -r1.5 tls.h --- nptl/sysdeps/alpha/tls.h 6 Jan 2005 22:40:24 -0000 1.5 +++ nptl/sysdeps/alpha/tls.h 13 Jan 2006 21:05:29 -0000 @@ -65,7 +65,7 @@ typedef union dtv typedef struct { dtv_t *dtv; - void *private; + void *__private; } tcbhead_t; /* This is the size of the initial TCB. */ Index: sysdeps/alpha/__longjmp.S =================================================================== RCS file: /cvs/glibc/libc/sysdeps/alpha/__longjmp.S,v retrieving revision 1.4 diff -u -p -d -r1.4 __longjmp.S --- sysdeps/alpha/__longjmp.S 11 Jan 2006 22:14:19 -0000 1.4 +++ sysdeps/alpha/__longjmp.S 13 Jan 2006 21:05:30 -0000 @@ -1,4 +1,4 @@ -/* Copyright (C) 1992, 1994, 1997 Free Software Foundation, Inc. +/* Copyright (C) 1992, 1994, 1997, 2006 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or Index: sysdeps/alpha/setjmp.S =================================================================== RCS file: /cvs/glibc/libc/sysdeps/alpha/setjmp.S,v retrieving revision 1.20 diff -u -p -d -r1.20 setjmp.S --- sysdeps/alpha/setjmp.S 11 Jan 2006 22:15:28 -0000 1.20 +++ sysdeps/alpha/setjmp.S 13 Jan 2006 21:05:30 -0000 @@ -1,4 +1,5 @@ -/* Copyright (C) 1992, 1994, 1996, 1997, 2002 Free Software Foundation, Inc. +/* Copyright (C) 1992, 1994, 1996, 1997, 2002, 2006 + Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or Index: sysdeps/unix/alpha/sysdep.h =================================================================== RCS file: /cvs/glibc/libc/sysdeps/unix/alpha/sysdep.h,v retrieving revision 1.27 diff -u -p -d -r1.27 sysdep.h --- sysdeps/unix/alpha/sysdep.h 20 Sep 2005 05:35:42 -0000 1.27 +++ sysdeps/unix/alpha/sysdep.h 13 Jan 2006 21:05:32 -0000 @@ -1,4 +1,4 @@ -/* Copyright (C) 1992, 1995, 1996, 2000, 2003, 2004 +/* Copyright (C) 1992, 1995, 1996, 2000, 2003, 2004, 2006 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Brendan Kehoe (brendan@zen.org). @@ -397,4 +397,42 @@ __LABEL(name) \ _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) = (void *) ((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 */ Index: sysdeps/unix/sysv/linux/alpha/fxstatat.c =================================================================== RCS file: /cvs/glibc/libc/sysdeps/unix/sysv/linux/alpha/fxstatat.c,v retrieving revision 1.2 diff -u -p -d -r1.2 fxstatat.c --- sysdeps/unix/sysv/linux/alpha/fxstatat.c 26 Nov 2005 00:52:45 -0000 1.2 +++ sysdeps/unix/sysv/linux/alpha/fxstatat.c 13 Jan 2006 21:05:32 -0000 @@ -1,4 +1,4 @@ -/* Copyright (C) 2005 Free Software Foundation, Inc. +/* Copyright (C) 2005, 2006 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -94,4 +94,5 @@ __fxstatat (int vers, int fd, const char return -1; } -strong_alias (__fxstatat, __fxstatat64); +strong_alias (__fxstatat, __fxstatat64) +strong_alias (__fxstatat64, __GI___fxstatat64) Index: sysdeps/unix/sysv/linux/alpha/sysdep.h =================================================================== RCS file: /cvs/glibc/libc/sysdeps/unix/sysv/linux/alpha/sysdep.h,v retrieving revision 1.18 diff -u -p -d -r1.18 sysdep.h --- sysdeps/unix/sysv/linux/alpha/sysdep.h 11 Jan 2006 22:16:27 -0000 1.18 +++ sysdeps/unix/sysv/linux/alpha/sysdep.h 13 Jan 2006 21:05:32 -0000 @@ -24,8 +24,6 @@ #ifdef __ASSEMBLER__ #include <asm/pal.h> #include <alpha/regdef.h> -#else -#include <stdint.h> #endif /* There is some commonality. */ @@ -98,39 +96,4 @@ 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) = (void *) ((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 /* _LINUX_ALPHA_SYSDEP_H */
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |