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

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



Author: eglibc
Date: Wed Jun  6 00:01:47 2012
New Revision: 18967

Log:
Import glibc-ports-mainline for 2012-06-06

Added:
    fsf/trunk/ports/sysdeps/unix/alpha/getegid.S
    fsf/trunk/ports/sysdeps/unix/alpha/geteuid.S
    fsf/trunk/ports/sysdeps/unix/alpha/getppid.S
Modified:
    fsf/trunk/ports/ChangeLog.alpha
    fsf/trunk/ports/sysdeps/unix/sysv/linux/alpha/rt_sigaction.S

Modified: fsf/trunk/ports/ChangeLog.alpha
==============================================================================
--- fsf/trunk/ports/ChangeLog.alpha (original)
+++ fsf/trunk/ports/ChangeLog.alpha Wed Jun  6 00:01:47 2012
@@ -1,3 +1,12 @@
+2012-06-05  Richard Henderson  <rth@xxxxxxxxxxx>
+
+	* sysdeps/unix/sysv/linux/alpha/rt_sigaction.S: Use .cfi_signal_frame
+	instead of a hack using extra nops.
+
+	* sysdeps/unxi/alpha/getppid.S: New file.
+	* sysdeps/unxi/alpha/getegid.S: New file.
+	* sysdeps/unxi/alpha/geteuid.S: New file.
+
 2012-06-01  Richard Henderson  <rth@xxxxxxxxxxx>
 
 	* sysdeps/alpha/Makefile (CFLAGS-test-misc.c): Set -mieee-with-inexact.

Added: fsf/trunk/ports/sysdeps/unix/alpha/getegid.S
==============================================================================
--- fsf/trunk/ports/sysdeps/unix/alpha/getegid.S (added)
+++ fsf/trunk/ports/sysdeps/unix/alpha/getegid.S Wed Jun  6 00:01:47 2012
@@ -1,0 +1,26 @@
+/* Copyright (C) 1991-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/>.  */
+
+#include <sysdep.h>
+
+
+PSEUDO (__getegid, getxgid, 0)
+	MOVE (r1, r0)
+	ret
+PSEUDO_END (__getegid)
+
+weak_alias (__getegid, getegid)

Added: fsf/trunk/ports/sysdeps/unix/alpha/geteuid.S
==============================================================================
--- fsf/trunk/ports/sysdeps/unix/alpha/geteuid.S (added)
+++ fsf/trunk/ports/sysdeps/unix/alpha/geteuid.S Wed Jun  6 00:01:47 2012
@@ -1,0 +1,26 @@
+/* Copyright (C) 1991-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/>.  */
+
+#include <sysdep.h>
+
+
+PSEUDO (__geteuid, getxuid, 0)
+	MOVE (r1, r0)
+	ret
+PSEUDO_END (__geteuid)
+
+weak_alias (__geteuid, geteuid)

Added: fsf/trunk/ports/sysdeps/unix/alpha/getppid.S
==============================================================================
--- fsf/trunk/ports/sysdeps/unix/alpha/getppid.S (added)
+++ fsf/trunk/ports/sysdeps/unix/alpha/getppid.S Wed Jun  6 00:01:47 2012
@@ -1,0 +1,26 @@
+/* Copyright (C) 1991-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/>.  */
+
+#include <sysdep.h>
+
+
+PSEUDO (__getppid, getxpid, 0)
+	MOVE (r1, r0)
+	ret
+PSEUDO_END (__getppid)
+
+weak_alias (__getppid, getppid)

Modified: fsf/trunk/ports/sysdeps/unix/sysv/linux/alpha/rt_sigaction.S
==============================================================================
--- fsf/trunk/ports/sysdeps/unix/sysv/linux/alpha/rt_sigaction.S (original)
+++ fsf/trunk/ports/sysdeps/unix/sysv/linux/alpha/rt_sigaction.S Wed Jun  6 00:01:47 2012
@@ -1,4 +1,4 @@
-/* Copyright (C) 1998, 2003, 2004 Free Software Foundation, Inc.
+/* Copyright (C) 1998-2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Richard Henderson <rth@xxxxxxxxxx>, 1998
 
@@ -28,7 +28,7 @@
 	.text
 
 ENTRY(__syscall_rt_sigaction)
-	.frame	sp,0,ra,0
+	cfi_startproc
 	ldgp	gp,0(pv)
 #ifdef PROF
 	.set noat
@@ -39,18 +39,12 @@
 	.prologue 1
 
 	beq	a1, 0f
-	ldl	t0, 8(a1)			# sa_flags
+	ldl	t0, 8(a1)				# sa_flags
 
-	/* The unwinder will subtract one from the return address when
-	   attempting to find the call instruction that led us here.
-	   Since we didn't get here via a normal call, if we do nothing
-	   we would pick up the wrong symbol and the wrong FDE.  Account
-	   for this by adding a nop to the start of the function and 
-	   then skipping it here by adding 4.  */
-	ldah	a4, __syscall_sigreturn+4(gp)		!gprelhigh
-	ldah	t1, __syscall_rt_sigreturn+4(gp)	!gprelhigh
-	lda	a4, __syscall_sigreturn+4(a4)		!gprellow
-	lda	t1, __syscall_rt_sigreturn+4(t1)	!gprellow
+	ldah	a4, __syscall_sigreturn(gp)		!gprelhigh
+	ldah	t1, __syscall_rt_sigreturn(gp)		!gprelhigh
+	lda	a4, __syscall_sigreturn(a4)		!gprellow
+	lda	t1, __syscall_rt_sigreturn(t1)		!gprellow
 	and	t0, 0x40, t0				# SA_SIGINFO
 	cmovne	t0, t1, a4
 
@@ -58,7 +52,7 @@
 	callsys
 	bne	a3, SYSCALL_ERROR_LABEL
 	ret
-
+	cfi_endproc
 PSEUDO_END(__syscall_rt_sigaction)
 
 /* To enable unwinding through the signal frame without special hackery
@@ -90,26 +84,23 @@
 	.endm
 
 	.align	4
-	nop
-	nop
-	nop
 
 	cfi_startproc
 	cfi_return_column (64)
+	.cfi_signal_frame
 	SIGCONTEXT_REGS -648
 
 	cfi_def_cfa_offset (648)
 __syscall_sigreturn:
-	nop
 	mov	sp, a0
 	ldi	v0, __NR_sigreturn
 	callsys
 	.size	__syscall_sigreturn, .-__syscall_sigreturn
 	.type	__syscall_sigreturn, @function
 
+	.align 4
 	cfi_def_cfa_offset (176 + 648)
 __syscall_rt_sigreturn:
-	nop
 	mov	sp,a0
 	ldi	v0,__NR_rt_sigreturn
 	callsys

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