This is the mail archive of the glibc-cvs@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

GNU C Library master sources branch, master, updated. glibc-2.11-286-g70c9028


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU C Library master sources".

The branch, master has been updated
       via  70c90289ff7e2f1ca976618bcf342d9c65c746fc (commit)
       via  89a4419cc384c090b1eabe610647aa4e14436a3f (commit)
      from  34b514dff6acf8f1cac0afefd24049e025fd62ea (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://sources.redhat.com/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=70c90289ff7e2f1ca976618bcf342d9c65c746fc

commit 70c90289ff7e2f1ca976618bcf342d9c65c746fc
Merge: 89a4419 34b514d
Author: Ulrich Drepper <drepper@redhat.com>
Date:   Thu Mar 25 19:45:20 2010 -0700

    Merge branch 'master' of ssh://sources.redhat.com/git/glibc
    
    Conflicts:
    	ChangeLog

diff --cc ChangeLog
index 6029367,13f0749..3845caf
--- a/ChangeLog
+++ b/ChangeLog
@@@ -1,16 -1,9 +1,20 @@@
 +2010-03-24  Ulrich Drepper  <drepper@redhat.com>
 +
 +	[BZ #11389]
 +	* bits/time.h: Define CLOCK_MONOTONIC_RAW, CLOCK_REALTIME_COARSE, and
 +	CLOCK_MONOTONIC_COARSE.
 +	* sysdeps/unix/sysv/linux/clock_getres.c: Handle CLOCK_MONOTONIC_RAW,
 +	CLOCK_REALTIME_COARSE, and CLOCK_MONOTONIC_COARSE.
 +	* sysdeps/unix/sysv/linux/clock_gettime.c: Likewise.
 +	* sysdeps/unix/sysv/linux/clock_settime.c: Likewise.
 +
+ 2010-03-25  Andreas Schwab  <schwab@redhat.com>
+ 
+ 	* sysdeps/posix/cuserid.c: Fix typo.
+ 
  2010-03-16  Chris Demetriou  <cgd@google.com>
  
 +	[BZ #11394]
  	* locale/programs/simple-hash.c: Include inttypes.h.
  	(hashval_t): Defined to be uint32_t.
  	* locale/programs/simple_hash.h: Include inttypes.h.
diff --cc malloc/malloc.c
index 763852e,763852e..0004c87
--- a/malloc/malloc.c
+++ b/malloc/malloc.c
@@@ -4852,7 -4852,7 +4852,8 @@@ _int_free(mstate av, mchunkptr p
        free_perturb (chunk2mem(p), size - SIZE_SZ);
  
      set_fastchunks(av);
--    fb = &fastbin (av, fastbin_index(size));
++    unsigned int idx = fastbin_index(size);
++    fb = &fastbin (av, idx);
  
  #ifdef ATOMIC_FASTBINS
      mchunkptr fd;
@@@ -4866,6 -4866,6 +4867,12 @@@
  	    errstr = "double free or corruption (fasttop)";
  	    goto errout;
  	  }
++	if (old != NULL
++	    && __builtin_expect (fastbin_index(chunksize(old)) != idx, 0))
++	  {
++	    errstr = "invalid fastbin entry (free)";
++	    goto errout;
++	  }
  	p->fd = fd = old;
        }
      while ((old = catomic_compare_and_exchange_val_rel (fb, p, fd)) != fd);
@@@ -4877,6 -4877,6 +4884,12 @@@
  	errstr = "double free or corruption (fasttop)";
  	goto errout;
        }
++    if (*fb != NULL
++	&& __builtin_expect (fastbin_index(chunksize(*fb)) != idx, 0))
++      {
++	errstr = "invalid fastbin entry (free)";
++	goto errout;
++      }
  
      p->fd = *fb;
      *fb = p;
diff --cc malloc/tst-mallocstate.c
index 97a1058,97a1058..2a1fd46
--- a/malloc/tst-mallocstate.c
+++ b/malloc/tst-mallocstate.c
@@@ -51,6 -51,6 +51,7 @@@ main (void
  
    for (i=0; i<100; ++i)
      {
++printf("round %li\n", i);
        save_state = malloc_get_state ();
        if (save_state == NULL)
  	{
@@@ -64,13 -64,13 +65,18 @@@
  	merror ("realloc (i*4) failed.");
        free (save_state);
      }
++puts("done");
  
    p1 = realloc (p1, 40);
++puts("after realloc");
    free (p2);
++puts("after free 1");
    p2 = malloc (10);
++puts("after malloc");
    if (p2 == NULL)
      merror ("malloc (10) failed.");
    free (p1);
++puts("after free 2");
  
    return errors != 0;
  }

http://sources.redhat.com/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=89a4419cc384c090b1eabe610647aa4e14436a3f

commit 89a4419cc384c090b1eabe610647aa4e14436a3f
Author: Ulrich Drepper <drepper@redhat.com>
Date:   Thu Mar 25 04:01:33 2010 -0700

    Add support for new clocks.
    
    Recent Linux kernels added support for the CLOCK_MONOTONIC_RAW,
    CLOCK_REALTIME_COARSE, and CLOCK_MONOTONIC_COARSE clocks.

diff --git a/ChangeLog b/ChangeLog
index 08db020..6029367 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,16 @@
+2010-03-24  Ulrich Drepper  <drepper@redhat.com>
+
+	[BZ #11389]
+	* bits/time.h: Define CLOCK_MONOTONIC_RAW, CLOCK_REALTIME_COARSE, and
+	CLOCK_MONOTONIC_COARSE.
+	* sysdeps/unix/sysv/linux/clock_getres.c: Handle CLOCK_MONOTONIC_RAW,
+	CLOCK_REALTIME_COARSE, and CLOCK_MONOTONIC_COARSE.
+	* sysdeps/unix/sysv/linux/clock_gettime.c: Likewise.
+	* sysdeps/unix/sysv/linux/clock_settime.c: Likewise.
+
 2010-03-16  Chris Demetriou  <cgd@google.com>
 
+	[BZ #11394]
 	* locale/programs/simple-hash.c: Include inttypes.h.
 	(hashval_t): Defined to be uint32_t.
 	* locale/programs/simple_hash.h: Include inttypes.h.
diff --git a/bits/time.h b/bits/time.h
index b3184d1..968ecc5 100644
--- a/bits/time.h
+++ b/bits/time.h
@@ -1,5 +1,5 @@
 /* System-dependent timing definitions.  Generic version.
-   Copyright (C) 1996,1997,1999-2002,2003 Free Software Foundation, Inc.
+   Copyright (C) 1996,1997,1999-2002,2003,2010 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
@@ -50,6 +50,12 @@ extern long int __sysconf (int);
 #   define CLOCK_PROCESS_CPUTIME_ID	2
 /* Thread-specific CPU-time clock.  */
 #   define CLOCK_THREAD_CPUTIME_ID	3
+/* Monotonic system-wide clock, not adjusted for frequency scaling.  */
+#   define CLOCK_MONOTONIC_RAW		4
+/* Identifier for system-wide realtime clock, updated only on ticks.  */
+#   define CLOCK_REALTIME_COARSE	5
+/* Monotonic system-wide clock, updated only on ticks.  */
+#   define CLOCK_MONOTONIC_COARSE	6
 
 /* Flag to indicate time is absolute.  */
 #   define TIMER_ABSTIME		1
diff --git a/sysdeps/unix/sysv/linux/clock_getres.c b/sysdeps/unix/sysv/linux/clock_getres.c
index 581ff22..933580b 100644
--- a/sysdeps/unix/sysv/linux/clock_getres.c
+++ b/sysdeps/unix/sysv/linux/clock_getres.c
@@ -1,5 +1,5 @@
 /* clock_getres -- Get the resolution of a POSIX clockid_t.  Linux version.
-   Copyright (C) 2003,2004,2005,2006, 2008 Free Software Foundation, Inc.
+   Copyright (C) 2003,2004,2005,2006,2008,2010 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
@@ -44,6 +44,9 @@
   SYSDEP_GETRES_CPUTIME							      \
   case CLOCK_REALTIME:							      \
   case CLOCK_MONOTONIC:							      \
+  case CLOCK_MONOTONIC_RAW:						      \
+  case CLOCK_REALTIME_COARSE:						      \
+  case CLOCK_MONOTONIC_COARSE:						      \
     SYSCALL_GETRES
 
 # define __libc_missing_posix_timers 0
@@ -80,6 +83,9 @@ maybe_syscall_getres (clockid_t clock_id, struct timespec *res)
   SYSDEP_GETRES_CPUTIME							      \
   case CLOCK_REALTIME:							      \
   case CLOCK_MONOTONIC:							      \
+  case CLOCK_MONOTONIC_RAW:						      \
+  case CLOCK_REALTIME_COARSE:						      \
+  case CLOCK_MONOTONIC_COARSE:						      \
     retval = maybe_syscall_getres (clock_id, res);			      \
     if (retval == 0)							      \
       break;								      \
diff --git a/sysdeps/unix/sysv/linux/clock_gettime.c b/sysdeps/unix/sysv/linux/clock_gettime.c
index cd536a0..dd3755c 100644
--- a/sysdeps/unix/sysv/linux/clock_gettime.c
+++ b/sysdeps/unix/sysv/linux/clock_gettime.c
@@ -1,5 +1,5 @@
 /* clock_gettime -- Get current time from a POSIX clockid_t.  Linux version.
-   Copyright (C) 2003,2004,2005,2006,2007 Free Software Foundation, Inc.
+   Copyright (C) 2003,2004,2005,2006,2007,2010 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
@@ -80,6 +80,9 @@ maybe_syscall_gettime (clockid_t clock_id, struct timespec *tp)
   SYSDEP_GETTIME_CPUTIME						      \
   case CLOCK_REALTIME:							      \
   case CLOCK_MONOTONIC:							      \
+  case CLOCK_MONOTONIC_RAW:						      \
+  case CLOCK_REALTIME_COARSE:						      \
+  case CLOCK_MONOTONIC_COARSE:						      \
     retval = maybe_syscall_gettime (clock_id, tp);			      \
     if (retval == 0)							      \
       break;								      \
diff --git a/sysdeps/unix/sysv/linux/clock_settime.c b/sysdeps/unix/sysv/linux/clock_settime.c
index 217ae3f..8c52456 100644
--- a/sysdeps/unix/sysv/linux/clock_settime.c
+++ b/sysdeps/unix/sysv/linux/clock_settime.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2003, 2004, 2006 Free Software Foundation, Inc.
+/* Copyright (C) 2003, 2004, 2006, 2010 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
@@ -45,7 +45,7 @@ maybe_syscall_settime_cpu (clockid_t clock_id, const struct timespec *tp)
       INTERNAL_SYSCALL_DECL (err);
       int r = INTERNAL_SYSCALL (clock_settime, err, 2, clock_id, tp);
       if (!INTERNAL_SYSCALL_ERROR_P (r, err))
-        return 0;
+	return 0;
 
       e = INTERNAL_SYSCALL_ERRNO (r, err);
 # ifndef __ASSUME_POSIX_TIMERS
@@ -90,6 +90,7 @@ extern int __libc_missing_posix_timers attribute_hidden;
 /* The REALTIME clock might be available.  Try the syscall first.  */
 # define SYSDEP_SETTIME \
   case CLOCK_REALTIME:							      \
+  case CLOCK_REALTIME_COARSE:						      \
     {									      \
       int e = EINVAL;							      \
 									      \

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog                               |   11 +++++++++++
 bits/time.h                             |    8 +++++++-
 malloc/malloc.c                         |   15 ++++++++++++++-
 malloc/tst-mallocstate.c                |    6 ++++++
 sysdeps/unix/sysv/linux/clock_getres.c  |    8 +++++++-
 sysdeps/unix/sysv/linux/clock_gettime.c |    5 ++++-
 sysdeps/unix/sysv/linux/clock_settime.c |    5 +++--
 7 files changed, 52 insertions(+), 6 deletions(-)


hooks/post-receive
-- 
GNU C Library master sources


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]