[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[commits] r10811 - in /fsf/trunk/ports: ./ sysdeps/unix/sysv/linux/hppa/nptl/ sysdeps/unix/sysv/linux/m68k/bits/
- To: commits@xxxxxxxxxx
- Subject: [commits] r10811 - in /fsf/trunk/ports: ./ sysdeps/unix/sysv/linux/hppa/nptl/ sysdeps/unix/sysv/linux/m68k/bits/
- From: eglibc@xxxxxxxxxx
- Date: Fri, 25 Jun 2010 07:03:56 -0000
Author: eglibc
Date: Fri Jun 25 00:03:55 2010
New Revision: 10811
Log:
Import glibc-ports-mainline for 2010-06-25
Modified:
fsf/trunk/ports/ChangeLog.hppa
fsf/trunk/ports/ChangeLog.m68k
fsf/trunk/ports/sysdeps/unix/sysv/linux/hppa/nptl/pt-vfork.S
fsf/trunk/ports/sysdeps/unix/sysv/linux/m68k/bits/fcntl.h
Modified: fsf/trunk/ports/ChangeLog.hppa
==============================================================================
--- fsf/trunk/ports/ChangeLog.hppa (original)
+++ fsf/trunk/ports/ChangeLog.hppa Fri Jun 25 00:03:55 2010
@@ -1,3 +1,9 @@
+2010-06-24 Carlos O'Donell <carlos@xxxxxxxxxxxxxxxx>
+
+ * sysdeps/unix/sysv/linux/hppa/nptl/pt-vfork.S: Only create stack
+ frame around call to SYSCALL_ERROR_HANDLER. Do not restore %rp
+ from the stack frame on successfull return.
+
2010-06-23 Carlos O'Donell <carlos@xxxxxxxxxxxxxxxx>
* sysdeps/unix/sysv/linux/hppa/getcontext.S (__getcontext_ret):
Modified: fsf/trunk/ports/ChangeLog.m68k
==============================================================================
--- fsf/trunk/ports/ChangeLog.m68k (original)
+++ fsf/trunk/ports/ChangeLog.m68k Fri Jun 25 00:03:55 2010
@@ -1,3 +1,8 @@
+2010-06-24 Joseph Myers <joseph@xxxxxxxxxxxxxxxx>
+
+ * sysdeps/unix/sysv/linux/m68k/bits/fcntl.h (F_SETPIPE_SZ,
+ F_GETPIPE_SZ): Define.
+
2010-06-13 Andreas Schwab <schwab@xxxxxxxxxxxxxx>
* sysdeps/m68k/m680x0/fpu/bits/mathinline.h: Mark all functions as
Modified: fsf/trunk/ports/sysdeps/unix/sysv/linux/hppa/nptl/pt-vfork.S
==============================================================================
--- fsf/trunk/ports/sysdeps/unix/sysv/linux/hppa/nptl/pt-vfork.S (original)
+++ fsf/trunk/ports/sysdeps/unix/sysv/linux/hppa/nptl/pt-vfork.S Fri Jun 25 00:03:55 2010
@@ -1,4 +1,4 @@
-/* Copyright (C) 2005 Free Software Foundation, Inc.
+/* Copyright (C) 2005, 2010 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
@@ -50,10 +50,9 @@
/* r26, r25, r24, r23 are free since vfork has no arguments */
ENTRY(__vfork)
- /* Prologue */
- stwm %r3, 64(%sp)
- stw %sp, -4(%sp)
- stw %r19, -32(%sp)
+ /* We must not create a frame. When the child unwinds to call
+ exec it will clobber the same frame that the parent
+ needs to unwind. */
/* Save the PIC register. */
#ifdef PIC
@@ -75,12 +74,20 @@
comclr,>>= %r1,%ret0,%r0 /* Note: unsigned compare. */
b,n .Lerror
- /* Return, no need to restore the PIC register. */
- ldw -84(%sp), %rp
- bv %r0(%rp)
- ldwm -64(%sp), %r3
+ /* Return, and DO NOT restore rp. The child may have called
+ functions that updated the frame's rp. This works because
+ the kernel ensures rp is preserved across the vfork
+ syscall. */
+ bv,n %r0(%rp)
.Lerror:
+ /* Now we need a stack to call a function. We are assured
+ that there is no child now, so it's safe to create
+ a frame. */
+ stw %rp, -20(%sp)
+ stwm %r3, 64(%sp)
+ stw %sp, -4(%sp)
+
sub %r0,%ret0,%r3
SYSCALL_ERROR_HANDLER
/* Restore the PIC register (in delay slot) on error */
Modified: fsf/trunk/ports/sysdeps/unix/sysv/linux/m68k/bits/fcntl.h
==============================================================================
--- fsf/trunk/ports/sysdeps/unix/sysv/linux/m68k/bits/fcntl.h (original)
+++ fsf/trunk/ports/sysdeps/unix/sysv/linux/m68k/bits/fcntl.h Fri Jun 25 00:03:55 2010
@@ -101,6 +101,8 @@
# define F_SETLEASE 1024 /* Set a lease. */
# define F_GETLEASE 1025 /* Enquire what lease is active. */
# define F_NOTIFY 1026 /* Request notfications on a directory. */
+# define F_SETPIPE_SZ 1031 /* Set pipe page size array. */
+# define F_GETPIPE_SZ 1032 /* Set pipe page size array. */
#endif
#ifdef __USE_XOPEN2K8
# define F_DUPFD_CLOEXEC 1030 /* Duplicate file descriptor with