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.19-732-gb0cb309


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  b0cb309635f43aa269dba0ea9925ced294926546 (commit)
       via  4d76cb39354d4d04dbc46f55394fb6d2721afaca (commit)
       via  83d7d24b966188e901600e2abf23ef819d847b22 (commit)
       via  862e0f2721a8cdb7abb7516468d8d413f36ff254 (commit)
       via  9bca952acb2634b6cd4820df922ab547fbac4fdd (commit)
       via  8b4b5da7b69321d876e5e4c5f6dbfd81f9f60276 (commit)
       via  0cdcad1769a962583788841f6dc2df1efe989245 (commit)
      from  9b71d0e38c587dd1616eefd9d9ac09be90a28fe4 (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://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=b0cb309635f43aa269dba0ea9925ced294926546

commit b0cb309635f43aa269dba0ea9925ced294926546
Author: Joseph Myers <joseph@codesourcery.com>
Date:   Tue Jul 1 11:57:46 2014 +1000

    MicroBlaze: Update kernel-features.h for syscalls added in 3.15
    
    Now that the MicroBlaze 3.15 kernel has the pselect6, preadv and
    pwritev syscalls, this patch updates kernel-features.h so they are
    assumed to be present for 3.15 and later kernels.
    
    2014-06-17  Joseph Myers  <joseph@codesourcery.com>
    
    	* sysdeps/unix/sysv/linux/microblaze/kernel-features.h
    	[__LINUX_KERNEL_VERSION >= 0x030f00] (__ASSUME_PSELECT): Do not
    	undefine.
    	[__LINUX_KERNEL_VERSION >= 0x030f00] (__ASSUME_PREADV): Likewise.
    	[__LINUX_KERNEL_VERSION >= 0x030f00] (__ASSUME_PWRITEV): Likewise.
    
    Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com>

diff --git a/ChangeLog b/ChangeLog
index 619e434..3ac4f45 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2014-07-01  Joseph Myers  <joseph@codesourcery.com>
+
+	* sysdeps/unix/sysv/linux/microblaze/kernel-features.h
+	[__LINUX_KERNEL_VERSION >= 0x030f00] (__ASSUME_PSELECT): Do not
+	undefine.
+	[__LINUX_KERNEL_VERSION >= 0x030f00] (__ASSUME_PREADV): Likewise.
+	[__LINUX_KERNEL_VERSION >= 0x030f00] (__ASSUME_PWRITEV): Likewise.
+
 2014-07-01  Roland McGrath <roland@hack.frob.com>
 
 	* sysdeps/unix/sysv/linux/microblaze/arch-fork.h: New file.
diff --git a/sysdeps/unix/sysv/linux/microblaze/kernel-features.h b/sysdeps/unix/sysv/linux/microblaze/kernel-features.h
index 066c12d..34b0521 100644
--- a/sysdeps/unix/sysv/linux/microblaze/kernel-features.h
+++ b/sysdeps/unix/sysv/linux/microblaze/kernel-features.h
@@ -45,8 +45,10 @@
 # undef __ASSUME_SET_ROBUST_LIST
 #endif
 
-/* The MicroBlaze kernel does not support the pselect6, preadv and
-   pwritev syscalls.  */
-#undef __ASSUME_PSELECT
-#undef __ASSUME_PREADV
-#undef __ASSUME_PWRITEV
+/* Support for the pselect6, preadv and pwritev syscalls was added in
+   3.15.  */
+#if __LINUX_KERNEL_VERSION < 0x030f00
+# undef __ASSUME_PSELECT
+# undef __ASSUME_PREADV
+# undef __ASSUME_PWRITEV
+#endif

http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=4d76cb39354d4d04dbc46f55394fb6d2721afaca

commit 4d76cb39354d4d04dbc46f55394fb6d2721afaca
Author: Roland McGrath <roland@hack.frob.com>
Date:   Wed Jun 25 14:40:40 2014 -0700

    MicroBlaze: Consolidate nptl/ subdirectories under linux/...
    
    Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com>

diff --git a/ChangeLog b/ChangeLog
index 8deb4ee..619e434 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,60 @@
+2014-07-01  Roland McGrath <roland@hack.frob.com>
+
+	* sysdeps/unix/sysv/linux/microblaze/arch-fork.h: New file.
+	* sysdeps/unix/sysv/linux/microblaze/nptl/fork.c: File removed.
+
+	* sysdeps/microblaze/nptl/tls.h: Define TLS_DEFINE_INIT_TP.
+	* sysdeps/unix/sysv/linux/microblaze/nptl/createthread.c: File removed.
+
+	* sysdeps/microblaze/nptl/bits/pthreadtypes.h: Moved ...
+	* sysdeps/unix/sysv/linux/microblaze/nptl/bits/pthreadtypes.h:
+	... here.
+	* sysdeps/microblaze/nptl/bits/semaphore.h: Moved ...
+	* sysdeps/unix/sysv/linux/microblaze/nptl/bits/semaphore.h: ... here.
+
+	* sysdeps/unix/sysv/linux/microblaze/pt-vfork.S: Moved ...
+	* sysdeps/unix/sysv/linux/microblaze/nptl/pt-vfork.S: ... here.
+	* sysdeps/unix/sysv/linux/microblaze/nptl/vfork.S: Moved ...
+	* sysdeps/unix/sysv/linux/microblaze/vfork.S: ... here.
+
+	* sysdeps/unix/sysv/linux/microblaze/c++-types.data: Moved ...
+	* sysdeps/unix/sysv/linux/microblaze/nptl/c++-types.data: ... here.
+	* sysdeps/unix/sysv/linux/microblaze/ld.abilist: Moved ...
+	* sysdeps/unix/sysv/linux/microblaze/nptl/ld.abilist: ... here.
+	* sysdeps/unix/sysv/linux/microblaze/libBrokenLocale.abilist:
+	Moved ...
+	* sysdeps/unix/sysv/linux/microblaze/nptl/libBrokenLocale.abilist:
+	... here.
+	* sysdeps/unix/sysv/linux/microblaze/libanl.abilist: Moved ...
+	* sysdeps/unix/sysv/linux/microblaze/nptl/libanl.abilist: ... here.
+	* sysdeps/unix/sysv/linux/microblaze/libc.abilist: Moved ...
+	* sysdeps/unix/sysv/linux/microblaze/nptl/libc.abilist: ... here.
+	* sysdeps/unix/sysv/linux/microblaze/libcrypt.abilist: Moved ...
+	* sysdeps/unix/sysv/linux/microblaze/nptl/libcrypt.abilist: ... here.
+	* sysdeps/unix/sysv/linux/microblaze/libdl.abilist: Moved ...
+	* sysdeps/unix/sysv/linux/microblaze/nptl/libdl.abilist: ... here.
+	* sysdeps/unix/sysv/linux/microblaze/libm.abilist: Moved ...
+	* sysdeps/unix/sysv/linux/microblaze/nptl/libm.abilist: ... here.
+	* sysdeps/unix/sysv/linux/microblaze/libnsl.abilist: Moved ...
+	* sysdeps/unix/sysv/linux/microblaze/nptl/libnsl.abilist: ... here.
+	* sysdeps/unix/sysv/linux/microblaze/libpthread.abilist: Moved ...
+	* sysdeps/unix/sysv/linux/microblaze/nptl/libpthread.abilist: ... here.
+	* sysdeps/unix/sysv/linux/microblaze/libresolv.abilist: Moved ...
+	* sysdeps/unix/sysv/linux/microblaze/nptl/libresolv.abilist: ... here.
+	* sysdeps/unix/sysv/linux/microblaze/librt.abilist: Moved ...
+	* sysdeps/unix/sysv/linux/microblaze/nptl/librt.abilist: ... here.
+	* sysdeps/unix/sysv/linux/microblaze/libthread_db.abilist: Moved ...
+	* sysdeps/unix/sysv/linux/microblaze/nptl/libthread_db.abilist:
+	... here.
+	* sysdeps/unix/sysv/linux/microblaze/libutil.abilist: Moved ...
+	* sysdeps/unix/sysv/linux/microblaze/nptl/libutil.abilist: ... here.
+	* sysdeps/unix/sysv/linux/microblaze/localplt.data: Moved ...
+	* sysdeps/unix/sysv/linux/microblaze/nptl/localplt.data: ... here.
+	* sysdeps/unix/sysv/linux/microblaze/lowlevellock.h: Moved ...
+	* sysdeps/unix/sysv/linux/microblaze/nptl/lowlevellock.h: ... here.
+	* sysdeps/unix/sysv/linux/microblaze/nptl/pthread_once.c: Moved ...
+	* sysdeps/unix/sysv/linux/microblaze/pthread_once.c: ... here.
+
 2014-07-01  David Holsgrove  <david.holsgrove@xilinx.com>
 
 	* sysdeps/unix/sysv/linux/microblaze/sysdep-cancel.h: New file.
diff --git a/sysdeps/unix/sysv/linux/microblaze/nptl/c++-types.data b/sysdeps/unix/sysv/linux/microblaze/c++-types.data
similarity index 100%
rename from sysdeps/unix/sysv/linux/microblaze/nptl/c++-types.data
rename to sysdeps/unix/sysv/linux/microblaze/c++-types.data
diff --git a/sysdeps/unix/sysv/linux/microblaze/nptl/ld.abilist b/sysdeps/unix/sysv/linux/microblaze/ld.abilist
similarity index 100%
rename from sysdeps/unix/sysv/linux/microblaze/nptl/ld.abilist
rename to sysdeps/unix/sysv/linux/microblaze/ld.abilist
diff --git a/sysdeps/unix/sysv/linux/microblaze/nptl/libBrokenLocale.abilist b/sysdeps/unix/sysv/linux/microblaze/libBrokenLocale.abilist
similarity index 100%
rename from sysdeps/unix/sysv/linux/microblaze/nptl/libBrokenLocale.abilist
rename to sysdeps/unix/sysv/linux/microblaze/libBrokenLocale.abilist
diff --git a/sysdeps/unix/sysv/linux/microblaze/nptl/libanl.abilist b/sysdeps/unix/sysv/linux/microblaze/libanl.abilist
similarity index 100%
rename from sysdeps/unix/sysv/linux/microblaze/nptl/libanl.abilist
rename to sysdeps/unix/sysv/linux/microblaze/libanl.abilist
diff --git a/sysdeps/unix/sysv/linux/microblaze/nptl/libc.abilist b/sysdeps/unix/sysv/linux/microblaze/libc.abilist
similarity index 100%
rename from sysdeps/unix/sysv/linux/microblaze/nptl/libc.abilist
rename to sysdeps/unix/sysv/linux/microblaze/libc.abilist
diff --git a/sysdeps/unix/sysv/linux/microblaze/nptl/libcrypt.abilist b/sysdeps/unix/sysv/linux/microblaze/libcrypt.abilist
similarity index 100%
rename from sysdeps/unix/sysv/linux/microblaze/nptl/libcrypt.abilist
rename to sysdeps/unix/sysv/linux/microblaze/libcrypt.abilist
diff --git a/sysdeps/unix/sysv/linux/microblaze/nptl/libdl.abilist b/sysdeps/unix/sysv/linux/microblaze/libdl.abilist
similarity index 100%
rename from sysdeps/unix/sysv/linux/microblaze/nptl/libdl.abilist
rename to sysdeps/unix/sysv/linux/microblaze/libdl.abilist
diff --git a/sysdeps/unix/sysv/linux/microblaze/nptl/libm.abilist b/sysdeps/unix/sysv/linux/microblaze/libm.abilist
similarity index 100%
rename from sysdeps/unix/sysv/linux/microblaze/nptl/libm.abilist
rename to sysdeps/unix/sysv/linux/microblaze/libm.abilist
diff --git a/sysdeps/unix/sysv/linux/microblaze/nptl/libnsl.abilist b/sysdeps/unix/sysv/linux/microblaze/libnsl.abilist
similarity index 100%
rename from sysdeps/unix/sysv/linux/microblaze/nptl/libnsl.abilist
rename to sysdeps/unix/sysv/linux/microblaze/libnsl.abilist
diff --git a/sysdeps/unix/sysv/linux/microblaze/nptl/libpthread.abilist b/sysdeps/unix/sysv/linux/microblaze/libpthread.abilist
similarity index 100%
rename from sysdeps/unix/sysv/linux/microblaze/nptl/libpthread.abilist
rename to sysdeps/unix/sysv/linux/microblaze/libpthread.abilist
diff --git a/sysdeps/unix/sysv/linux/microblaze/nptl/libresolv.abilist b/sysdeps/unix/sysv/linux/microblaze/libresolv.abilist
similarity index 100%
rename from sysdeps/unix/sysv/linux/microblaze/nptl/libresolv.abilist
rename to sysdeps/unix/sysv/linux/microblaze/libresolv.abilist
diff --git a/sysdeps/unix/sysv/linux/microblaze/nptl/librt.abilist b/sysdeps/unix/sysv/linux/microblaze/librt.abilist
similarity index 100%
rename from sysdeps/unix/sysv/linux/microblaze/nptl/librt.abilist
rename to sysdeps/unix/sysv/linux/microblaze/librt.abilist
diff --git a/sysdeps/unix/sysv/linux/microblaze/nptl/libthread_db.abilist b/sysdeps/unix/sysv/linux/microblaze/libthread_db.abilist
similarity index 100%
rename from sysdeps/unix/sysv/linux/microblaze/nptl/libthread_db.abilist
rename to sysdeps/unix/sysv/linux/microblaze/libthread_db.abilist
diff --git a/sysdeps/unix/sysv/linux/microblaze/nptl/libutil.abilist b/sysdeps/unix/sysv/linux/microblaze/libutil.abilist
similarity index 100%
rename from sysdeps/unix/sysv/linux/microblaze/nptl/libutil.abilist
rename to sysdeps/unix/sysv/linux/microblaze/libutil.abilist
diff --git a/sysdeps/unix/sysv/linux/microblaze/nptl/localplt.data b/sysdeps/unix/sysv/linux/microblaze/localplt.data
similarity index 100%
rename from sysdeps/unix/sysv/linux/microblaze/nptl/localplt.data
rename to sysdeps/unix/sysv/linux/microblaze/localplt.data
diff --git a/sysdeps/unix/sysv/linux/microblaze/nptl/lowlevellock.h b/sysdeps/unix/sysv/linux/microblaze/lowlevellock.h
similarity index 100%
rename from sysdeps/unix/sysv/linux/microblaze/nptl/lowlevellock.h
rename to sysdeps/unix/sysv/linux/microblaze/lowlevellock.h
diff --git a/sysdeps/unix/sysv/linux/microblaze/nptl/pthread_once.c b/sysdeps/unix/sysv/linux/microblaze/pthread_once.c
similarity index 100%
rename from sysdeps/unix/sysv/linux/microblaze/nptl/pthread_once.c
rename to sysdeps/unix/sysv/linux/microblaze/pthread_once.c

http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=83d7d24b966188e901600e2abf23ef819d847b22

commit 83d7d24b966188e901600e2abf23ef819d847b22
Author: Roland McGrath <roland@hack.frob.com>
Date:   Wed Jun 25 14:33:52 2014 -0700

    MicroBlaze: Consolidate NPTL/non versions of vfork

diff --git a/sysdeps/unix/sysv/linux/microblaze/nptl/pt-vfork.S b/sysdeps/unix/sysv/linux/microblaze/nptl/pt-vfork.S
deleted file mode 100644
index 603cf56..0000000
--- a/sysdeps/unix/sysv/linux/microblaze/nptl/pt-vfork.S
+++ /dev/null
@@ -1,21 +0,0 @@
-/* Copyright (C) 2009-2014 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
-   modify it under the terms of the GNU Lesser General Public License as
-   published by the Free Software Foundation; either version 2.1 of the
-   License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, see
-   <http://www.gnu.org/licenses/>.  */
-
-#include <tcb-offsets.h>
-
-#include "vfork.S"
diff --git a/sysdeps/unix/sysv/linux/microblaze/pt-vfork.S b/sysdeps/unix/sysv/linux/microblaze/pt-vfork.S
new file mode 100644
index 0000000..65cc382
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/microblaze/pt-vfork.S
@@ -0,0 +1 @@
+#include <sysdeps/unix/sysv/linux/alpha/pt-vfork.S>
diff --git a/sysdeps/unix/sysv/linux/microblaze/nptl/vfork.S b/sysdeps/unix/sysv/linux/microblaze/vfork.S
similarity index 100%
rename from sysdeps/unix/sysv/linux/microblaze/nptl/vfork.S
rename to sysdeps/unix/sysv/linux/microblaze/vfork.S

http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=862e0f2721a8cdb7abb7516468d8d413f36ff254

commit 862e0f2721a8cdb7abb7516468d8d413f36ff254
Author: Roland McGrath <roland@hack.frob.com>
Date:   Wed Jun 25 11:18:27 2014 -0700

    MicroBlaze: Move NPTL public headers to sysdeps/microblaze/nptl/.

diff --git a/sysdeps/unix/sysv/linux/microblaze/nptl/bits/pthreadtypes.h b/sysdeps/microblaze/nptl/bits/pthreadtypes.h
similarity index 100%
rename from sysdeps/unix/sysv/linux/microblaze/nptl/bits/pthreadtypes.h
rename to sysdeps/microblaze/nptl/bits/pthreadtypes.h
diff --git a/sysdeps/unix/sysv/linux/microblaze/nptl/bits/semaphore.h b/sysdeps/microblaze/nptl/bits/semaphore.h
similarity index 100%
rename from sysdeps/unix/sysv/linux/microblaze/nptl/bits/semaphore.h
rename to sysdeps/microblaze/nptl/bits/semaphore.h

http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=9bca952acb2634b6cd4820df922ab547fbac4fdd

commit 9bca952acb2634b6cd4820df922ab547fbac4fdd
Author: Roland McGrath <roland@hack.frob.com>
Date:   Fri Jun 20 17:34:56 2014 -0700

    MicroBlaze: Define TLS_DEFINE_INIT_TP

diff --git a/sysdeps/microblaze/nptl/tls.h b/sysdeps/microblaze/nptl/tls.h
index e75a30c..760fb6c 100644
--- a/sysdeps/microblaze/nptl/tls.h
+++ b/sysdeps/microblaze/nptl/tls.h
@@ -101,6 +101,8 @@ static inline void *__microblaze_get_thread_area (void)
 # define TLS_INIT_TP(tcbp) \
   ({ __asm __volatile ("or r21,r0,%0" : : "r" ((void *)tcbp)); 0; })
 
+# define TLS_DEFINE_INIT_TP(tp, pd) void *tp = (pd) + 1
+
 /* Return the address of the dtv for the current thread.  */
 # define THREAD_DTV() \
   (((tcbhead_t *) READ_THREAD_POINTER())->dtv)
diff --git a/sysdeps/unix/sysv/linux/microblaze/nptl/createthread.c b/sysdeps/unix/sysv/linux/microblaze/nptl/createthread.c
deleted file mode 100644
index 4f2de2b..0000000
--- a/sysdeps/unix/sysv/linux/microblaze/nptl/createthread.c
+++ /dev/null
@@ -1,23 +0,0 @@
-/* Copyright (C) 2005-2014 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
-   modify it under the terms of the GNU Lesser General Public License as
-   published by the Free Software Foundation; either version 2.1 of the
-   License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Lesser General Public License for more details.
-
-   You should have received a copy of the GNU Lesser General Public
-   License along with the GNU C Library; if not, see
-   <http://www.gnu.org/licenses/>.  */
-
-/* Value passed to 'clone' for initialization of the thread register.  */
-#define TLS_VALUE (pd + 1)
-
-/* Get the real implementation.  */
-#include <nptl/sysdeps/pthread/createthread.c>

http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=8b4b5da7b69321d876e5e4c5f6dbfd81f9f60276

commit 8b4b5da7b69321d876e5e4c5f6dbfd81f9f60276
Author: Roland McGrath <roland@hack.frob.com>
Date:   Wed Jun 25 11:17:28 2014 -0700

    MicroBlaze: Convert fork.c to arch-fork.h

diff --git a/sysdeps/unix/sysv/linux/microblaze/nptl/fork.c b/sysdeps/unix/sysv/linux/microblaze/arch-fork.h
similarity index 89%
rename from sysdeps/unix/sysv/linux/microblaze/nptl/fork.c
rename to sysdeps/unix/sysv/linux/microblaze/arch-fork.h
index 66888a6..fa737ad 100644
--- a/sysdeps/unix/sysv/linux/microblaze/nptl/fork.c
+++ b/sysdeps/unix/sysv/linux/microblaze/arch-fork.h
@@ -1,5 +1,5 @@
-/* Copyright (C) 2005-2014 Free Software Foundation, Inc.
-
+/* ARCH_FORK definition for Linux fork implementation.  MicroBlaze version.
+   Copyright (C) 2014 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
@@ -25,5 +25,3 @@
   INLINE_SYSCALL (clone, 5,                                                   \
                   CLONE_CHILD_SETTID | CLONE_CHILD_CLEARTID | SIGCHLD, 0,     \
                   NULL, NULL, &THREAD_SELF->tid)
-
-#include <nptl/sysdeps/unix/sysv/linux/fork.c>

http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=0cdcad1769a962583788841f6dc2df1efe989245

commit 0cdcad1769a962583788841f6dc2df1efe989245
Author: David Holsgrove <david.holsgrove@xilinx.com>
Date:   Mon Jun 30 14:01:22 2014 +1000

    MicroBlaze: Add missing sysdep-cancel.h implementation
    
    And update socket.S, Makefile to use *_nocancel definitions.
    
    Absence of sysdep-cancel.h was not apparent until Roland's
    not-cancel.h unification.
    
    2014-06-30  David Holsgrove  <david.holsgrove@xilinx.com>
    
      * sysdeps/unix/sysv/linux/microblaze/sysdep-cancel.h: New file
      * sysdeps/unix/sysv/linux/microblaze/socket.S: Update SINGLE_THREAD_P
      * sysdeps/unix/sysv/linux/microblaze/Makefile: Add to libpthread-routines
    
    Signed-off-by: David Holsgrove <david.holsgrove@xilinx.com>

diff --git a/ChangeLog b/ChangeLog
index ed66e54..8deb4ee 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2014-07-01  David Holsgrove  <david.holsgrove@xilinx.com>
+
+	* sysdeps/unix/sysv/linux/microblaze/sysdep-cancel.h: New file.
+	* sysdeps/unix/sysv/linux/microblaze/socket.S: Update SINGLE_THREAD_P use.
+	* sysdeps/unix/sysv/linux/microblaze/Makefile(libpthread-routines):
+	Add sysdep.
+
 2014-06-30  Adhemerval Zanella  <azanella@linux.vnet.ibm.com>
 
 	* sysdeps/powerpc/fpu/libm-test-ulps: Update.
diff --git a/sysdeps/unix/sysv/linux/microblaze/Makefile b/sysdeps/unix/sysv/linux/microblaze/Makefile
index 6145532..44a838f 100644
--- a/sysdeps/unix/sysv/linux/microblaze/Makefile
+++ b/sysdeps/unix/sysv/linux/microblaze/Makefile
@@ -1,3 +1,8 @@
 ifeq ($(subdir),resource)
 sysdep_routines += backtrace_linux
 endif
+
+ifeq ($(subdir),nptl)
+# pull in __syscall_error routine
+libpthread-routines += sysdep
+endif
\ No newline at end of file
diff --git a/sysdeps/unix/sysv/linux/microblaze/socket.S b/sysdeps/unix/sysv/linux/microblaze/socket.S
index ab1cb54..a5b6ec4 100644
--- a/sysdeps/unix/sysv/linux/microblaze/socket.S
+++ b/sysdeps/unix/sysv/linux/microblaze/socket.S
@@ -80,7 +80,7 @@ ENTRY(__socket)
 /* The rest of the args (if any) are on the caller's stack already.  */
 
 #if defined NEED_CANCELLATION && defined CENABLE
-	SINGLE_THREAD_P
+	SINGLE_THREAD_P(r12)
 	bnei	r12,L(socket_cancel)
 #endif
 
diff --git a/sysdeps/unix/sysv/linux/microblaze/sysdep-cancel.h b/sysdeps/unix/sysv/linux/microblaze/sysdep-cancel.h
new file mode 100644
index 0000000..0080d8d
--- /dev/null
+++ b/sysdeps/unix/sysv/linux/microblaze/sysdep-cancel.h
@@ -0,0 +1,158 @@
+/* Copyright (C) 2014 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
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <sysdep.h>
+#include <tls.h>
+#ifndef __ASSEMBLER__
+# include <nptl/pthreadP.h>
+#endif
+
+#if !defined NOT_IN_libc || defined IS_IN_libpthread || defined IS_IN_librt
+
+# if !defined(IS_IN_librt) || !defined(PIC)
+#  define AC_STACK_SIZE  16  /* space for r15, async_cancel arg and 2 temp words */
+#  define AC_SET_GOT /* empty */
+#  define AC_RESTORE_GOT /* empty */
+# else
+#  define AC_STACK_SIZE  20  /* extra 4 bytes for r20 */
+#  define AC_SET_GOT                                                 \
+    swi   r20, r1, AC_STACK_SIZE-4;                                  \
+    mfs   r20, rpc;                                                  \
+    addik r20, r20, _GLOBAL_OFFSET_TABLE_+8;
+#  define AC_RESTORE_GOT                                             \
+    lwi   r20, r1, AC_STACK_SIZE-4;
+# endif
+
+# undef PSEUDO
+# define PSEUDO(name, syscall_name, args)                            \
+  .text;                                                             \
+  ENTRY (name)                                                       \
+    SINGLE_THREAD_P(r12);                                            \
+    bnei r12, L(pseudo_cancel);                                      \
+  .globl __##syscall_name##_nocancel;                                \
+  .type __##syscall_name##_nocancel,@function;                       \
+__##syscall_name##_nocancel:                                         \
+    DO_CALL (syscall_name, args);                                    \
+    addik r4, r0, -4095;                                             \
+    cmpu  r4, r4, r3;                                                \
+    bgei  r4, SYSCALL_ERROR_LABEL;                                   \
+    rtsd  r15, 8;                                                    \
+    nop;                                                             \
+  .size __##syscall_name##_nocancel, .-__##syscall_name##_nocancel;  \
+L(pseudo_cancel):                                                    \
+    addik r1, r1, -AC_STACK_SIZE;                                    \
+    swi   r15, r1, 0;                                                \
+    AC_SET_GOT                                                       \
+    DOCARGS_##args                                                   \
+    CENABLE;                                                         \
+    swi   r3, r1, 8;                                                 \
+    UNDOCARGS_##args                                                 \
+    DO_CALL (syscall_name, args);                                    \
+    swi   r3, r1, 12;                                                \
+    lwi   r5, r1, 8;                                                 \
+    CDISABLE;                                                        \
+    lwi   r3, r1, 12;                                                \
+    lwi   r15, r1, 0;                                                \
+    AC_RESTORE_GOT                                                   \
+    addik r1, r1, AC_STACK_SIZE;                                     \
+    addik r4, r0, -4095;                                             \
+    cmpu  r4, r4, r3;                                                \
+    bgei  r4, SYSCALL_ERROR_LABEL;                                   \
+    rtsd  r15, 8;                                                    \
+    nop;
+
+/*
+ * Macros to save/restore syscall arguments across CENABLE
+ * The arguments are saved into the caller's stack (original r1 + 4)
+ */
+
+# define DOCARGS_0
+# define DOCARGS_1  swi   r5, r1, AC_STACK_SIZE + 4;
+# define DOCARGS_2  swi   r6, r1, AC_STACK_SIZE + 8; DOCARGS_1
+# define DOCARGS_3  swi   r7, r1, AC_STACK_SIZE + 12; DOCARGS_2
+# define DOCARGS_4  swi   r8, r1, AC_STACK_SIZE + 16; DOCARGS_3
+# define DOCARGS_5  swi   r9, r1, AC_STACK_SIZE + 20; DOCARGS_4
+# define DOCARGS_6  swi   r10, r1, AC_STACK_SIZE + 24; DOCARGS_5
+
+# define UNDOCARGS_0
+# define UNDOCARGS_1  lwi   r5, r1, AC_STACK_SIZE + 4;
+# define UNDOCARGS_2  UNDOCARGS_1 lwi   r6, r1, AC_STACK_SIZE + 8;
+# define UNDOCARGS_3  UNDOCARGS_2 lwi   r7, r1, AC_STACK_SIZE + 12;
+# define UNDOCARGS_4  UNDOCARGS_3 lwi   r8, r1, AC_STACK_SIZE + 16;
+# define UNDOCARGS_5  UNDOCARGS_4 lwi   r9, r1, AC_STACK_SIZE + 20;
+# define UNDOCARGS_6  UNDOCARGS_5 lwi   r10, r1, AC_STACK_SIZE + 24;
+
+# ifdef PIC
+#  define PSEUDO_JMP(sym)  brlid r15, sym##@PLTPC; addk r0, r0, r0
+# else
+#  define PSEUDO_JMP(sym)  brlid r15, sym; addk r0, r0, r0
+# endif
+
+# ifdef IS_IN_libpthread
+#  define CENABLE PSEUDO_JMP (__pthread_enable_asynccancel)
+#  define CDISABLE  PSEUDO_JMP (__pthread_disable_asynccancel)
+#  define __local_multiple_threads __pthread_multiple_threads
+# elif !defined NOT_IN_libc
+#  define CENABLE PSEUDO_JMP (__libc_enable_asynccancel)
+#  define CDISABLE  PSEUDO_JMP (__libc_disable_asynccancel)
+#  define __local_multiple_threads __libc_multiple_threads
+# elif defined IS_IN_librt
+#  define CENABLE PSEUDO_JMP (__librt_enable_asynccancel)
+#  define CDISABLE  PSEUDO_JMP (__librt_disable_asynccancel)
+# else
+#  error Unsupported library
+# endif
+
+
+# if defined IS_IN_libpthread || !defined NOT_IN_libc
+#  ifndef __ASSEMBLER__
+extern int __local_multiple_threads attribute_hidden;
+#   define SINGLE_THREAD_P __builtin_expect (__local_multiple_threads == 0, 1)
+#  else
+#   if !defined PIC
+#    define SINGLE_THREAD_P(reg) lwi reg, r0, __local_multiple_threads;
+#   else
+#    define SINGLE_THREAD_P(reg)                                     \
+      mfs   reg, rpc;                                                \
+      addik reg, reg, _GLOBAL_OFFSET_TABLE_+8;                       \
+      lwi   reg, reg, __local_multiple_threads@GOT;                  \
+      lwi   reg, reg, 0;
+#   endif
+#  endif
+# else
+#  ifndef __ASSEMBLER__
+#   define SINGLE_THREAD_P                                           \
+  __builtin_expect (THREAD_GETMEM (THREAD_SELF,                      \
+                                   header.multiple_threads) == 0, 1)
+#  else
+#   define SINGLE_THREAD_P(reg)                                      \
+     lwi reg, r0, MULTIPLE_THREADS_OFFSET(reg)
+#  endif
+# endif
+
+#elif !defined __ASSEMBLER__
+
+# define SINGLE_THREAD_P (1)
+# define NO_CANCELLATION (1)
+
+#endif
+
+#ifndef __ASSEMBLER__
+# define RTLD_SINGLE_THREAD_P                                        \
+  __builtin_expect (THREAD_GETMEM (THREAD_SELF,                      \
+                                   header.multiple_threads) == 0, 1)
+#endif

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

Summary of changes:
 ChangeLog                                          |   72 +++++++++
 .../linux => }/microblaze/nptl/bits/pthreadtypes.h |    0
 .../linux => }/microblaze/nptl/bits/semaphore.h    |    0
 sysdeps/microblaze/nptl/tls.h                      |    2 +
 sysdeps/unix/sysv/linux/microblaze/Makefile        |    5 +
 .../linux/microblaze/{nptl/fork.c => arch-fork.h}  |    6 +-
 .../linux/microblaze/{nptl => }/c++-types.data     |    0
 .../unix/sysv/linux/microblaze/kernel-features.h   |   12 +-
 .../sysv/linux/microblaze/{nptl => }/ld.abilist    |    0
 .../microblaze/{nptl => }/libBrokenLocale.abilist  |    0
 .../linux/microblaze/{nptl => }/libanl.abilist     |    0
 .../sysv/linux/microblaze/{nptl => }/libc.abilist  |    0
 .../linux/microblaze/{nptl => }/libcrypt.abilist   |    0
 .../sysv/linux/microblaze/{nptl => }/libdl.abilist |    0
 .../sysv/linux/microblaze/{nptl => }/libm.abilist  |    0
 .../linux/microblaze/{nptl => }/libnsl.abilist     |    0
 .../linux/microblaze/{nptl => }/libpthread.abilist |    0
 .../linux/microblaze/{nptl => }/libresolv.abilist  |    0
 .../sysv/linux/microblaze/{nptl => }/librt.abilist |    0
 .../microblaze/{nptl => }/libthread_db.abilist     |    0
 .../linux/microblaze/{nptl => }/libutil.abilist    |    0
 .../sysv/linux/microblaze/{nptl => }/localplt.data |    0
 .../linux/microblaze/{nptl => }/lowlevellock.h     |    0
 .../unix/sysv/linux/microblaze/nptl/createthread.c |   23 ---
 sysdeps/unix/sysv/linux/microblaze/nptl/pt-vfork.S |   21 ---
 .../sysv/linux/{mips => microblaze}/pt-vfork.S     |    0
 .../linux/microblaze/{nptl => }/pthread_once.c     |    0
 sysdeps/unix/sysv/linux/microblaze/socket.S        |    2 +-
 sysdeps/unix/sysv/linux/microblaze/sysdep-cancel.h |  158 ++++++++++++++++++++
 .../unix/sysv/linux/microblaze/{nptl => }/vfork.S  |    0
 30 files changed, 247 insertions(+), 54 deletions(-)
 rename sysdeps/{unix/sysv/linux => }/microblaze/nptl/bits/pthreadtypes.h (100%)
 rename sysdeps/{unix/sysv/linux => }/microblaze/nptl/bits/semaphore.h (100%)
 rename sysdeps/unix/sysv/linux/microblaze/{nptl/fork.c => arch-fork.h} (89%)
 rename sysdeps/unix/sysv/linux/microblaze/{nptl => }/c++-types.data (100%)
 rename sysdeps/unix/sysv/linux/microblaze/{nptl => }/ld.abilist (100%)
 rename sysdeps/unix/sysv/linux/microblaze/{nptl => }/libBrokenLocale.abilist (100%)
 rename sysdeps/unix/sysv/linux/microblaze/{nptl => }/libanl.abilist (100%)
 rename sysdeps/unix/sysv/linux/microblaze/{nptl => }/libc.abilist (100%)
 rename sysdeps/unix/sysv/linux/microblaze/{nptl => }/libcrypt.abilist (100%)
 rename sysdeps/unix/sysv/linux/microblaze/{nptl => }/libdl.abilist (100%)
 rename sysdeps/unix/sysv/linux/microblaze/{nptl => }/libm.abilist (100%)
 rename sysdeps/unix/sysv/linux/microblaze/{nptl => }/libnsl.abilist (100%)
 rename sysdeps/unix/sysv/linux/microblaze/{nptl => }/libpthread.abilist (100%)
 rename sysdeps/unix/sysv/linux/microblaze/{nptl => }/libresolv.abilist (100%)
 rename sysdeps/unix/sysv/linux/microblaze/{nptl => }/librt.abilist (100%)
 rename sysdeps/unix/sysv/linux/microblaze/{nptl => }/libthread_db.abilist (100%)
 rename sysdeps/unix/sysv/linux/microblaze/{nptl => }/libutil.abilist (100%)
 rename sysdeps/unix/sysv/linux/microblaze/{nptl => }/localplt.data (100%)
 rename sysdeps/unix/sysv/linux/microblaze/{nptl => }/lowlevellock.h (100%)
 delete mode 100644 sysdeps/unix/sysv/linux/microblaze/nptl/createthread.c
 delete mode 100644 sysdeps/unix/sysv/linux/microblaze/nptl/pt-vfork.S
 copy sysdeps/unix/sysv/linux/{mips => microblaze}/pt-vfork.S (100%)
 rename sysdeps/unix/sysv/linux/microblaze/{nptl => }/pthread_once.c (100%)
 create mode 100644 sysdeps/unix/sysv/linux/microblaze/sysdep-cancel.h
 rename sysdeps/unix/sysv/linux/microblaze/{nptl => }/vfork.S (100%)


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]