From 86746abb847f707cf390810bcdd7634043001727 Mon Sep 17 00:00:00 2001 From: Jakub Jelinek Date: Wed, 21 May 2008 09:29:07 +0000 Subject: [PATCH] * sysdeps/unix/sysv/linux/sparc/sparc32/setcontext.S: Use HIDDEN_JUMPTARGET. * sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h (__SYSCALL_CLOBBERS): Remove %g* registers. * sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.h (__SYSCALL_CLOBBERS): Likewise. * scripts/data/localplt-sparc-linux-gnu.data: New file. * scripts/data/localplt-sparc64-linux-gnu.data: Likewise. 2008-05-08 David S. Miller * sysdeps/unix/sysv/linux/sparc/sparc32/setcontext.S: Use HIDDEN_JUMPTARGET. * sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h (__SYSCALL_CLOBBERS): Remove %g* registers. * sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.h (__SYSCALL_CLOBBERS): Likewise. * scripts/data/localplt-sparc-linux-gnu.data: New file. * scripts/data/localplt-sparc64-linux-gnu.data: Likewise. --- ChangeLog | 11 ++++++++++ scripts/data/localplt-sparc-linux-gnu.data | 18 +++++++++++++++++ scripts/data/localplt-sparc64-linux-gnu.data | 20 +++++++++++++++++++ .../sysv/linux/sparc/sparc32/setcontext.S | 2 +- .../unix/sysv/linux/sparc/sparc32/sysdep.h | 2 +- .../unix/sysv/linux/sparc/sparc64/sysdep.h | 2 +- 6 files changed, 52 insertions(+), 3 deletions(-) create mode 100644 scripts/data/localplt-sparc-linux-gnu.data create mode 100644 scripts/data/localplt-sparc64-linux-gnu.data diff --git a/ChangeLog b/ChangeLog index abf2caa8bf..c7af45ec67 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,14 @@ +2008-05-08 David S. Miller + + * sysdeps/unix/sysv/linux/sparc/sparc32/setcontext.S: Use + HIDDEN_JUMPTARGET. + * sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h + (__SYSCALL_CLOBBERS): Remove %g* registers. + * sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.h + (__SYSCALL_CLOBBERS): Likewise. + * scripts/data/localplt-sparc-linux-gnu.data: New file. + * scripts/data/localplt-sparc64-linux-gnu.data: Likewise. + 2008-05-21 Jakub Jelinek * sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h diff --git a/scripts/data/localplt-sparc-linux-gnu.data b/scripts/data/localplt-sparc-linux-gnu.data new file mode 100644 index 0000000000..5ceed16c9b --- /dev/null +++ b/scripts/data/localplt-sparc-linux-gnu.data @@ -0,0 +1,18 @@ +libc.so: _Q_add +libc.so: _Q_div +libc.so: _Q_feq +libc.so: _Q_fge +libc.so: _Q_fle +libc.so: _Q_flt +libc.so: _Q_fne +libc.so: _Q_itoq +libc.so: _Q_mul +libc.so: _Q_sub +libc.so: _Unwind_Find_FDE +libc.so: calloc +libc.so: ffs +libc.so: free +libc.so: malloc +libc.so: memalign +libc.so: realloc +libm.so: matherr diff --git a/scripts/data/localplt-sparc64-linux-gnu.data b/scripts/data/localplt-sparc64-linux-gnu.data new file mode 100644 index 0000000000..5e6e42d672 --- /dev/null +++ b/scripts/data/localplt-sparc64-linux-gnu.data @@ -0,0 +1,20 @@ +libc.so: _Qp_add +libc.so: _Qp_div +libc.so: _Qp_feq +libc.so: _Qp_fge +libc.so: _Qp_fle +libc.so: _Qp_flt +libc.so: _Qp_fne +libc.so: _Qp_itoq +libc.so: _Qp_mul +libc.so: _Qp_qtod +libc.so: _Qp_sub +libc.so: _Qp_xtoq +libc.so: _Unwind_Find_FDE +libc.so: calloc +libc.so: ffs +libc.so: free +libc.so: malloc +libc.so: memalign +libc.so: realloc +libm.so: matherr diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/setcontext.S b/sysdeps/unix/sysv/linux/sparc/sparc32/setcontext.S index 33e40ac65a..a38cd30c02 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc32/setcontext.S +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/setcontext.S @@ -111,7 +111,7 @@ ENTRY(__start_context) mov %g1, %o0 /* If this returns (which can happen if the syscall fails) we'll exit the program with the return error value (-1). */ -1: call exit +1: call HIDDEN_JUMPTARGET(exit) nop /* The 'exit' call should never return. In case it does cause the process to terminate. */ diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h b/sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h index 1f674c1fbe..3cb0a48c95 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h +++ b/sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h @@ -134,7 +134,7 @@ ENTRY(name); \ " sub %%g0, %%o0, %%o0;" \ "1:" -#define __SYSCALL_CLOBBERS "g2", "g3", "g4", "g5", "g6", \ +#define __SYSCALL_CLOBBERS \ "f0", "f1", "f2", "f3", "f4", "f5", "f6", "f7", \ "f8", "f9", "f10", "f11", "f12", "f13", "f14", "f15", \ "f16", "f17", "f18", "f19", "f20", "f21", "f22", "f23", \ diff --git a/sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.h b/sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.h index 6bb061319e..79fa13de75 100644 --- a/sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.h +++ b/sysdeps/unix/sysv/linux/sparc/sparc64/sysdep.h @@ -142,7 +142,7 @@ ENTRY(name); \ " sub %%g0, %%o0, %%o0;" \ "1:" -#define __SYSCALL_CLOBBERS "g2", "g3", "g4", "g5", "g6", \ +#define __SYSCALL_CLOBBERS \ "f0", "f1", "f2", "f3", "f4", "f5", "f6", "f7", \ "f8", "f9", "f10", "f11", "f12", "f13", "f14", "f15", \ "f16", "f17", "f18", "f19", "f20", "f21", "f22", "f23", \