This is the mail archive of the
glibc-cvs@sourceware.org
mailing list for the glibc project.
Community source repository for glibc add-on ports branch, master, updated. glibc-2.15-313-g7d1feb5
- From: rth at sourceware dot org
- To: glibc-cvs at sourceware dot org
- Date: 5 Jun 2012 15:13:19 -0000
- Subject: Community source repository for glibc add-on ports branch, master, updated. glibc-2.15-313-g7d1feb5
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 "Community source repository for glibc add-on ports".
The branch, master has been updated
via 7d1feb5693be7e606104cc2b6657c746a93e5926 (commit)
via 0ff73bfcb06a02f318850333f315dee587151d00 (commit)
from d97b8a3d218fc43ce0b345a81b283bc0d439b1ea (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://sources.redhat.com/git/gitweb.cgi?p=glibc-ports.git;a=commitdiff;h=7d1feb5693be7e606104cc2b6657c746a93e5926
commit 7d1feb5693be7e606104cc2b6657c746a93e5926
Author: Richard Henderson <rth@twiddle.net>
Date: Tue Jun 5 08:12:03 2012 -0700
alpha: Use .cfi_signal_frame in rt_sigaction
diff --git a/ChangeLog.alpha b/ChangeLog.alpha
index 77e6de1..705a020 100644
--- a/ChangeLog.alpha
+++ b/ChangeLog.alpha
@@ -1,5 +1,8 @@
2012-06-05 Richard Henderson <rth@twiddle.net>
+ * 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.
diff --git a/sysdeps/unix/sysv/linux/alpha/rt_sigaction.S b/sysdeps/unix/sysv/linux/alpha/rt_sigaction.S
index 96069c7..42062b0 100644
--- a/sysdeps/unix/sysv/linux/alpha/rt_sigaction.S
+++ b/sysdeps/unix/sysv/linux/alpha/rt_sigaction.S
@@ -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@cygnus.com>, 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 @@ ENTRY(__syscall_rt_sigaction)
.prologue 1
beq a1, 0f
- 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
+ ldl t0, 8(a1) # sa_flags
+
+ 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 @@ ENTRY(__syscall_rt_sigaction)
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 @@ PSEUDO_END(__syscall_rt_sigaction)
.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
http://sources.redhat.com/git/gitweb.cgi?p=glibc-ports.git;a=commitdiff;h=0ff73bfcb06a02f318850333f315dee587151d00
commit 0ff73bfcb06a02f318850333f315dee587151d00
Author: Richard Henderson <rth@twiddle.net>
Date: Tue Jun 5 08:08:25 2012 -0700
alpha: Resurrect getppid, getegid, geteuid.
The sysdeps/unix files deleted in the main tree weren't unused.
Resurrect them in sysdeps/unix/alpha, and using the real syscall names.
diff --git a/ChangeLog.alpha b/ChangeLog.alpha
index 1d3e6bd..77e6de1 100644
--- a/ChangeLog.alpha
+++ b/ChangeLog.alpha
@@ -1,3 +1,9 @@
+2012-06-05 Richard Henderson <rth@twiddle.net>
+
+ * 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@twiddle.net>
* sysdeps/alpha/Makefile (CFLAGS-test-misc.c): Set -mieee-with-inexact.
diff --git a/sysdeps/unix/alpha/getegid.S b/sysdeps/unix/alpha/getegid.S
new file mode 100644
index 0000000..a564f6c
--- /dev/null
+++ b/sysdeps/unix/alpha/getegid.S
@@ -0,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)
diff --git a/sysdeps/unix/alpha/geteuid.S b/sysdeps/unix/alpha/geteuid.S
new file mode 100644
index 0000000..289acbd
--- /dev/null
+++ b/sysdeps/unix/alpha/geteuid.S
@@ -0,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)
diff --git a/sysdeps/unix/alpha/getppid.S b/sysdeps/unix/alpha/getppid.S
new file mode 100644
index 0000000..8f7e774
--- /dev/null
+++ b/sysdeps/unix/alpha/getppid.S
@@ -0,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)
-----------------------------------------------------------------------
Summary of changes:
ChangeLog.alpha | 9 ++++++
.../aeabi_localeconv.c => unix/alpha/getegid.S} | 16 ++++++----
.../aeabi_localeconv.c => unix/alpha/geteuid.S} | 16 ++++++----
.../aeabi_localeconv.c => unix/alpha/getppid.S} | 16 ++++++----
sysdeps/unix/sysv/linux/alpha/rt_sigaction.S | 31 +++++++-------------
5 files changed, 47 insertions(+), 41 deletions(-)
copy sysdeps/{arm/aeabi_localeconv.c => unix/alpha/getegid.S} (79%)
copy sysdeps/{arm/aeabi_localeconv.c => unix/alpha/geteuid.S} (79%)
copy sysdeps/{arm/aeabi_localeconv.c => unix/alpha/getppid.S} (79%)
hooks/post-receive
--
Community source repository for glibc add-on ports