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

[Commits] r17168 - in /fsf/trunk/ports: ./ sysdeps/alpha/ sysdeps/unix/alpha/ sysdeps/unix/sysv/linux/alpha/ sysdeps/unix/sysv/linux/a...



Author: eglibc
Date: Fri Feb 17 00:01:56 2012
New Revision: 17168

Log:
Import glibc-ports-mainline for 2012-02-17

Added:
    fsf/trunk/ports/sysdeps/unix/sysv/linux/alpha/bits/signalfd.h
Removed:
    fsf/trunk/ports/sysdeps/unix/sysv/linux/alpha/setregid.c
    fsf/trunk/ports/sysdeps/unix/sysv/linux/alpha/setresgid.c
    fsf/trunk/ports/sysdeps/unix/sysv/linux/alpha/setresuid.c
    fsf/trunk/ports/sysdeps/unix/sysv/linux/alpha/setreuid.c
    fsf/trunk/ports/sysdeps/unix/sysv/linux/alpha/sys/signalfd.h
Modified:
    fsf/trunk/ports/ChangeLog.alpha
    fsf/trunk/ports/sysdeps/alpha/dl-machine.h
    fsf/trunk/ports/sysdeps/unix/alpha/sysdep.h
    fsf/trunk/ports/sysdeps/unix/sysv/linux/alpha/syscall.S

Modified: fsf/trunk/ports/ChangeLog.alpha
==============================================================================
--- fsf/trunk/ports/ChangeLog.alpha (original)
+++ fsf/trunk/ports/ChangeLog.alpha Fri Feb 17 00:01:56 2012
@@ -1,4 +1,27 @@
+2012-02-15  Mike Hommey  <mh+reportbug@xxxxxxxxxxxx>
+
+	[BZ #11677]
+	* sysdeps/unix/sysv/linux/alpha/syscall.S: Support 6th argument.
+
 2012-02-15  Richard Henderson  <rth@xxxxxxxxxxx>
+
+        * sysdeps/unix/sysv/linux/alpha/bits/signalfd.h: New file.
+        * sysdeps/unix/sysv/linux/alpha/sys/signalfd.h: Remove.
+
+	* sysdeps/unix/alpha/sysdep.h (syscall_promote): New.
+	(inline_syscall0, inline_syscall1, inline_syscall2,
+	inline_syscall3, inline_syscall4, inline_syscall5,
+	inline_syscall6): Use it.
+	* sysdeps/unix/sysv/linux/alpha/setregid.c: Remove.
+	* sysdeps/unix/sysv/linux/alpha/setreuid.c: Remove.
+	* sysdeps/unix/sysv/linux/alpha/setresgid.c: Remove.
+	* sysdeps/unix/sysv/linux/alpha/setresuid.c: Remove.
+
+	* sysdeps/unix/alpha/sysdep.h: Don't include <tls.h>
+	[PIC] (SYSCALL_ERROR_HANDLER): Emit nothing.
+	[PIC] (SYSCALL_ERROR_LABEL): Add !samegp markup.
+
+	* sysdeps/alpha/dl-machine.h: Don't check USE___THREAD.
 
 	* sysdeps/unix/alpha/sysdeps.S: Don't check __ELF__, USE___THREAD,
 	or _LIBC_REENTRANT.

Modified: fsf/trunk/ports/sysdeps/alpha/dl-machine.h
==============================================================================
--- fsf/trunk/ports/sysdeps/alpha/dl-machine.h (original)
+++ fsf/trunk/ports/sysdeps/alpha/dl-machine.h Fri Feb 17 00:01:56 2012
@@ -232,16 +232,11 @@
    to one of the main executable's symbols, as for a COPY reloc.
    This is unused on Alpha.  */
 
-#if !defined RTLD_BOOTSTRAP || USE___THREAD
 # define elf_machine_type_class(type)	\
   (((type) == R_ALPHA_JMP_SLOT		\
     || (type) == R_ALPHA_DTPMOD64	\
     || (type) == R_ALPHA_DTPREL64	\
     || (type) == R_ALPHA_TPREL64) * ELF_RTYPE_CLASS_PLT)
-#else
-# define elf_machine_type_class(type)	\
-  (((type) == R_ALPHA_JMP_SLOT) * ELF_RTYPE_CLASS_PLT)
-#endif
 
 /* A reloc type used for ld.so cmdline arg lookups to reject PLT entries.  */
 #define ELF_MACHINE_JMP_SLOT	 R_ALPHA_JMP_SLOT
@@ -452,7 +447,6 @@
 	  memcpy (reloc_addr_arg, &sym_value, 8);
 	}
 #endif
-#if !defined RTLD_BOOTSTRAP || USE___THREAD
       else if (r_type == R_ALPHA_DTPMOD64)
 	{
 # ifdef RTLD_BOOTSTRAP
@@ -485,7 +479,6 @@
 	    }
 # endif
 	}
-#endif
       else
 	_dl_reloc_bad_type (map, r_type, 0);
     }

Modified: fsf/trunk/ports/sysdeps/unix/alpha/sysdep.h
==============================================================================
--- fsf/trunk/ports/sysdeps/unix/alpha/sysdep.h (original)
+++ fsf/trunk/ports/sysdeps/unix/alpha/sysdep.h Fri Feb 17 00:01:56 2012
@@ -1,4 +1,4 @@
-/* Copyright (C) 1992, 1995, 1996, 2000, 2003, 2004, 2006, 2010
+/* Copyright (C) 1992, 1995, 1996, 2000, 2003, 2004, 2006, 2010, 2012
    Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Brendan Kehoe (brendan@xxxxxxx).
@@ -27,8 +27,6 @@
 #else
 # include <regdef.h>
 #endif
-
-#include <tls.h>		/* Defines USE___THREAD.  */
 
 #ifdef IS_IN_rtld
 # include <dl-sysdep.h>         /* Defines RTLD_PRIVATE_ERRNO.  */
@@ -86,9 +84,8 @@
 	lda	v0, -1;				\
 	ret
 #elif defined(PIC)
-# define SYSCALL_ERROR_LABEL	__syscall_error
-# define SYSCALL_ERROR_HANDLER \
-	br	$31, __syscall_error !samegp
+# define SYSCALL_ERROR_LABEL	__syscall_error !samegp
+# define SYSCALL_ERROR_HANDLER
 #else
 # define SYSCALL_ERROR_LABEL	$syscall_error
 # define SYSCALL_ERROR_HANDLER \
@@ -193,6 +190,12 @@
 #define INTERNAL_SYSCALL_DECL(err) \
 	long int err __attribute__((unused))
 
+/* The normal Alpha calling convention sign-extends 32-bit quantties
+   no matter what the "real" sign of the 32-bit type.  We want to
+   preserve that when filling in values for the kernel.  */
+#define syscall_promote(arg) \
+  (sizeof(arg) == 4 ? (long)(int)(long)(arg) : (long)(arg))
+
 /* Make sure and "use" the variable that we're not returning,
    in order to suppress unused variable warnings.  */
 #define INTERNAL_SYSCALL_ERROR_P(val, err)	((void)val, err)
@@ -208,172 +211,126 @@
 
 #define inline_syscall0(name, args...)				\
 {								\
-	register long _sc_0;					\
 	register long _sc_19 __asm__("$19");			\
-								\
-	_sc_0 = name;						\
+	register long _sc_0 = name;				\
 	__asm__ __volatile__					\
 	  ("callsys # %0 %1 <= %2"				\
-	   : "=v"(_sc_0), "=r"(_sc_19)				\
-	   : "0"(_sc_0)						\
-	   : inline_syscall_clobbers,				\
+	   : "+v"(_sc_0), "=r"(_sc_19)				\
+	   : : inline_syscall_clobbers,				\
 	     "$16", "$17", "$18", "$20", "$21");		\
 	_sc_ret = _sc_0, _sc_err = _sc_19;			\
 }
 
 #define inline_syscall1(name,arg1)				\
 {								\
-	register long _sc_0;					\
-	register long _sc_16 __asm__("$16");			\
+	register long _tmp_16 = syscall_promote (arg1);		\
+	register long _sc_0 = name;				\
+	register long _sc_16 __asm__("$16") = _tmp_16;		\
 	register long _sc_19 __asm__("$19");			\
-	register long _tmp_16 = (long) (arg1);			\
-								\
-	_sc_0 = name;						\
-	_sc_16 = _tmp_16;					\
 	__asm__ __volatile__					\
 	  ("callsys # %0 %1 <= %2 %3"				\
-	   : "=v"(_sc_0), "=r"(_sc_19), "=r"(_sc_16)		\
-	   : "0"(_sc_0), "2"(_sc_16)				\
-	   : inline_syscall_clobbers,				\
+	   : "+v"(_sc_0), "=r"(_sc_19), "+r"(_sc_16)		\
+	   : : inline_syscall_clobbers,				\
 	     "$17", "$18", "$20", "$21");			\
 	_sc_ret = _sc_0, _sc_err = _sc_19;			\
 }
 
 #define inline_syscall2(name,arg1,arg2)				\
 {								\
-	register long _sc_0;					\
-	register long _sc_16 __asm__("$16");			\
-	register long _sc_17 __asm__("$17");			\
+	register long _tmp_16 = syscall_promote (arg1);		\
+	register long _tmp_17 = syscall_promote (arg2);		\
+	register long _sc_0 = name;				\
+	register long _sc_16 __asm__("$16") = _tmp_16;		\
+	register long _sc_17 __asm__("$17") = _tmp_17;		\
 	register long _sc_19 __asm__("$19");			\
-	register long _tmp_16 = (long) (arg1);			\
-	register long _tmp_17 = (long) (arg2);			\
-								\
-	_sc_0 = name;						\
-	_sc_16 = _tmp_16;					\
-	_sc_17 = _tmp_17;					\
 	__asm__ __volatile__					\
 	  ("callsys # %0 %1 <= %2 %3 %4"			\
-	   : "=v"(_sc_0), "=r"(_sc_19),				\
-	     "=r"(_sc_16), "=r"(_sc_17)				\
-	   : "0"(_sc_0), "2"(_sc_16), "3"(_sc_17)		\
-	   : inline_syscall_clobbers,				\
+	   : "+v"(_sc_0), "=r"(_sc_19),				\
+	     "+r"(_sc_16), "+r"(_sc_17)				\
+	   : : inline_syscall_clobbers,				\
 	     "$18", "$20", "$21");				\
 	_sc_ret = _sc_0, _sc_err = _sc_19;			\
 }
 
 #define inline_syscall3(name,arg1,arg2,arg3)			\
 {								\
-	register long _sc_0;					\
-	register long _sc_16 __asm__("$16");			\
-	register long _sc_17 __asm__("$17");			\
-	register long _sc_18 __asm__("$18");			\
+	register long _tmp_16 = syscall_promote (arg1);		\
+	register long _tmp_17 = syscall_promote (arg2);		\
+	register long _tmp_18 = syscall_promote (arg3);		\
+	register long _sc_0 = name;				\
+	register long _sc_16 __asm__("$16") = _tmp_16;		\
+	register long _sc_17 __asm__("$17") = _tmp_17;		\
+	register long _sc_18 __asm__("$18") = _tmp_18;		\
 	register long _sc_19 __asm__("$19");			\
-	register long _tmp_16 = (long) (arg1);			\
-	register long _tmp_17 = (long) (arg2);			\
-	register long _tmp_18 = (long) (arg3);			\
-								\
-	_sc_0 = name;						\
-	_sc_16 = _tmp_16;					\
-	_sc_17 = _tmp_17;					\
-	_sc_18 = _tmp_18;					\
 	__asm__ __volatile__					\
 	  ("callsys # %0 %1 <= %2 %3 %4 %5"			\
-	   : "=v"(_sc_0), "=r"(_sc_19), "=r"(_sc_16),		\
-	     "=r"(_sc_17), "=r"(_sc_18)				\
-	   : "0"(_sc_0), "2"(_sc_16), "3"(_sc_17),		\
-	     "4"(_sc_18)					\
-	   : inline_syscall_clobbers, "$20", "$21");		\
+	   : "+v"(_sc_0), "=r"(_sc_19), "+r"(_sc_16),		\
+	     "+r"(_sc_17), "+r"(_sc_18)				\
+	   : : inline_syscall_clobbers, "$20", "$21");		\
 	_sc_ret = _sc_0, _sc_err = _sc_19;			\
 }
 
 #define inline_syscall4(name,arg1,arg2,arg3,arg4)		\
 {								\
-	register long _sc_0;					\
-	register long _sc_16 __asm__("$16");			\
-	register long _sc_17 __asm__("$17");			\
-	register long _sc_18 __asm__("$18");			\
-	register long _sc_19 __asm__("$19");			\
-	register long _tmp_16 = (long) (arg1);			\
-	register long _tmp_17 = (long) (arg2);			\
-	register long _tmp_18 = (long) (arg3);			\
-	register long _tmp_19 = (long) (arg4);			\
-								\
-	_sc_0 = name;						\
-	_sc_16 = _tmp_16;					\
-	_sc_17 = _tmp_17;					\
-	_sc_18 = _tmp_18;					\
-	_sc_19 = _tmp_19;					\
+	register long _tmp_16 = syscall_promote (arg1);		\
+	register long _tmp_17 = syscall_promote (arg2);		\
+	register long _tmp_18 = syscall_promote (arg3);		\
+	register long _tmp_19 = syscall_promote (arg4);		\
+	register long _sc_0 = name;				\
+	register long _sc_16 __asm__("$16") = _tmp_16;		\
+	register long _sc_17 __asm__("$17") = _tmp_17;		\
+	register long _sc_18 __asm__("$18") = _tmp_18;		\
+	register long _sc_19 __asm__("$19") = _tmp_19;		\
 	__asm__ __volatile__					\
 	  ("callsys # %0 %1 <= %2 %3 %4 %5 %6"			\
-	   : "=v"(_sc_0), "=r"(_sc_19), "=r"(_sc_16),		\
-	     "=r"(_sc_17), "=r"(_sc_18)				\
-	   : "0"(_sc_0), "2"(_sc_16), "3"(_sc_17),		\
-	     "4"(_sc_18), "1"(_sc_19)				\
-	   : inline_syscall_clobbers, "$20", "$21");		\
+	   : "+v"(_sc_0), "+r"(_sc_19), "+r"(_sc_16),		\
+	     "+r"(_sc_17), "+r"(_sc_18)				\
+	   : : inline_syscall_clobbers, "$20", "$21");		\
 	_sc_ret = _sc_0, _sc_err = _sc_19;			\
 }
 
 #define inline_syscall5(name,arg1,arg2,arg3,arg4,arg5)		\
 {								\
-	register long _sc_0;					\
-	register long _sc_16 __asm__("$16");			\
-	register long _sc_17 __asm__("$17");			\
-	register long _sc_18 __asm__("$18");			\
-	register long _sc_19 __asm__("$19");			\
-	register long _sc_20 __asm__("$20");			\
-	register long _tmp_16 = (long) (arg1);			\
-	register long _tmp_17 = (long) (arg2);			\
-	register long _tmp_18 = (long) (arg3);			\
-	register long _tmp_19 = (long) (arg4);			\
-	register long _tmp_20 = (long) (arg5);			\
-								\
-	_sc_0 = name;						\
-	_sc_16 = _tmp_16;					\
-	_sc_17 = _tmp_17;					\
-	_sc_18 = _tmp_18;					\
-	_sc_19 = _tmp_19;					\
-	_sc_20 = _tmp_20;					\
+	register long _tmp_16 = syscall_promote (arg1);		\
+	register long _tmp_17 = syscall_promote (arg2);		\
+	register long _tmp_18 = syscall_promote (arg3);		\
+	register long _tmp_19 = syscall_promote (arg4);		\
+	register long _tmp_20 = syscall_promote (arg5);		\
+	register long _sc_0 = name;				\
+	register long _sc_16 __asm__("$16") = _tmp_16;		\
+	register long _sc_17 __asm__("$17") = _tmp_17;		\
+	register long _sc_18 __asm__("$18") = _tmp_18;		\
+	register long _sc_19 __asm__("$19") = _tmp_19;		\
+	register long _sc_20 __asm__("$20") = _tmp_20;		\
 	__asm__ __volatile__					\
 	  ("callsys # %0 %1 <= %2 %3 %4 %5 %6 %7"		\
-	   : "=v"(_sc_0), "=r"(_sc_19), "=r"(_sc_16),		\
-	     "=r"(_sc_17), "=r"(_sc_18), "=r"(_sc_20)		\
-	   : "0"(_sc_0), "2"(_sc_16), "3"(_sc_17),		\
-	     "4"(_sc_18), "1"(_sc_19), "5"(_sc_20)		\
-	   : inline_syscall_clobbers, "$21");			\
+	   : "+v"(_sc_0), "+r"(_sc_19), "+r"(_sc_16),		\
+	     "+r"(_sc_17), "+r"(_sc_18), "+r"(_sc_20)		\
+	   : : inline_syscall_clobbers, "$21");			\
 	_sc_ret = _sc_0, _sc_err = _sc_19;			\
 }
 
 #define inline_syscall6(name,arg1,arg2,arg3,arg4,arg5,arg6)	\
 {								\
-	register long _sc_0;					\
-	register long _sc_16 __asm__("$16");			\
-	register long _sc_17 __asm__("$17");			\
-	register long _sc_18 __asm__("$18");			\
-	register long _sc_19 __asm__("$19");			\
-	register long _sc_20 __asm__("$20");			\
-	register long _sc_21 __asm__("$21");			\
-	register long _tmp_16 = (long) (arg1);			\
-	register long _tmp_17 = (long) (arg2);			\
-	register long _tmp_18 = (long) (arg3);			\
-	register long _tmp_19 = (long) (arg4);			\
-	register long _tmp_20 = (long) (arg5);			\
-	register long _tmp_21 = (long) (arg6);			\
-								\
-	_sc_0 = name;						\
-	_sc_16 = _tmp_16;					\
-	_sc_17 = _tmp_17;					\
-	_sc_18 = _tmp_18;					\
-	_sc_19 = _tmp_19;					\
-	_sc_20 = _tmp_20;					\
-	_sc_21 = _tmp_21;					\
+	register long _tmp_16 = syscall_promote (arg1);		\
+	register long _tmp_17 = syscall_promote (arg2);		\
+	register long _tmp_18 = syscall_promote (arg3);		\
+	register long _tmp_19 = syscall_promote (arg4);		\
+	register long _tmp_20 = syscall_promote (arg5);		\
+	register long _tmp_21 = syscall_promote (arg6);		\
+	register long _sc_0 = name;				\
+	register long _sc_16 __asm__("$16") = _tmp_16;		\
+	register long _sc_17 __asm__("$17") = _tmp_17;		\
+	register long _sc_18 __asm__("$18") = _tmp_18;		\
+	register long _sc_19 __asm__("$19") = _tmp_19;		\
+	register long _sc_20 __asm__("$20") = _tmp_20;		\
+	register long _sc_21 __asm__("$21") = _tmp_21;		\
 	__asm__ __volatile__					\
 	  ("callsys # %0 %1 <= %2 %3 %4 %5 %6 %7 %8"		\
-	   : "=v"(_sc_0), "=r"(_sc_19), "=r"(_sc_16),		\
-	     "=r"(_sc_17), "=r"(_sc_18), "=r"(_sc_20),		\
-	     "=r"(_sc_21)					\
-	   : "0"(_sc_0), "2"(_sc_16), "3"(_sc_17), "4"(_sc_18),	\
-	     "1"(_sc_19), "5"(_sc_20), "6"(_sc_21)		\
-	   : inline_syscall_clobbers);				\
+	   : "+v"(_sc_0), "+r"(_sc_19), "+r"(_sc_16),		\
+	     "+r"(_sc_17), "+r"(_sc_18), "+r"(_sc_20),		\
+	     "+r"(_sc_21)					\
+	   : : inline_syscall_clobbers);			\
 	_sc_ret = _sc_0, _sc_err = _sc_19;			\
 }
 

Added: fsf/trunk/ports/sysdeps/unix/sysv/linux/alpha/bits/signalfd.h
==============================================================================
--- fsf/trunk/ports/sysdeps/unix/sysv/linux/alpha/bits/signalfd.h (added)
+++ fsf/trunk/ports/sysdeps/unix/sysv/linux/alpha/bits/signalfd.h Fri Feb 17 00:01:56 2012
@@ -1,0 +1,29 @@
+/* Copyright (C) 2007-2012 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/>.  */
+
+#ifndef	_SYS_SIGNALFD_H
+# error "Never use <bits/signalfd.h> directly; include <sys/signalfd.h> instead."
+#endif
+
+/* Flags for signalfd.  */
+enum
+  {
+    SFD_CLOEXEC  = 010000000,
+#define SFD_CLOEXEC SFD_CLOEXEC
+    SFD_NONBLOCK = 000000004
+#define SFD_NONBLOCK SFD_NONBLOCK
+  };

Removed: fsf/trunk/ports/sysdeps/unix/sysv/linux/alpha/setregid.c
==============================================================================
--- fsf/trunk/ports/sysdeps/unix/sysv/linux/alpha/setregid.c (original)
+++ fsf/trunk/ports/sysdeps/unix/sysv/linux/alpha/setregid.c (removed)
@@ -1,31 +1,0 @@
-/* Copyright (C) 1998, 2000, 2003, 2004 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, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#include <errno.h>
-#include <unistd.h>
-#include <setxid.h>
-
-
-int
-__setregid (gid_t rgid, gid_t egid)
-{
-  return INLINE_SETXID_SYSCALL (setregid, 2, (int) rgid, (int) egid);
-}
-#ifndef __setregid
-weak_alias (__setregid, setregid)
-#endif

Removed: fsf/trunk/ports/sysdeps/unix/sysv/linux/alpha/setresgid.c
==============================================================================
--- fsf/trunk/ports/sysdeps/unix/sysv/linux/alpha/setresgid.c (original)
+++ fsf/trunk/ports/sysdeps/unix/sysv/linux/alpha/setresgid.c (removed)
@@ -1,33 +1,0 @@
-/* Copyright (C) 1998, 2000, 2003, 2004 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, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#include <errno.h>
-#include <unistd.h>
-#include <setxid.h>
-
-
-int
-__setresgid (gid_t rgid, gid_t egid, gid_t sgid)
-{
-  return INLINE_SETXID_SYSCALL (setresgid, 3, (int) rgid,
-				(int) egid, (int) sgid);
-}
-libc_hidden_def (__setresgid)
-#ifndef __setresgid
-weak_alias (__setresgid, setresgid)
-#endif

Removed: fsf/trunk/ports/sysdeps/unix/sysv/linux/alpha/setresuid.c
==============================================================================
--- fsf/trunk/ports/sysdeps/unix/sysv/linux/alpha/setresuid.c (original)
+++ fsf/trunk/ports/sysdeps/unix/sysv/linux/alpha/setresuid.c (removed)
@@ -1,33 +1,0 @@
-/* Copyright (C) 1998, 2000, 2003, 2004 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, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#include <errno.h>
-#include <unistd.h>
-#include <setxid.h>
-
-
-int
-__setresuid (uid_t ruid, uid_t euid, uid_t suid)
-{
-  return INLINE_SETXID_SYSCALL (setresuid, 3, (int) ruid,
-				(int) euid, (int) suid);
-}
-libc_hidden_def (__setresuid)
-#ifndef __setresuid
-weak_alias (__setresuid, setresuid)
-#endif

Removed: fsf/trunk/ports/sysdeps/unix/sysv/linux/alpha/setreuid.c
==============================================================================
--- fsf/trunk/ports/sysdeps/unix/sysv/linux/alpha/setreuid.c (original)
+++ fsf/trunk/ports/sysdeps/unix/sysv/linux/alpha/setreuid.c (removed)
@@ -1,31 +1,0 @@
-/* Copyright (C) 1998, 2000, 2003, 2004 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, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#include <errno.h>
-#include <unistd.h>
-#include <setxid.h>
-
-
-int
-__setreuid (uid_t ruid, uid_t euid)
-{
-  return INLINE_SETXID_SYSCALL (setreuid, 2, (int) ruid, (int) euid);
-}
-#ifndef __setreuid
-weak_alias (__setreuid, setreuid)
-#endif

Removed: fsf/trunk/ports/sysdeps/unix/sysv/linux/alpha/sys/signalfd.h
==============================================================================
--- fsf/trunk/ports/sysdeps/unix/sysv/linux/alpha/sys/signalfd.h (original)
+++ fsf/trunk/ports/sysdeps/unix/sysv/linux/alpha/sys/signalfd.h (removed)
@@ -1,66 +1,0 @@
-/* Copyright (C) 2007, 2008 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, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-   02111-1307 USA.  */
-
-#ifndef	_SYS_SIGNALFD_H
-#define	_SYS_SIGNALFD_H	1
-
-#define __need_sigset_t
-#include <signal.h>
-#include <stdint.h>
-
-
-struct signalfd_siginfo
-{
-  uint32_t ssi_signo;
-  int32_t ssi_errno;
-  int32_t ssi_code;
-  uint32_t ssi_pid;
-  uint32_t ssi_uid;
-  int32_t ssi_fd;
-  uint32_t ssi_tid;
-  uint32_t ssi_band;
-  uint32_t ssi_overrun;
-  uint32_t ssi_trapno;
-  int32_t ssi_status;
-  int32_t ssi_int;
-  uint64_t ssi_ptr;
-  uint64_t ssi_utime;
-  uint64_t ssi_stime;
-  uint64_t ssi_addr;
-  uint8_t __pad[48];
-};
-
-/* Flags for signalfd.  */
-enum
-  {
-    SFD_CLOEXEC = 010000000,
-#define SFD_CLOEXEC SFD_CLOEXEC
-    SFD_NONBLOCK = 04
-#define SFD_NONBLOCK SFD_NONBLOCK
-  };
-
-__BEGIN_DECLS
-
-/* Request notification for delivery of signals in MASK to be
-   performed using descriptor FD.*/
-extern int signalfd (int __fd, const sigset_t *__mask, int __flags)
-  __THROW __nonnull ((2));
-
-__END_DECLS
-
-#endif /* sys/signalfd.h */

Modified: fsf/trunk/ports/sysdeps/unix/sysv/linux/alpha/syscall.S
==============================================================================
--- fsf/trunk/ports/sysdeps/unix/sysv/linux/alpha/syscall.S (original)
+++ fsf/trunk/ports/sysdeps/unix/sysv/linux/alpha/syscall.S Fri Feb 17 00:01:56 2012
@@ -31,13 +31,13 @@
  *
  * Usage:
  *
- * long	syscall(syscall_number, arg1, arg2, arg3, arg4, arg5)
+ * long	syscall(syscall_number, arg1, arg2, arg3, arg4, arg5, arg6)
  *
  * syscall_number = the index of the system call we're invoking
- * arg1-arg5 = up to 5 integer arguments to the system call
+ * arg1-arg6 = up to 6 integer arguments to the system call
  *
  * We need to do some arg shifting: the kernel expects the
- * syscall number in v0 and the first five args in a0-a4.
+ * syscall number in v0 and the first six args in a0-a5.
  *
  */
 
@@ -60,6 +60,7 @@
 	mov	a3, a2
 	mov	a4, a3
 	mov	a5, a4
+	ldq	a5,0(sp)	/* arg6 -> a5 */
 
 	call_pal PAL_callsys	/* Invoke system call */
 	bne	a3, $error

_______________________________________________
Commits mailing list
Commits@xxxxxxxxxx
http://eglibc.org/cgi-bin/mailman/listinfo/commits