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.14-207-g22044b4


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  22044b48baa8a3c3fe67ab912e9f34a80c97880b (commit)
       via  2c0b250ae4bc8f14a7c5a5e733d57de6c6745d9c (commit)
      from  2cae4995416cc25f381686902b4243f0095daedd (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=22044b48baa8a3c3fe67ab912e9f34a80c97880b

commit 22044b48baa8a3c3fe67ab912e9f34a80c97880b
Author: David S. Miller <davem@davemloft.net>
Date:   Tue Aug 23 23:24:01 2011 -0700

    Fix nptl/tst-cancel17 and nptl/tst-cancelx17 with recent gcc.

diff --git a/ChangeLog b/ChangeLog
index f14b70a..5399dcf 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -6,6 +6,10 @@
 	%sp not %fp in calculations.
 	(_JMPBUF_UNWINDS_ADJ): Likewise.
 
+	* sysdeps/pthread/aio_suspend.c (do_aio_misc_wait): New function.
+	(aio_suspend): Call it to force an exception region around the
+	AIO_MISC_WAIT() invocation.
+
 2011-08-23  Andreas Schwab  <schwab@redhat.com>
 
 	* sysdeps/i386/i686/multiarch/strspn.S (ENTRY): Add missing
diff --git a/sysdeps/pthread/aio_suspend.c b/sysdeps/pthread/aio_suspend.c
index b85b16d..99f3a80 100644
--- a/sysdeps/pthread/aio_suspend.c
+++ b/sysdeps/pthread/aio_suspend.c
@@ -92,6 +92,18 @@ cleanup (void *arg)
   pthread_mutex_unlock (&__aio_requests_mutex);
 }
 
+#ifdef DONT_NEED_AIO_MISC_COND
+static int
+__attribute__ ((noinline))
+do_aio_misc_wait(int *cntr, const struct timespec *timeout)
+{
+	int result = 0;
+
+	AIO_MISC_WAIT(result, *cntr, timeout, 1);
+
+	return result;
+}
+#endif
 
 int
 aio_suspend (list, nent, timeout)
@@ -169,7 +181,7 @@ aio_suspend (list, nent, timeout)
       pthread_cleanup_push (cleanup, &clparam);
 
 #ifdef DONT_NEED_AIO_MISC_COND
-      AIO_MISC_WAIT (result, cntr, timeout, 1);
+      result = do_aio_misc_wait(&cntr, timeout);
 #else
       if (timeout == NULL)
 	result = pthread_cond_wait (&cond, &__aio_requests_mutex);

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

commit 2c0b250ae4bc8f14a7c5a5e733d57de6c6745d9c
Author: David S. Miller <davem@davemloft.net>
Date:   Tue Aug 23 23:17:52 2011 -0700

    Fix jmpbuf unwind checks on sparc64.

diff --git a/ChangeLog b/ChangeLog
index 3de98c9..f14b70a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2011-08-23  David S. Miller  <davem@davemloft.net>
+
+	* sysdeps/sparc/sparc64/dl-machine.h (DL_STACK_END): Do not
+	subtract stack bias.
+	* sysdeps/sparc/sparc64/jmpbuf-unwind.h (_JMPBUF_UNWINDS): Use
+	%sp not %fp in calculations.
+	(_JMPBUF_UNWINDS_ADJ): Likewise.
+
 2011-08-23  Andreas Schwab  <schwab@redhat.com>
 
 	* sysdeps/i386/i686/multiarch/strspn.S (ENTRY): Add missing
diff --git a/sysdeps/sparc/sparc64/dl-machine.h b/sysdeps/sparc/sparc64/dl-machine.h
index aaa22d6..3f71a66 100644
--- a/sysdeps/sparc/sparc64/dl-machine.h
+++ b/sysdeps/sparc/sparc64/dl-machine.h
@@ -264,9 +264,9 @@ elf_machine_runtime_setup (struct link_map *l, int lazy, int profile)
 #define elf_machine_relplt elf_machine_rela
 
 /* Undo the sub %sp, 6*8, %sp; add %sp, STACK_BIAS + 22*8, %o0 below
-   to get at the value we want in __libc_stack_end.  */
+   (but w/o STACK_BIAS) to get at the value we want in __libc_stack_end.  */
 #define DL_STACK_END(cookie) \
-  ((void *) (((long) (cookie)) - (22 - 6) * 8 - STACK_BIAS))
+  ((void *) (((long) (cookie)) - (22 - 6) * 8))
 
 /* Initial entry point code for the dynamic linker.
    The C function `_dl_start' is the real entry point;
diff --git a/sysdeps/sparc/sparc64/jmpbuf-unwind.h b/sysdeps/sparc/sparc64/jmpbuf-unwind.h
index f7eed15..f19b649 100644
--- a/sysdeps/sparc/sparc64/jmpbuf-unwind.h
+++ b/sysdeps/sparc/sparc64/jmpbuf-unwind.h
@@ -24,14 +24,14 @@
 /* Test if longjmp to JMPBUF would unwind the frame
    containing a local variable at ADDRESS.  */
 #define _JMPBUF_UNWINDS(jmpbuf, address, demangle)			\
-  ((unsigned long int) (address) < (jmpbuf)->uc_mcontext.mc_fp + 2047)
+  ((unsigned long int) (address) < (jmpbuf)->uc_mcontext.mc_gregs[MC_O6] + 2047)
 
 #define _JMPBUF_CFA_UNWINDS_ADJ(_jmpbuf, _context, _adj) \
   _JMPBUF_UNWINDS_ADJ (_jmpbuf, (void *) _Unwind_GetCFA (_context), _adj)
 
 #define _JMPBUF_UNWINDS_ADJ(_jmpbuf, _address, _adj) \
   ((uintptr_t) (_address) - (_adj) \
-   < (uintptr_t) (_jmpbuf)[0].uc_mcontext.mc_fp + 2047 - (_adj))
+   < (uintptr_t) (_jmpbuf)[0].uc_mcontext.mc_gregs[MC_O6] + 2047 - (_adj))
 
 /* We use the normal lobngjmp for unwinding.  */
 #define __libc_unwind_longjmp(buf, val) __libc_longjmp (buf, val)

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

Summary of changes:
 ChangeLog                             |   12 ++++++++++++
 sysdeps/pthread/aio_suspend.c         |   14 +++++++++++++-
 sysdeps/sparc/sparc64/dl-machine.h    |    4 ++--
 sysdeps/sparc/sparc64/jmpbuf-unwind.h |    4 ++--
 4 files changed, 29 insertions(+), 5 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]