This is the mail archive of the
glibc-cvs@sourceware.org
mailing list for the glibc project.
GNU C Library master sources branch master updated. glibc-2.19-732-gb0cb309
- From: davidholsgrove at sourceware dot org
- To: glibc-cvs at sourceware dot org
- Date: 1 Jul 2014 11:42:20 -0000
- Subject: 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