about summary refs log tree commit diff
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2005-10-10 14:51:46 +0000
committerJakub Jelinek <jakub@redhat.com>2005-10-10 14:51:46 +0000
commit2a61a5442b614a0f6b4b5c63501b641e83e8f229 (patch)
tree961710f1db68abe5e14c13f3cada17194cfdc9ad
parent74b2c78b9216d1d1642261da42bbe64544a667aa (diff)
downloadglibc-2a61a5442b614a0f6b4b5c63501b641e83e8f229.tar.gz
glibc-2a61a5442b614a0f6b4b5c63501b641e83e8f229.tar.xz
glibc-2a61a5442b614a0f6b4b5c63501b641e83e8f229.zip
Updated to fedora-glibc-20051010T1417
-rw-r--r--ChangeLog43
-rw-r--r--crypt/Makefile8
-rw-r--r--crypt/md5.h6
-rw-r--r--elf/Makefile5
-rw-r--r--elf/elf.h13
-rw-r--r--elf/tst-auditmod1.c8
-rw-r--r--fedora/branch.mk4
-rw-r--r--include/features.h11
-rw-r--r--malloc/arena.c3
-rw-r--r--nss/getent.c4
-rw-r--r--sysdeps/generic/ldsodefs.h6
-rw-r--r--sysdeps/generic/tst-audit.h11
-rw-r--r--sysdeps/unix/sysv/linux/readonly-area.c15
13 files changed, 113 insertions, 24 deletions
diff --git a/ChangeLog b/ChangeLog
index 852a87608e..1b40e42fe4 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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
diff --git a/elf/elf.h b/elf/elf.h
index ef9e27cccc..5f44f1b65a 100644
--- a/elf/elf.h
+++ b/elf/elf.h
@@ -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);