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-486-gc7a8d66


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  c7a8d667878a25bad5d7ab41fbbb603e535da661 (commit)
       via  daee7851e28051fc81b50ac7862d923d77324e83 (commit)
       via  50a40819543199954a0864c22f308f367cdbd2c2 (commit)
       via  8464c2a11033bf52c04043ec65166d99f115b16e (commit)
       via  3d1024e8d159ec5f0f3899c02af5473f5b0ec49c (commit)
      from  fdfd175d46ac6a810ebdeb2a2936e6d7d13995ab (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=c7a8d667878a25bad5d7ab41fbbb603e535da661

commit c7a8d667878a25bad5d7ab41fbbb603e535da661
Author: Adhemerval Zanella <azanella@linux.vnet.ibm.com>
Date:   Wed May 21 16:08:06 2014 -0500

    PowerPC: Move remaining nptl/sysdeps/unix/sysv/linux/powerpc/ files.

diff --git a/ChangeLog b/ChangeLog
index 82d5fa8..683fa85 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,38 @@
 2014-05-26  Adhemerval Zanella  <azanella@linux.vnet.ibm.com>
 
+	* nptl/sysdeps/unix/sysv/linux/powerpc/Versions: Remove, merge into
+	...
+	* sysdeps/unix/sysv/linux/powerpc/powerpc32/Versions: ... here.
+	* sysdeps/unix/sysv/linux/powerpc/powerpc64/Versions: Likewise.
+	* nptl/sysdeps/unix/sysv/linux/powerpc/Makefile: Moved rules to ...
+	* sysdeps/unix/sysv/linux/powerpc/Makefile: ... here.
+	* nptl/sysdeps/unix/sysv/linux/powerpc/bits/local_lim.h: Moved ...
+	* sysdeps/unix/sysv/linux/powerpc/bits/local_lim.h: ... here.
+	* nptl/sysdeps/unix/sysv/linux/powerpc/lowlevellock.h: Moved ...
+	* sysdeps/unix/sysv/linux/powerpc/lowlevellock.h: ...here.
+	* nptl/sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep-cancel.h:
+	Moved ...
+	* sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep-cancel.h: ... here.
+	* nptl/sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep-cancel.h:
+	Moved ...
+	* sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep-cancel.h: ... here.
+	* nptl/sysdeps/unix/sysv/linux/powerpc/createthread.c: Moved ...
+	* sysdeps/unix/sysv/linux/powerpc/createthread.c: ... here.
+	* nptl/sysdeps/unix/sysv/linux/powerpc/pt-longjmp.c: Moved ...
+	* sysdeps/unix/sysv/linux/powerpc/pt-longjmp.c: ... here.
+	* nptl/sysdeps/unix/sysv/linux/powerpc/pthread_attr_setstack.c: Moved
+	...
+	* sysdeps/unix/sysv/linux/powerpc/pthread_attr_setstack.c: ... here.
+	* nptl/sysdeps/unix/sysv/linux/powerpc/pthread_attr_setstacksize.c:
+	Moved ...
+	* sysdeps/unix/sysv/linux/powerpc/pthread_attr_setstacksize.c: ...
+	here.
+	* nptl/sysdeps/unix/sysv/linux/powerpc/pthread_spin_unlock.c: Moved
+	...
+	* sysdeps/unix/sysv/linux/powerpc/pthread_spin_unlock.c: ... here.
+	* nptl/sysdeps/unix/sysv/linux/powerpc/sem_post.c: Moved ...
+	* sysdeps/unix/sysv/linux/powerpc/sem_post.c: ... here.
+
 	* nptl/sysdeps/unix/sysv/linux/powerpc/bits/pthreadtypes.h: Moved ...
 	* sysdeps/unix/sysv/linux/powerpc/bits/pthreadtypes.h: ... here.
 	* nptl/sysdeps/unix/sysv/linux/powerpc/bits/semaphore.h: Moved ...
diff --git a/nptl/sysdeps/unix/sysv/linux/powerpc/Makefile b/nptl/sysdeps/unix/sysv/linux/powerpc/Makefile
deleted file mode 100644
index e98c9bd..0000000
--- a/nptl/sysdeps/unix/sysv/linux/powerpc/Makefile
+++ /dev/null
@@ -1,2 +0,0 @@
-# pull in __syscall_error routine
-libpthread-routines += sysdep
diff --git a/nptl/sysdeps/unix/sysv/linux/powerpc/Versions b/nptl/sysdeps/unix/sysv/linux/powerpc/Versions
deleted file mode 100644
index 6b5a036..0000000
--- a/nptl/sysdeps/unix/sysv/linux/powerpc/Versions
+++ /dev/null
@@ -1,9 +0,0 @@
-libpthread {
-  GLIBC_2.3.4 {
-    longjmp; siglongjmp;
-  }
-  GLIBC_2.6 {
-    # Changed PTHREAD_STACK_MIN.
-    pthread_attr_setstack; pthread_attr_setstacksize;
-  }
-}
diff --git a/sysdeps/unix/sysv/linux/powerpc/Makefile b/sysdeps/unix/sysv/linux/powerpc/Makefile
index 395342f..28f7165 100644
--- a/sysdeps/unix/sysv/linux/powerpc/Makefile
+++ b/sysdeps/unix/sysv/linux/powerpc/Makefile
@@ -31,3 +31,7 @@ sysdep_headers += bits/ppc.h
 sysdep_routines += get_timebase_freq
 tests += test-gettimebasefreq
 endif
+
+ifeq ($(subdir),nptl)
+libpthread-routines += sysdep
+endif
diff --git a/nptl/sysdeps/unix/sysv/linux/powerpc/bits/local_lim.h b/sysdeps/unix/sysv/linux/powerpc/bits/local_lim.h
similarity index 100%
rename from nptl/sysdeps/unix/sysv/linux/powerpc/bits/local_lim.h
rename to sysdeps/unix/sysv/linux/powerpc/bits/local_lim.h
diff --git a/nptl/sysdeps/unix/sysv/linux/powerpc/createthread.c b/sysdeps/unix/sysv/linux/powerpc/createthread.c
similarity index 100%
rename from nptl/sysdeps/unix/sysv/linux/powerpc/createthread.c
rename to sysdeps/unix/sysv/linux/powerpc/createthread.c
diff --git a/nptl/sysdeps/unix/sysv/linux/powerpc/lowlevellock.h b/sysdeps/unix/sysv/linux/powerpc/lowlevellock.h
similarity index 100%
rename from nptl/sysdeps/unix/sysv/linux/powerpc/lowlevellock.h
rename to sysdeps/unix/sysv/linux/powerpc/lowlevellock.h
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/Versions b/sysdeps/unix/sysv/linux/powerpc/powerpc32/Versions
index 8d1c3a5..e13d20b 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/Versions
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/Versions
@@ -34,3 +34,13 @@ libc {
     __ppc_get_timebase_freq;
   }
 }
+
+libpthread {
+  GLIBC_2.3.4 {
+    longjmp; siglongjmp;
+  }
+  GLIBC_2.6 {
+    # Changed PTHREAD_STACK_MIN.
+    pthread_attr_setstack; pthread_attr_setstacksize;
+  }
+}
diff --git a/nptl/sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep-cancel.h b/sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep-cancel.h
similarity index 100%
rename from nptl/sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep-cancel.h
rename to sysdeps/unix/sysv/linux/powerpc/powerpc32/sysdep-cancel.h
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/Versions b/sysdeps/unix/sysv/linux/powerpc/powerpc64/Versions
index 569e79a..a8e88b8 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/Versions
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/Versions
@@ -31,3 +31,13 @@ librt {
     timer_settime;
   }
 }
+
+libpthread {
+  GLIBC_2.3.4 {
+    longjmp; siglongjmp;
+  }
+  GLIBC_2.6 {
+    # Changed PTHREAD_STACK_MIN.
+    pthread_attr_setstack; pthread_attr_setstacksize;
+  }
+}
diff --git a/nptl/sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep-cancel.h b/sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep-cancel.h
similarity index 100%
rename from nptl/sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep-cancel.h
rename to sysdeps/unix/sysv/linux/powerpc/powerpc64/sysdep-cancel.h
diff --git a/nptl/sysdeps/unix/sysv/linux/powerpc/pt-longjmp.c b/sysdeps/unix/sysv/linux/powerpc/pt-longjmp.c
similarity index 100%
rename from nptl/sysdeps/unix/sysv/linux/powerpc/pt-longjmp.c
rename to sysdeps/unix/sysv/linux/powerpc/pt-longjmp.c
diff --git a/nptl/sysdeps/unix/sysv/linux/powerpc/pthread_attr_setstack.c b/sysdeps/unix/sysv/linux/powerpc/pthread_attr_setstack.c
similarity index 100%
rename from nptl/sysdeps/unix/sysv/linux/powerpc/pthread_attr_setstack.c
rename to sysdeps/unix/sysv/linux/powerpc/pthread_attr_setstack.c
diff --git a/nptl/sysdeps/unix/sysv/linux/powerpc/pthread_attr_setstacksize.c b/sysdeps/unix/sysv/linux/powerpc/pthread_attr_setstacksize.c
similarity index 100%
rename from nptl/sysdeps/unix/sysv/linux/powerpc/pthread_attr_setstacksize.c
rename to sysdeps/unix/sysv/linux/powerpc/pthread_attr_setstacksize.c
diff --git a/nptl/sysdeps/unix/sysv/linux/powerpc/pthread_spin_unlock.c b/sysdeps/unix/sysv/linux/powerpc/pthread_spin_unlock.c
similarity index 100%
rename from nptl/sysdeps/unix/sysv/linux/powerpc/pthread_spin_unlock.c
rename to sysdeps/unix/sysv/linux/powerpc/pthread_spin_unlock.c
diff --git a/nptl/sysdeps/unix/sysv/linux/powerpc/sem_post.c b/sysdeps/unix/sysv/linux/powerpc/sem_post.c
similarity index 100%
rename from nptl/sysdeps/unix/sysv/linux/powerpc/sem_post.c
rename to sysdeps/unix/sysv/linux/powerpc/sem_post.c

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

commit daee7851e28051fc81b50ac7862d923d77324e83
Author: Adhemerval Zanella <azanella@linux.vnet.ibm.com>
Date:   Wed May 21 16:06:30 2014 -0500

    PowerPC: Move NPTL ABI headers to sysdeps.

diff --git a/ChangeLog b/ChangeLog
index 0b7fa9f..82d5fa8 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,10 @@
 2014-05-26  Adhemerval Zanella  <azanella@linux.vnet.ibm.com>
 
+	* nptl/sysdeps/unix/sysv/linux/powerpc/bits/pthreadtypes.h: Moved ...
+	* sysdeps/unix/sysv/linux/powerpc/bits/pthreadtypes.h: ... here.
+	* nptl/sysdeps/unix/sysv/linux/powerpc/bits/semaphore.h: Moved ...
+	* sysdeps/unix/sysv/linux/powerpc/bits/semaphore.h: ... here.
+
 	* nptl/sysdeps/unix/sysv/linux/powerpc/powerpc64/Versions: Remove,
 	merge into ...
 	* sysdeps/unix/sysv/linux/powerpc/powerpc64/Versions: ... here.
diff --git a/nptl/sysdeps/unix/sysv/linux/powerpc/bits/pthreadtypes.h b/sysdeps/unix/sysv/linux/powerpc/bits/pthreadtypes.h
similarity index 100%
rename from nptl/sysdeps/unix/sysv/linux/powerpc/bits/pthreadtypes.h
rename to sysdeps/unix/sysv/linux/powerpc/bits/pthreadtypes.h
diff --git a/nptl/sysdeps/unix/sysv/linux/powerpc/bits/semaphore.h b/sysdeps/unix/sysv/linux/powerpc/bits/semaphore.h
similarity index 100%
rename from nptl/sysdeps/unix/sysv/linux/powerpc/bits/semaphore.h
rename to sysdeps/unix/sysv/linux/powerpc/bits/semaphore.h

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

commit 50a40819543199954a0864c22f308f367cdbd2c2
Author: Adhemerval Zanella <azanella@linux.vnet.ibm.com>
Date:   Fri May 23 07:43:37 2014 -0500

    PowerPC: Move powerpc64 timer_*.c out of nptl/

diff --git a/ChangeLog b/ChangeLog
index 462abcc..0b7fa9f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,25 @@
 2014-05-26  Adhemerval Zanella  <azanella@linux.vnet.ibm.com>
 
+	* nptl/sysdeps/unix/sysv/linux/powerpc/powerpc64/Versions: Remove,
+	merge into ...
+	* sysdeps/unix/sysv/linux/powerpc/powerpc64/Versions: ... here.
+	* nptl/sysdeps/unix/sysv/linux/powerpc/powerpc64/timer_create.c: Moved
+	...
+	* sysdeps/unix/sysv/linux/powerpc/powerpc64/timer_create.c: ... here.
+	* nptl/sysdeps/unix/sysv/linux/powerpc/powerpc64/timer_delete.c: Moved
+	...
+	* sysdeps/unix/sysv/linux/powerpc/powerpc64/timer_delete.c: ... here.
+	* nptl/sysdeps/unix/sysv/linux/powerpc/powerpc64/timer_getoverr.c:
+	Moved ...
+	* sysdeps/unix/sysv/linux/powerpc/powerpc64/timer_getoverr.c: ...
+	here.
+	* nptl/sysdeps/unix/sysv/linux/powerpc/powerpc64/timer_gettime.c:
+	Moved ...
+	* sysdeps/unix/sysv/linux/powerpc/powerpc64/timer_gettime.c: ... here.
+	* nptl/sysdeps/unix/sysv/linux/powerpc/powerpc64/timer_settime.c:
+	Moved ...
+	* sysdeps/unix/sysv/linux/powerpc/powerpc64/timer_settime.c: ... here.
+
 	* sysdeps/unix/sysv/linux/powerpc/powerpc32/clone.S: Remove
 	conditional [RESET_PID].
 	* sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S: Likewise.
diff --git a/nptl/sysdeps/unix/sysv/linux/powerpc/powerpc64/Versions b/nptl/sysdeps/unix/sysv/linux/powerpc/powerpc64/Versions
deleted file mode 100644
index 3b111dd..0000000
--- a/nptl/sysdeps/unix/sysv/linux/powerpc/powerpc64/Versions
+++ /dev/null
@@ -1,7 +0,0 @@
-librt {
-  GLIBC_2.3.3 {
-    # Changed timer_t.
-    timer_create; timer_delete; timer_getoverrun; timer_gettime;
-    timer_settime;
-  }
-}
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/Versions b/sysdeps/unix/sysv/linux/powerpc/powerpc64/Versions
index 16d7128..569e79a 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/Versions
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/Versions
@@ -23,3 +23,11 @@ libc {
     __ppc_get_timebase_freq;
   }
 }
+
+librt {
+  GLIBC_2.3.3 {
+    # Changed timer_t.
+    timer_create; timer_delete; timer_getoverrun; timer_gettime;
+    timer_settime;
+  }
+}
diff --git a/nptl/sysdeps/unix/sysv/linux/powerpc/powerpc64/timer_create.c b/sysdeps/unix/sysv/linux/powerpc/powerpc64/timer_create.c
similarity index 100%
rename from nptl/sysdeps/unix/sysv/linux/powerpc/powerpc64/timer_create.c
rename to sysdeps/unix/sysv/linux/powerpc/powerpc64/timer_create.c
diff --git a/nptl/sysdeps/unix/sysv/linux/powerpc/powerpc64/timer_delete.c b/sysdeps/unix/sysv/linux/powerpc/powerpc64/timer_delete.c
similarity index 100%
rename from nptl/sysdeps/unix/sysv/linux/powerpc/powerpc64/timer_delete.c
rename to sysdeps/unix/sysv/linux/powerpc/powerpc64/timer_delete.c
diff --git a/nptl/sysdeps/unix/sysv/linux/powerpc/powerpc64/timer_getoverr.c b/sysdeps/unix/sysv/linux/powerpc/powerpc64/timer_getoverr.c
similarity index 100%
rename from nptl/sysdeps/unix/sysv/linux/powerpc/powerpc64/timer_getoverr.c
rename to sysdeps/unix/sysv/linux/powerpc/powerpc64/timer_getoverr.c
diff --git a/nptl/sysdeps/unix/sysv/linux/powerpc/powerpc64/timer_gettime.c b/sysdeps/unix/sysv/linux/powerpc/powerpc64/timer_gettime.c
similarity index 100%
rename from nptl/sysdeps/unix/sysv/linux/powerpc/powerpc64/timer_gettime.c
rename to sysdeps/unix/sysv/linux/powerpc/powerpc64/timer_gettime.c
diff --git a/nptl/sysdeps/unix/sysv/linux/powerpc/powerpc64/timer_settime.c b/sysdeps/unix/sysv/linux/powerpc/powerpc64/timer_settime.c
similarity index 100%
rename from nptl/sysdeps/unix/sysv/linux/powerpc/powerpc64/timer_settime.c
rename to sysdeps/unix/sysv/linux/powerpc/powerpc64/timer_settime.c

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

commit 8464c2a11033bf52c04043ec65166d99f115b16e
Author: Adhemerval Zanella <azanella@linux.vnet.ibm.com>
Date:   Tue May 20 20:31:04 2014 -0500

    PowerPC: Consolidate NPTL/non versions of clone

diff --git a/ChangeLog b/ChangeLog
index de8e9a2..462abcc 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,13 @@
 2014-05-26  Adhemerval Zanella  <azanella@linux.vnet.ibm.com>
 
+	* sysdeps/unix/sysv/linux/powerpc/powerpc32/clone.S: Remove
+	conditional [RESET_PID].
+	* sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S: Likewise.
+	* nptl/sysdeps/unix/sysv/linux/powerpc/powerpc32/clone.S: File
+	removed.
+	* nptl/sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S: File
+	removed.
+
 	* sysdeps/unix/sysv/linux/powerpc/powerpc32/vfork.S: Include
 	<tcb-offsets.h>.
 	(__vfork): Incorporate save/restore of PID from nptl/vfork.S here.
diff --git a/nptl/sysdeps/unix/sysv/linux/powerpc/powerpc32/clone.S b/nptl/sysdeps/unix/sysv/linux/powerpc/powerpc32/clone.S
deleted file mode 100644
index 675a997..0000000
--- a/nptl/sysdeps/unix/sysv/linux/powerpc/powerpc32/clone.S
+++ /dev/null
@@ -1,9 +0,0 @@
-/* We want an #include_next, but we are the main source file.
-   So, #include ourselves and in that incarnation we can use #include_next.  */
-#ifndef INCLUDED_SELF
-# define INCLUDED_SELF
-# include <clone.S>
-#else
-# define RESET_PID
-# include_next <clone.S>
-#endif
diff --git a/nptl/sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S b/nptl/sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S
deleted file mode 100644
index 675a997..0000000
--- a/nptl/sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S
+++ /dev/null
@@ -1,9 +0,0 @@
-/* We want an #include_next, but we are the main source file.
-   So, #include ourselves and in that incarnation we can use #include_next.  */
-#ifndef INCLUDED_SELF
-# define INCLUDED_SELF
-# include <clone.S>
-#else
-# define RESET_PID
-# include_next <clone.S>
-#endif
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/clone.S b/sysdeps/unix/sysv/linux/powerpc/powerpc32/clone.S
index bb1510d..0463810 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/clone.S
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/clone.S
@@ -44,11 +44,7 @@ ENTRY (__clone)
 	/* Set up stack frame for parent.  */
 	stwu	r1,-32(r1)
 	cfi_adjust_cfa_offset (32)
-#ifdef RESET_PID
 	stmw	r28,16(r1)
-#else
-	stmw	r30,16(r1)
-#endif
 
 	/* Set up stack frame for child.  */
 	clrrwi	r4,r4,4
@@ -57,9 +53,7 @@ ENTRY (__clone)
 
 	/* Save fn, args, stack across syscall.  */
 	mr	r30,r3			/* Function in r30.  */
-#ifdef RESET_PID
 	mr	r28,r5
-#endif
 	mr	r31,r6			/* Argument in r31.  */
 
 	/* 'flags' argument is first parameter to clone syscall. (The other
@@ -83,7 +77,6 @@ ENTRY (__clone)
 	crandc	cr1*4+eq,cr1*4+eq,cr0*4+so
 	bne-	cr1,L(parent)		/* The '-' is to minimise the race.  */
 
-#ifdef RESET_PID
 	andis.	r0,r28,CLONE_THREAD>>16
 	bne+	r0,L(oldpid)
 	andi.	r0,r28,CLONE_VM
@@ -94,7 +87,6 @@ L(nomoregetpid):
 	stw	r3,TID(r2)
 	stw	r3,PID(r2)
 L(oldpid):
-#endif
 
 	/* Call procedure.  */
 	mtctr	r30
@@ -105,11 +97,7 @@ L(oldpid):
 
 L(parent):
 	/* Parent.  Restore registers & return.  */
-#ifdef RESET_PID
 	lmw	r28,16(r1)
-#else
-	lmw	r30,16(r1)
-#endif
 	addi	r1,r1,32
 	bnslr+
 	b	__syscall_error@local
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S b/sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S
index d8fefdd..892d44f 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S
@@ -41,14 +41,10 @@ ENTRY (__clone)
 	beq-	cr0,L(badargs)
 
 	/* Save some regs in the "red zone".  */
-#ifdef RESET_PID
 	std	r29,-24(r1)
-#endif
 	std	r30,-16(r1)
 	std	r31,-8(r1)
-#ifdef RESET_PID
 	cfi_offset(r29,-24)
-#endif
 	cfi_offset(r30,-16)
 	cfi_offset(r31,-8)
 
@@ -59,15 +55,13 @@ ENTRY (__clone)
 
 	/* Save fn, args, stack across syscall.  */
 	mr	r30,r3			/* Function in r30.  */
-#ifdef RESET_PID
 	mr	r29,r5			/* Flags in r29.  */
-#endif
 	mr	r31,r6			/* Argument in r31.  */
 
 	/* 'flags' argument is first parameter to clone syscall.
 	   Second is the stack pointer, already in r4.  */
 	mr	r3,r5
-  /* Move the parent_tid, child_tid and tls arguments. */
+	/* Move the parent_tid, child_tid and tls arguments. */
 	mr	r5,r7
 	mr	r6,r8
 	mr	r7,r9
@@ -84,7 +78,6 @@ ENTRY (__clone)
 	crandc	cr1*4+eq,cr1*4+eq,cr0*4+so
 	bne-	cr1,L(parent)		/* The '-' is to minimise the race.  */
 
-#ifdef RESET_PID
 	andis.	r0,r29,CLONE_THREAD>>16
 	bne+	cr0,L(oldpid)
 	andi.	r0,r29,CLONE_VM
@@ -95,7 +88,6 @@ L(nomoregetpid):
 	stw	r3,TID(r13)
 	stw	r3,PID(r13)
 L(oldpid):
-#endif
 
 	std	r2,FRAME_TOC_SAVE(r1)
 	/* Call procedure.  */
@@ -120,21 +112,16 @@ L(badargs):
 
 L(parent):
 	/* Parent.  Restore registers & return.  */
-#ifdef RESET_PID
 	cfi_offset(r29,-24)
-#endif
 	cfi_offset(r30,-16)
 	cfi_offset(r31,-8)
-#ifdef RESET_PID
 	ld	r29,-24(r1)
-#endif
 	ld	r30,-16(r1)
 	ld	r31,-8(r1)
-#ifdef RESET_PID
 	cfi_restore(r29)
-#endif
 	cfi_restore(r30)
 	cfi_restore(r31)
+
 	PSEUDO_RET
 
 END (__clone)

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

commit 3d1024e8d159ec5f0f3899c02af5473f5b0ec49c
Author: Adhemerval Zanella <azanella@linux.vnet.ibm.com>
Date:   Mon May 26 11:41:28 2014 -0500

    PowerPC: Consolidate NPTL/non versions of vfork

diff --git a/ChangeLog b/ChangeLog
index 459042a..de8e9a2 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,23 @@
+2014-05-26  Adhemerval Zanella  <azanella@linux.vnet.ibm.com>
+
+	* sysdeps/unix/sysv/linux/powerpc/powerpc32/vfork.S: Include
+	<tcb-offsets.h>.
+	(__vfork): Incorporate save/restore of PID from nptl/vfork.S here.
+	(__libc_vfork): New strong alias.
+	* nptl/sysdeps/unix/sysv/linux/powerpc/powerpc32/pt-vfork.S: File
+	removed.
+	* nptl/sysdeps/unix/sysv/linux/powerpc/powerpc32/vfork.S: File
+	Removed.
+
+	* sysdeps/unix/sysv/linux/powerpc/powerpc64/vfork.S: Include
+	<tcb-offsets.h>.
+	(__vfork): Incorporate save/retore of PID from nptl/vfork.S here.
+	(__libc_vfork): New strong alias.
+	* nptl/sysdeps/unix/sysv/linux/powerpc/powerpc64/pt-vfork.S: File
+	removed.
+	* nptl/sysdeps/unix/sysv/linux/powerpc/powerpc64/vfork.S: File
+	removed.
+
 2014-05-26  Carlos O'Donell  <carlos@redhat.com>
 
 	* malloc/malloc.c (mi_arena): New function.
diff --git a/nptl/sysdeps/unix/sysv/linux/powerpc/powerpc32/pt-vfork.S b/nptl/sysdeps/unix/sysv/linux/powerpc/powerpc32/pt-vfork.S
deleted file mode 100644
index 81dbdee..0000000
--- a/nptl/sysdeps/unix/sysv/linux/powerpc/powerpc32/pt-vfork.S
+++ /dev/null
@@ -1,48 +0,0 @@
-/* Copyright (C) 2004-2014 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-   Contributed by Jakub Jelinek <jakub@redhat.com>, 2004.
-
-   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>
-#define _ERRNO_H	1
-#include <bits/errno.h>
-#include <kernel-features.h>
-#include <tcb-offsets.h>
-
-/* Clone the calling process, but without copying the whole address space.
-   The calling process is suspended until the new process exits or is
-   replaced by a call to `execve'.  Return -1 for errors, 0 to the new process,
-   and the process ID of the new process to the old process.  */
-
-ENTRY (__vfork)
-	lwz	0,PID(2)
-	neg	0,0
-	stw	0,PID(2)
-
-	DO_CALL (SYS_ify (vfork))
-
-	cmpwi	1,3,0
-	beqlr-	1
-
-	lwz	0,PID(2)
-	neg	0,0
-	stw	0,PID(2)
-
-	PSEUDO_RET
-
-PSEUDO_END (__vfork)
-
-weak_alias (__vfork, vfork)
diff --git a/nptl/sysdeps/unix/sysv/linux/powerpc/powerpc32/vfork.S b/nptl/sysdeps/unix/sysv/linux/powerpc/powerpc32/vfork.S
deleted file mode 100644
index e016105..0000000
--- a/nptl/sysdeps/unix/sysv/linux/powerpc/powerpc32/vfork.S
+++ /dev/null
@@ -1,56 +0,0 @@
-/* Copyright (C) 2004-2014 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-   Contributed by Jakub Jelinek <jakub@redhat.com>, 2004.
-
-   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>
-#define _ERRNO_H	1
-#include <bits/errno.h>
-#include <kernel-features.h>
-#include <tcb-offsets.h>
-
-/* Clone the calling process, but without copying the whole address space.
-   The calling process is suspended until the new process exits or is
-   replaced by a call to `execve'.  Return -1 for errors, 0 to the new process,
-   and the process ID of the new process to the old process.  */
-
-ENTRY (__vfork)
-	lwz	0,PID(2)
-	cmpwi	0,0,0
-	neg	0,0
-	bne-	0,1f
-	lis	0,0x8000
-1:	stw	0,PID(2)
-
-	DO_CALL (SYS_ify (vfork))
-
-	cmpwi	1,3,0
-	beqlr-	1
-
-	lwz	0,PID(2)
-	/* Cannot use clrlwi. here, because cr0 needs to be preserved
-	   until PSEUDO_RET.  */
-	clrlwi	4,0,1
-	cmpwi	1,4,0
-	beq-	1,1f
-	neg	4,0
-1:	stw	4,PID(2)
-
-	PSEUDO_RET
-
-PSEUDO_END (__vfork)
-libc_hidden_def (__vfork)
-weak_alias (__vfork, vfork)
diff --git a/nptl/sysdeps/unix/sysv/linux/powerpc/powerpc64/pt-vfork.S b/nptl/sysdeps/unix/sysv/linux/powerpc/powerpc64/pt-vfork.S
deleted file mode 100644
index bbf570f..0000000
--- a/nptl/sysdeps/unix/sysv/linux/powerpc/powerpc64/pt-vfork.S
+++ /dev/null
@@ -1,48 +0,0 @@
-/* Copyright (C) 2004-2014 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-   Contributed by Jakub Jelinek <jakub@redhat.com>, 2004.
-
-   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>
-#define _ERRNO_H	1
-#include <bits/errno.h>
-#include <kernel-features.h>
-#include <tcb-offsets.h>
-
-/* Clone the calling process, but without copying the whole address space.
-   The calling process is suspended until the new process exits or is
-   replaced by a call to `execve'.  Return -1 for errors, 0 to the new process,
-   and the process ID of the new process to the old process.  */
-
-ENTRY (__vfork)
-	lwz	0,PID(13)
-	neg	0,0
-	stw	0,PID(13)
-
-	DO_CALL (SYS_ify (vfork))
-
-	cmpwi	1,3,0
-	beqlr-	1
-
-	lwz	0,PID(13)
-	neg	0,0
-	stw	0,PID(13)
-
-	PSEUDO_RET
-
-PSEUDO_END (__vfork)
-
-weak_alias (__vfork, vfork)
diff --git a/nptl/sysdeps/unix/sysv/linux/powerpc/powerpc64/vfork.S b/nptl/sysdeps/unix/sysv/linux/powerpc/powerpc64/vfork.S
deleted file mode 100644
index f8bf016..0000000
--- a/nptl/sysdeps/unix/sysv/linux/powerpc/powerpc64/vfork.S
+++ /dev/null
@@ -1,54 +0,0 @@
-/* Copyright (C) 2004-2014 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-   Contributed by Jakub Jelinek <jakub@redhat.com>, 2004.
-
-   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>
-#define _ERRNO_H	1
-#include <bits/errno.h>
-#include <kernel-features.h>
-#include <tcb-offsets.h>
-
-/* Clone the calling process, but without copying the whole address space.
-   The calling process is suspended until the new process exits or is
-   replaced by a call to `execve'.  Return -1 for errors, 0 to the new process,
-   and the process ID of the new process to the old process.  */
-
-ENTRY (__vfork)
-	lwz	0,PID(13)
-	cmpwi	0,0,0
-	neg	0,0
-	bne-	0,1f
-	lis	0,0x8000
-1:	stw	0,PID(13)
-
-	DO_CALL (SYS_ify (vfork))
-
-	cmpwi	1,3,0
-	beqlr-	1
-
-	lwz	0,PID(13)
-	clrlwi	4,0,1
-	cmpwi	1,4,0
-	beq-	1,1f
-	neg	4,0
-1:	stw	4,PID(13)
-
-	PSEUDO_RET
-
-PSEUDO_END (__vfork)
-libc_hidden_def (__vfork)
-weak_alias (__vfork, vfork)
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc32/vfork.S b/sysdeps/unix/sysv/linux/powerpc/powerpc32/vfork.S
index 7a1e842..8a84336 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc32/vfork.S
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc32/vfork.S
@@ -19,6 +19,7 @@
 #define _ERRNO_H	1
 #include <bits/errno.h>
 #include <kernel-features.h>
+#include <tcb-offsets.h>
 
 /* Clone the calling process, but without copying the whole address space.
    The calling process is suspended until the new process exits or is
@@ -26,9 +27,39 @@
    and the process ID of the new process to the old process.  */
 
 ENTRY (__vfork)
+
+	/* Load the TCB-cached PID value and negates it. If It it is zero
+	   sets it to 0x800000.  And then sets its value again on TCB field.
+	   See raise.c for the logic that relies on this value.  */
+
+	lwz	r0,PID(r2)
+	cmpwi	cr0,r0,0
+	neg	r0,r0
+	bne-	cr0,1f
+	lis	r0,0x8000
+1:	stw	r0,PID(r2)
+
 	DO_CALL (SYS_ify (vfork))
+
+	cmpwi	cr1,r3,0
+	beqlr-	1
+
+	/* Restore the original value of the TCB cache of the PID, if we're
+	   the parent.  But in the child (syscall return value equals zero),
+	   leave things as they are.  */
+	lwz	r0,PID(r2)
+	/* Cannot use clrlwi. here, because cr0 needs to be preserved
+	   until PSEUDO_RET.  */
+	clrlwi	r4,r0,1
+	cmpwi	cr1,r4,0
+	beq-	cr1,1f
+	neg	r4,r0
+1:	stw	r4,PID(r2)
+
 	PSEUDO_RET
+
 PSEUDO_END (__vfork)
 libc_hidden_def (__vfork)
 
 weak_alias (__vfork, vfork)
+strong_alias (__vfork, __libc_vfork)
diff --git a/sysdeps/unix/sysv/linux/powerpc/powerpc64/vfork.S b/sysdeps/unix/sysv/linux/powerpc/powerpc64/vfork.S
index ebffc4c..72e6da8 100644
--- a/sysdeps/unix/sysv/linux/powerpc/powerpc64/vfork.S
+++ b/sysdeps/unix/sysv/linux/powerpc/powerpc64/vfork.S
@@ -19,6 +19,7 @@
 #define _ERRNO_H	1
 #include <bits/errno.h>
 #include <kernel-features.h>
+#include <tcb-offsets.h>
 
 /* Clone the calling process, but without copying the whole address space.
    The calling process is suspended until the new process exits or is
@@ -27,9 +28,36 @@
 
 ENTRY (__vfork)
 	CALL_MCOUNT 0
+
+	/* Load the TCB-cached PID value and negates it. If It it is zero
+	   sets it to 0x800000.  And then sets its value again on TCB field.
+	   See raise.c for the logic that relies on this value.  */
+	lwz	r0,PID(r13)
+	cmpwi	cr0,r0,0
+	neg	r0,r0
+	bne-	cr0,1f
+	lis	r0,0x8000
+1:	stw	r0,PID(r13)
+
 	DO_CALL (SYS_ify (vfork))
+
+	cmpwi	cr1,r3,0
+	beqlr-	1
+
+	/* Restore the original value of the TCB cache of the PID, if we're
+	   the parent.  But in the child (syscall return value equals zero),
+	   leave things as they are.  */
+	lwz	r0,PID(r13)
+	clrlwi	r4,r0,1
+	cmpwi	cr1,r4,0
+	beq-	cr1,1f
+	neg	r4,r0
+1:	stw	r4,PID(r13)
+
 	PSEUDO_RET
+
 PSEUDO_END (__vfork)
 libc_hidden_def (__vfork)
 
 weak_alias (__vfork, vfork)
+strong_alias (__vfork, __libc_vfork)

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

Summary of changes:
 ChangeLog                                          |   86 ++++++++++++++++++++
 nptl/sysdeps/unix/sysv/linux/powerpc/Makefile      |    2 -
 nptl/sysdeps/unix/sysv/linux/powerpc/Versions      |    9 --
 .../unix/sysv/linux/powerpc/powerpc32/clone.S      |    9 --
 .../unix/sysv/linux/powerpc/powerpc32/pt-vfork.S   |   48 -----------
 .../unix/sysv/linux/powerpc/powerpc32/vfork.S      |   56 -------------
 .../unix/sysv/linux/powerpc/powerpc64/Versions     |    7 --
 .../unix/sysv/linux/powerpc/powerpc64/clone.S      |    9 --
 .../unix/sysv/linux/powerpc/powerpc64/pt-vfork.S   |   48 -----------
 .../unix/sysv/linux/powerpc/powerpc64/vfork.S      |   54 ------------
 sysdeps/unix/sysv/linux/powerpc/Makefile           |    4 +
 .../unix/sysv/linux/powerpc/bits/local_lim.h       |    0
 .../unix/sysv/linux/powerpc/bits/pthreadtypes.h    |    0
 .../unix/sysv/linux/powerpc/bits/semaphore.h       |    0
 .../unix/sysv/linux/powerpc/createthread.c         |    0
 .../unix/sysv/linux/powerpc/lowlevellock.h         |    0
 sysdeps/unix/sysv/linux/powerpc/powerpc32/Versions |   10 +++
 sysdeps/unix/sysv/linux/powerpc/powerpc32/clone.S  |   12 ---
 .../sysv/linux/powerpc/powerpc32/sysdep-cancel.h   |    0
 sysdeps/unix/sysv/linux/powerpc/powerpc32/vfork.S  |   31 +++++++
 sysdeps/unix/sysv/linux/powerpc/powerpc64/Versions |   18 ++++
 sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S  |   17 +----
 .../sysv/linux/powerpc/powerpc64/sysdep-cancel.h   |    0
 .../sysv/linux/powerpc/powerpc64/timer_create.c    |    0
 .../sysv/linux/powerpc/powerpc64/timer_delete.c    |    0
 .../sysv/linux/powerpc/powerpc64/timer_getoverr.c  |    0
 .../sysv/linux/powerpc/powerpc64/timer_gettime.c   |    0
 .../sysv/linux/powerpc/powerpc64/timer_settime.c   |    0
 sysdeps/unix/sysv/linux/powerpc/powerpc64/vfork.S  |   28 +++++++
 .../unix/sysv/linux/powerpc/pt-longjmp.c           |    0
 .../sysv/linux/powerpc/pthread_attr_setstack.c     |    0
 .../sysv/linux/powerpc/pthread_attr_setstacksize.c |    0
 .../unix/sysv/linux/powerpc/pthread_spin_unlock.c  |    0
 .../unix/sysv/linux/powerpc/sem_post.c             |    0
 34 files changed, 179 insertions(+), 269 deletions(-)
 delete mode 100644 nptl/sysdeps/unix/sysv/linux/powerpc/Makefile
 delete mode 100644 nptl/sysdeps/unix/sysv/linux/powerpc/Versions
 delete mode 100644 nptl/sysdeps/unix/sysv/linux/powerpc/powerpc32/clone.S
 delete mode 100644 nptl/sysdeps/unix/sysv/linux/powerpc/powerpc32/pt-vfork.S
 delete mode 100644 nptl/sysdeps/unix/sysv/linux/powerpc/powerpc32/vfork.S
 delete mode 100644 nptl/sysdeps/unix/sysv/linux/powerpc/powerpc64/Versions
 delete mode 100644 nptl/sysdeps/unix/sysv/linux/powerpc/powerpc64/clone.S
 delete mode 100644 nptl/sysdeps/unix/sysv/linux/powerpc/powerpc64/pt-vfork.S
 delete mode 100644 nptl/sysdeps/unix/sysv/linux/powerpc/powerpc64/vfork.S
 rename {nptl/sysdeps => sysdeps}/unix/sysv/linux/powerpc/bits/local_lim.h (100%)
 rename {nptl/sysdeps => sysdeps}/unix/sysv/linux/powerpc/bits/pthreadtypes.h (100%)
 rename {nptl/sysdeps => sysdeps}/unix/sysv/linux/powerpc/bits/semaphore.h (100%)
 rename {nptl/sysdeps => sysdeps}/unix/sysv/linux/powerpc/createthread.c (100%)
 rename {nptl/sysdeps => sysdeps}/unix/sysv/linux/powerpc/lowlevellock.h (100%)
 rename {nptl/sysdeps => sysdeps}/unix/sysv/linux/powerpc/powerpc32/sysdep-cancel.h (100%)
 rename {nptl/sysdeps => sysdeps}/unix/sysv/linux/powerpc/powerpc64/sysdep-cancel.h (100%)
 rename {nptl/sysdeps => sysdeps}/unix/sysv/linux/powerpc/powerpc64/timer_create.c (100%)
 rename {nptl/sysdeps => sysdeps}/unix/sysv/linux/powerpc/powerpc64/timer_delete.c (100%)
 rename {nptl/sysdeps => sysdeps}/unix/sysv/linux/powerpc/powerpc64/timer_getoverr.c (100%)
 rename {nptl/sysdeps => sysdeps}/unix/sysv/linux/powerpc/powerpc64/timer_gettime.c (100%)
 rename {nptl/sysdeps => sysdeps}/unix/sysv/linux/powerpc/powerpc64/timer_settime.c (100%)
 rename {nptl/sysdeps => sysdeps}/unix/sysv/linux/powerpc/pt-longjmp.c (100%)
 rename {nptl/sysdeps => sysdeps}/unix/sysv/linux/powerpc/pthread_attr_setstack.c (100%)
 rename {nptl/sysdeps => sysdeps}/unix/sysv/linux/powerpc/pthread_attr_setstacksize.c (100%)
 rename {nptl/sysdeps => sysdeps}/unix/sysv/linux/powerpc/pthread_spin_unlock.c (100%)
 rename {nptl/sysdeps => sysdeps}/unix/sysv/linux/powerpc/sem_post.c (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]