diff options
-rw-r--r-- | ChangeLog | 43 | ||||
-rw-r--r-- | crypt/Makefile | 8 | ||||
-rw-r--r-- | crypt/md5.h | 6 | ||||
-rw-r--r-- | elf/Makefile | 5 | ||||
-rw-r--r-- | elf/elf.h | 13 | ||||
-rw-r--r-- | elf/tst-auditmod1.c | 8 | ||||
-rw-r--r-- | fedora/branch.mk | 4 | ||||
-rw-r--r-- | include/features.h | 11 | ||||
-rw-r--r-- | malloc/arena.c | 3 | ||||
-rw-r--r-- | nss/getent.c | 4 | ||||
-rw-r--r-- | sysdeps/generic/ldsodefs.h | 6 | ||||
-rw-r--r-- | sysdeps/generic/tst-audit.h | 11 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/readonly-area.c | 15 |
13 files changed, 113 insertions, 24 deletions
@@ -1,3 +1,46 @@ +2005-10-10 Ulrich Drepper <drepper@redhat.com> + + * malloc/arena.c (ptmalloc_unlock_all2): Reset atfork_recursive_cntr. + +2005-10-08 Jakub Jelinek <jakub@redhat.com> + + * nss/getent.c (hosts_keys): Pass INADDRSZ as size rather + than IN6ADDRSZ to AF_INET gethostbyaddr. + +2005-10-07 Roland McGrath <roland@redhat.com> + + [BZ #1438] + * include/features.h: Make tests on _FORTIFY_SOURCE and __OPTIMIZE__ + friendly to -Wundef. + (__USE_FORTIFY_LEVEL): Always define it, to 0 if nothing else. + +2005-10-06 Ulrich Drepper <drepper@redhat.com> + + * sysdeps/unix/sysv/linux/readonly-area.c: Allow fopen to fail because + the file does not exist. + +2005-10-05 Simon Josefsson <jas@extundo.com> + + [BZ #1423] + * crypt/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): New macros. + +2005-10-05 Roland McGrath <roland@redhat.com> + + * crypt/Makefile (distribute): Remove duplicate defn. + + * sysdeps/generic/ldsodefs.h (struct audit_ifaces): + Use ARCH_PLTENTER_MEMBERS and ARCH_PLTEXIT_MEMBERS macros if defined. + * elf/tst-auditmod1.c: Include <tst-audit.h> to define more + architecture-specific code. + * sysdeps/generic/tst-audit.h: New file. + * elf/Makefile (distribute): Add it. + +2005-10-05 Daniel Jacobowitz <dan@codesourcery.com> + + * elf/elf.h (R_ARM_TLS_DTPMOD32, R_ARM_TLS_DTPOFF32, + R_ARM_TLS_TPOFF32, R_ARM_TLS_GD32, R_ARM_TLS_LDM32, + R_ARM_TLS_LDO32, R_ARM_TLS_IE32, R_ARM_TLS_LE32): New macros. + 2005-10-03 Jakub Jelinek <jakub@redhat.com> * nscd/selinux.c (audit_init): Print error string in the failure diff --git a/crypt/Makefile b/crypt/Makefile index af088f1e6c..575221a1c5 100644 --- a/crypt/Makefile +++ b/crypt/Makefile @@ -23,17 +23,15 @@ subdir := crypt headers := crypt.h -distribute := md5.h - extra-libs := libcrypt extra-libs-others := $(extra-libs) libcrypt-routines := crypt-entry md5-crypt md5 crypt crypt_util -tests = cert md5test md5c-test +tests := cert md5test md5c-test -distribute = ufc-crypt.h crypt-private.h ufc.c speeds.c README.ufc-crypt \ - Banner md5.h +distribute := ufc-crypt.h crypt-private.h ufc.c speeds.c README.ufc-crypt \ + Banner md5.h include ../Makeconfig diff --git a/crypt/md5.h b/crypt/md5.h index 35088f29fe..b474a84b8b 100644 --- a/crypt/md5.h +++ b/crypt/md5.h @@ -1,6 +1,7 @@ /* Declaration of functions and data types used for MD5 sum computing library functions. - Copyright (C) 1995-1997,1999,2000,2001,2004 Free Software Foundation, Inc. + Copyright (C) 1995-1997,1999,2000,2001,2004,2005 + 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 @@ -27,6 +28,9 @@ # include <limits.h> #endif +#define MD5_DIGEST_SIZE 16 +#define MD5_BLOCK_SIZE 64 + /* The following contortions are an attempt to use the C preprocessor to determine an unsigned integral type that is 32 bits wide. An alternative approach is to use autoconf's AC_CHECK_SIZEOF macro, but diff --git a/elf/Makefile b/elf/Makefile index a563f0190f..123b448ff1 100644 --- a/elf/Makefile +++ b/elf/Makefile @@ -86,11 +86,12 @@ distribute := rtld-Rules \ tst-deep1mod1.c tst-deep1mod2.c tst-deep1mod3.c \ unload3mod1.c unload3mod2.c unload3mod3.c unload3mod4.c \ unload4mod1.c unload4mod2.c unload4mod3.c unload4mod4.c \ - unload6mod1.c unload6mod2.c unload6mod3.c tst-auditmod1.c \ + unload6mod1.c unload6mod2.c unload6mod3.c \ + tst-auditmod1.c tst-audit.sh \ order2mod1.c order2mod2.c order2mod3.c order2mod4.c \ tst-stackguard1.c tst-stackguard1-static.c \ tst-array5.c tst-array5-static.c tst-array5dep.c \ - tst-array5.exp + tst-array5.exp CFLAGS-dl-runtime.c = -fexceptions -fasynchronous-unwind-tables CFLAGS-dl-lookup.c = -fexceptions -fasynchronous-unwind-tables @@ -2174,6 +2174,9 @@ typedef Elf32_Addr Elf32_Conflict; #define R_ARM_THM_SWI8 14 #define R_ARM_XPC25 15 #define R_ARM_THM_XPC22 16 +#define R_ARM_TLS_DTPMOD32 17 /* ID of module containing symbol */ +#define R_ARM_TLS_DTPOFF32 18 /* Offset in TLS block */ +#define R_ARM_TLS_TPOFF32 19 /* Offset in static TLS block */ #define R_ARM_COPY 20 /* Copy symbol at runtime */ #define R_ARM_GLOB_DAT 21 /* Create GOT entry */ #define R_ARM_JUMP_SLOT 22 /* Create PLT entry */ @@ -2192,6 +2195,16 @@ typedef Elf32_Addr Elf32_Conflict; #define R_ARM_GNU_VTINHERIT 101 #define R_ARM_THM_PC11 102 /* thumb unconditional branch */ #define R_ARM_THM_PC9 103 /* thumb conditional branch */ +#define R_ARM_TLS_GD32 104 /* PC-rel 32 bit for global dynamic + thread local data */ +#define R_ARM_TLS_LDM32 105 /* PC-rel 32 bit for local dynamic + thread local data */ +#define R_ARM_TLS_LDO32 106 /* 32 bit offset relative to TLS + block */ +#define R_ARM_TLS_IE32 107 /* PC-rel 32 bit for GOT entry of + static TLS block offset */ +#define R_ARM_TLS_LE32 108 /* 32 bit offset relative to static + TLS block */ #define R_ARM_RXPC25 249 #define R_ARM_RSBREL32 250 #define R_ARM_THM_RPC22 251 diff --git a/elf/tst-auditmod1.c b/elf/tst-auditmod1.c index 73d341d72b..e9f6fe9c4d 100644 --- a/elf/tst-auditmod1.c +++ b/elf/tst-auditmod1.c @@ -192,8 +192,12 @@ la_symbind64 (Elf64_Sym *sym, unsigned int ndx, uintptr_t *refcook, # define La_regs La_sparc64_regs # define La_retval La_sparc64_retval # define int_retval lrv_reg[0] -#else -# error "architecture specific code needed" +#endif + +#include <tst-audit.h> +#if (!defined (pltenter) || !defined (pltexit) || !defined (La_regs) \ + || !defined (La_retval) || !defined (int_retval)) +# error "architecture specific code needed in sysdeps/CPU/tls-audit.h or here" #endif diff --git a/fedora/branch.mk b/fedora/branch.mk index 60d6344425..2dad60072f 100644 --- a/fedora/branch.mk +++ b/fedora/branch.mk @@ -3,5 +3,5 @@ glibc-branch := fedora glibc-base := HEAD DIST_BRANCH := devel COLLECTION := dist-fc4 -fedora-sync-date := 2005-10-03 20:40 UTC -fedora-sync-tag := fedora-glibc-20051003T2040 +fedora-sync-date := 2005-10-10 14:17 UTC +fedora-sync-tag := fedora-glibc-20051010T1417 diff --git a/include/features.h b/include/features.h index cb0844ddda..3288bb501c 100644 --- a/include/features.h +++ b/include/features.h @@ -262,18 +262,21 @@ # define __USE_REENTRANT 1 #endif -#if _FORTIFY_SOURCE > 0 && __OPTIMIZE__ > 0 \ +#if defined _FORTIFY_SOURCE && _FORTIFY_SOURCE > 0 \ + && defined __OPTIMIZE__ && __OPTIMIZE__ > 0 \ && (__GNUC_PREREQ (4, 1) \ || (defined __GNUC_RH_RELEASE__ && __GNUC_PREREQ (4, 0)) \ || (defined __GNUC_RH_RELEASE__ && __GNUC_PREREQ (3, 4) \ && __GNUC_MINOR__ == 4 \ && (__GNUC_PATCHLEVEL__ > 2 \ || (__GNUC_PATCHLEVEL__ == 2 && __GNUC_RH_RELEASE__ >= 8)))) -# if _FORTIFY_SOURCE == 1 -# define __USE_FORTIFY_LEVEL 1 -# elif _FORTIFY_SOURCE > 1 +# if _FORTIFY_SOURCE > 1 # define __USE_FORTIFY_LEVEL 2 +# else +# define __USE_FORTIFY_LEVEL 1 # endif +#else +# define __USE_FORTIFY_LEVEL 0 #endif /* We do support the IEC 559 math functionality, real and complex. */ diff --git a/malloc/arena.c b/malloc/arena.c index a844392a6b..039d70ff18 100644 --- a/malloc/arena.c +++ b/malloc/arena.c @@ -277,7 +277,7 @@ ptmalloc_unlock_all (void) #ifdef __linux__ -/* In LinuxThreads, unlocking a mutex in the child process after a +/* In NPTL, unlocking a mutex in the child process after a fork() is currently unsafe, whereas re-initializing it is safe and does not leak resources. Therefore, a special atfork handler is installed for the child. */ @@ -300,6 +300,7 @@ ptmalloc_unlock_all2 (void) if(ar_ptr == &main_arena) break; } mutex_init(&list_lock); + atfork_recursive_cntr = 0; } #else diff --git a/nss/getent.c b/nss/getent.c index 02bba39752..489420ef79 100644 --- a/nss/getent.c +++ b/nss/getent.c @@ -280,9 +280,9 @@ hosts_keys (int number, char *key[]) char addr[IN6ADDRSZ]; if (inet_pton (AF_INET6, key[i], &addr) > 0) - host = gethostbyaddr (addr, sizeof (addr), AF_INET6); + host = gethostbyaddr (addr, IN6ADDRSZ, AF_INET6); else if (inet_pton (AF_INET, key[i], &addr) > 0) - host = gethostbyaddr (addr, sizeof (addr), AF_INET); + host = gethostbyaddr (addr, INADDRSZ, AF_INET); else if ((host = gethostbyname2 (key[i], AF_INET6)) == NULL) host = gethostbyname2 (key[i], AF_INET); diff --git a/sysdeps/generic/ldsodefs.h b/sysdeps/generic/ldsodefs.h index 191ae4d4fb..b8333ed79c 100644 --- a/sysdeps/generic/ldsodefs.h +++ b/sysdeps/generic/ldsodefs.h @@ -292,6 +292,9 @@ struct audit_ifaces const struct La_sparc64_regs *, unsigned int *, const char *name, long int *framesizep); +#ifdef ARCH_PLTENTER_MEMBERS + ARCH_PLTENTER_MEMBERS; +#endif }; union { @@ -360,6 +363,9 @@ struct audit_ifaces const struct La_sparc32_regs *, struct La_sparc32_retval *, const char *); +#ifdef ARCH_PLTEXIT_MEMBERS + ARCH_PLTEXIT_MEMBERS; +#endif }; unsigned int (*objclose) (uintptr_t *); diff --git a/sysdeps/generic/tst-audit.h b/sysdeps/generic/tst-audit.h new file mode 100644 index 0000000000..402e7c0665 --- /dev/null +++ b/sysdeps/generic/tst-audit.h @@ -0,0 +1,11 @@ +/* Some machines have these macros defined in elf/tst-auditmod1.c directly. + New machines can supply a tst-audit.h to define these macros used there. + + +# define pltenter la_CPU_gnu_pltenter +# define pltexit la_CPU_gnu_pltexit +# define La_regs La_CPU_regs +# define La_retval La_CPU_retval +# define int_retval lrv_RETVALREG + +*/ diff --git a/sysdeps/unix/sysv/linux/readonly-area.c b/sysdeps/unix/sysv/linux/readonly-area.c index 3db90023bf..29224d98b9 100644 --- a/sysdeps/unix/sysv/linux/readonly-area.c +++ b/sysdeps/unix/sysv/linux/readonly-area.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2004 Free Software Foundation, Inc. +/* Copyright (C) 2004, 2005 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 @@ -16,6 +16,7 @@ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. */ +#include <errno.h> #include <stdint.h> #include <stdio.h> #include <stdio_ext.h> @@ -33,10 +34,14 @@ __readonly_area (const char *ptr, size_t size) FILE *fp = fopen ("/proc/self/maps", "rc"); if (fp == NULL) - /* We don't know. Returning 1 here means that programs using %n - and -D_FORTIFY_SOURCE=2 will work even when /proc is not mounted, - but will allow %n even in writable areas. */ - return 1; + { + if (errno == ENOENT) + /* It is the system administrator's choice to not have /proc + available to this process (e.g., because it runs in a chroot + environment. Don't fail in this case. */ + return 1; + return -1; + } /* We need no locking. */ __fsetlocking (fp, FSETLOCKING_BYCALLER); |