[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[commits] r15041 - in /fsf/trunk/libc: ./ sysdeps/i386/i686/multiarch/ sysdeps/powerpc/ sysdeps/powerpc/powerpc64/ sysdeps/pthread/ sy...



Author: eglibc
Date: Wed Aug 24 00:02:30 2011
New Revision: 15041

Log:
Import glibc-mainline for 2011-08-24

Modified:
    fsf/trunk/libc/ChangeLog
    fsf/trunk/libc/sysdeps/i386/i686/multiarch/strspn.S
    fsf/trunk/libc/sysdeps/powerpc/dl-tls.h
    fsf/trunk/libc/sysdeps/powerpc/powerpc64/dl-irel.h
    fsf/trunk/libc/sysdeps/pthread/aio_suspend.c
    fsf/trunk/libc/sysdeps/sparc/sparc64/dl-machine.h
    fsf/trunk/libc/sysdeps/sparc/sparc64/jmpbuf-unwind.h

Modified: fsf/trunk/libc/ChangeLog
==============================================================================
--- fsf/trunk/libc/ChangeLog (original)
+++ fsf/trunk/libc/ChangeLog Wed Aug 24 00:02:30 2011
@@ -1,3 +1,28 @@
+2011-08-23  David S. Miller  <davem@xxxxxxxxxxxxx>
+
+	* 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.
+
+	* 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@xxxxxxxxxx>
+
+	* sysdeps/i386/i686/multiarch/strspn.S (ENTRY): Add missing
+	backslash.
+
+2011-07-04  Aurelien Jarno  <aurelien@xxxxxxxxxxx>
+
+	* sysdeps/powerpc/dl-tls.h: Add _PPC_DL_TLS_H inclusion
+	protection macro.
+	* sysdeps/powerpc/powerpc64/dl-irel.h: Include <ldsodefs.h>
+	and <dl-machine.h>.
+	(Elf64_FuncDesc): Remove.
+
 2011-08-22  David S. Miller  <davem@xxxxxxxxxxxxx>
 
 	* sysdeps/unix/sysv/linux/sparc/sparc32/____longjmp_chk.S: Fix

Modified: fsf/trunk/libc/sysdeps/i386/i686/multiarch/strspn.S
==============================================================================
--- fsf/trunk/libc/sysdeps/i386/i686/multiarch/strspn.S (original)
+++ fsf/trunk/libc/sysdeps/i386/i686/multiarch/strspn.S Wed Aug 24 00:02:30 2011
@@ -76,8 +76,8 @@
 # define ENTRY(name) \
 	.type __strspn_ia32, @function; \
 	.globl __strspn_ia32; \
-	.p2align 4
-	__strspn_ia32: cfi_startproc; \
+	.p2align 4; \
+__strspn_ia32: cfi_startproc; \
 	CALL_MCOUNT
 # undef END
 # define END(name) \

Modified: fsf/trunk/libc/sysdeps/powerpc/dl-tls.h
==============================================================================
--- fsf/trunk/libc/sysdeps/powerpc/dl-tls.h (original)
+++ fsf/trunk/libc/sysdeps/powerpc/dl-tls.h Wed Aug 24 00:02:30 2011
@@ -17,6 +17,8 @@
    Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
    02111-1307 USA.  */
 
+#ifndef _PPC_DL_TLS_H
+# define _PPC_DL_TLS_H 1
 
 /* Type used for the representation of TLS information in the TOC.  */
 typedef struct
@@ -50,3 +52,5 @@
 
 /* Value used for dtv entries for which the allocation is delayed.  */
 #define TLS_DTV_UNALLOCATED	((void *) -1l)
+
+#endif /* dl-tls.h */

Modified: fsf/trunk/libc/sysdeps/powerpc/powerpc64/dl-irel.h
==============================================================================
--- fsf/trunk/libc/sysdeps/powerpc/powerpc64/dl-irel.h (original)
+++ fsf/trunk/libc/sysdeps/powerpc/powerpc64/dl-irel.h Wed Aug 24 00:02:30 2011
@@ -1,6 +1,6 @@
 /* Machine-dependent ELF indirect relocation inline functions.
    PowerPC64 version.
-   Copyright (C) 2009 Free Software Foundation, Inc.
+   Copyright (C) 2009, 2011 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
@@ -23,15 +23,10 @@
 
 #include <stdio.h>
 #include <unistd.h>
+#include <ldsodefs.h>
+#include <dl-machine.h>
 
 #define ELF_MACHINE_IRELA	1
-
-typedef struct
-{
-  Elf64_Addr fd_func;
-  Elf64_Addr fd_toc;
-  Elf64_Addr fd_aux;
-} Elf64_FuncDesc;
 
 static inline Elf64_Addr
 __attribute ((always_inline))

Modified: fsf/trunk/libc/sysdeps/pthread/aio_suspend.c
==============================================================================
--- fsf/trunk/libc/sysdeps/pthread/aio_suspend.c (original)
+++ fsf/trunk/libc/sysdeps/pthread/aio_suspend.c Wed Aug 24 00:02:30 2011
@@ -92,6 +92,18 @@
   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 @@
       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);

Modified: fsf/trunk/libc/sysdeps/sparc/sparc64/dl-machine.h
==============================================================================
--- fsf/trunk/libc/sysdeps/sparc/sparc64/dl-machine.h (original)
+++ fsf/trunk/libc/sysdeps/sparc/sparc64/dl-machine.h Wed Aug 24 00:02:30 2011
@@ -264,9 +264,9 @@
 #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;

Modified: fsf/trunk/libc/sysdeps/sparc/sparc64/jmpbuf-unwind.h
==============================================================================
--- fsf/trunk/libc/sysdeps/sparc/sparc64/jmpbuf-unwind.h (original)
+++ fsf/trunk/libc/sysdeps/sparc/sparc64/jmpbuf-unwind.h Wed Aug 24 00:02:30 2011
@@ -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)