[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...
- To: commits@xxxxxxxxxx
- Subject: [Commits] r17168 - in /fsf/trunk/ports: ./ sysdeps/alpha/ sysdeps/unix/alpha/ sysdeps/unix/sysv/linux/alpha/ sysdeps/unix/sysv/linux/a...
- From: eglibc@xxxxxxxxxx
- Date: Fri, 17 Feb 2012 00:01:58 -0000
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