This is the mail archive of the libc-hacker@sources.redhat.com 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] |
i686: no build time or runtime regressions. OK? 2000-07-26 Greg McGary <greg@mcgary.org> * sysdeps/i386/bits/string.h [!__BOUNDED_POINTERS__]: Disable inlines. * sysdeps/i386/i486/bits/string.h [!__BOUNDED_POINTERS__]: Likewise. * sysdeps/unix/sysv/linux/getsysstats.c (get_proc_path): Copy bounds of copy_result to mount_proc. Index: sysdeps/i386/bits/string.h =================================================================== RCS file: /cvs/glibc/libc/sysdeps/i386/bits/string.h,v retrieving revision 1.18 diff -u -p -r1.18 string.h --- string.h 2000/06/30 08:51:50 1.18 +++ string.h 2000/07/26 08:16:37 @@ -28,7 +28,7 @@ /* We only provide optimizations if the user selects them and if GNU CC is used. */ #if !defined __NO_STRING_INLINES && defined __USE_STRING_INLINES \ - && defined __GNUC__ && __GNUC__ >= 2 + && defined __GNUC__ && __GNUC__ >= 2 && !__BOUNDED_POINTERS__ #ifndef __STRING_INLINE # ifdef __cplusplus Index: sysdeps/i386/i486/bits/string.h =================================================================== RCS file: /cvs/glibc/libc/sysdeps/i386/i486/bits/string.h,v retrieving revision 1.35 diff -u -p -r1.35 string.h --- string.h 1999/10/04 07:26:58 1.35 +++ string.h 2000/07/26 08:16:38 @@ -1,5 +1,5 @@ /* Optimized, inlined string functions. i486 version. - Copyright (C) 1997, 1998, 1999 Free Software Foundation, Inc. + Copyright (C) 1997, 1998, 1999, 2000 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 @@ -28,7 +28,7 @@ /* We only provide optimizations if the user selects them and if GNU CC is used. */ #if !defined __NO_STRING_INLINES && defined __USE_STRING_INLINES \ - && defined __GNUC__ && __GNUC__ >= 2 + && defined __GNUC__ && __GNUC__ >= 2 && !__BOUNDED_POINTERS__ #ifndef __STRING_INLINE # ifdef __cplusplus Index: sysdeps/unix/sysv/linux/getsysstats.c =================================================================== RCS file: /cvs/glibc/libc/sysdeps/unix/sysv/linux/getsysstats.c,v retrieving revision 1.15 diff -u -p -r1.15 getsysstats.c --- getsysstats.c 2000/07/17 22:30:16 1.15 +++ getsysstats.c 2000/07/26 08:16:38 @@ -85,6 +85,15 @@ get_proc_path (char *buffer, size_t bufs /* Replacing the value failed. This means another thread was faster and we don't need the copy anymore. */ free (copy_result); +#if __BOUNDED_POINTERS__ + else + { + /* compare_and_swap only copied the pointer value, so we must + now copy the bounds as well. */ + __ptrlow (mount_proc) = __ptrlow (copy_result); + __ptrhigh (mount_proc) = __ptrhigh (copy_result); + } +#endif return mount_proc; }
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |