This is the mail archive of the
glibc-cvs@sourceware.org
mailing list for the glibc project.
GNU C Library master sources branch master updated. glibc-2.18-794-g2393fc0
- From: azanella at sourceware dot org
- To: glibc-cvs at sourceware dot org
- Date: 15 Jan 2014 18:31:57 -0000
- Subject: GNU C Library master sources branch master updated. glibc-2.18-794-g2393fc0
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 "GNU C Library master sources".
The branch, master has been updated
via 2393fc0119fa291ff01b7b912dda2069257c8600 (commit)
from d359bcc2adc063bae511b1a42a01a301b53c4d39 (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://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=2393fc0119fa291ff01b7b912dda2069257c8600
commit 2393fc0119fa291ff01b7b912dda2069257c8600
Author: Adhemerval Zanella <azanella@linux.vnet.ibm.com>
Date: Wed Jan 15 11:05:00 2014 -0600
PowerPC: sotruss-lib implementation
This patch add the missing sotruss-lib interfaces for PowerPC.
diff --git a/ChangeLog b/ChangeLog
index e7438da..703b0ee 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2014-01-15 Adhemerval Zanella <azanella@linux.vnet.ibm.com>
+
+ * sysdeps/powerpc/sotruss-lib.c: New file: sotruss-lib.so
+ implementation for powerpc.
+
2014-01-15 OndÅ?ej BÃlka <neleai@seznam.cz>
[BZ #14782]
diff --git a/sysdeps/powerpc/sotruss-lib.c b/sysdeps/powerpc/sotruss-lib.c
new file mode 100644
index 0000000..2e52053
--- /dev/null
+++ b/sysdeps/powerpc/sotruss-lib.c
@@ -0,0 +1,69 @@
+/* PowerPC specific sotruss-lib functions.
+ Copyright (C) 2013 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/>. */
+
+#define HAVE_ARCH_PLTENTER
+#define HAVE_ARCH_PLTEXIT
+
+#include <elf/sotruss-lib.c>
+
+#ifdef __powerpc64__
+# if _CALL_ELF != 2
+# define LA_PPC_REGS La_ppc64_regs
+# define LA_PPC_RETVAL La_ppc64_retval
+# define LA_PPC_GNU_PLTENTER la_ppc64_gnu_pltenter
+# define LA_PPC_GNU_PLTEXIT la_ppc64_gnu_pltexit
+# else
+# define LA_PPC_REGS La_ppc64v2_regs
+# define LA_PPC_RETVAL La_ppc64v2_retval
+# define LA_PPC_GNU_PLTENTER la_ppc64v2_gnu_pltenter
+# define LA_PPC_GNU_PLTEXIT la_ppc64v2_gnu_pltexit
+# endif
+# else
+# define LA_PPC_REGS La_ppc32_regs
+# define LA_PPC_RETVAL La_ppc32_retval
+# define LA_PPC_GNU_PLTENTER la_ppc32_gnu_pltenter
+# define LA_PPC_GNU_PLTEXIT la_ppc32_gnu_pltexit
+#endif
+
+ElfW(Addr)
+LA_PPC_GNU_PLTENTER (ElfW(Sym) *sym __attribute__ ((unused)),
+ unsigned int ndx __attribute__ ((unused)),
+ uintptr_t *refcook, uintptr_t *defcook,
+ LA_PPC_REGS *regs, unsigned int *flags,
+ const char *symname, long int *framesizep)
+{
+ print_enter (refcook, defcook, symname,
+ regs->lr_reg[0], regs->lr_reg[1], regs->lr_reg[2], *flags);
+
+ /* No need to copy anything, we will not need the parameters in any case. */
+ *framesizep = 0;
+
+ return sym->st_value;
+}
+
+unsigned int
+LA_PPC_GNU_PLTEXIT (ElfW(Sym) *sym, unsigned int ndx, uintptr_t *refcook,
+ uintptr_t *defcook,
+ const struct LA_PPC_REGS *inregs,
+ struct LA_PPC_RETVAL *outregs, const char *symname)
+{
+ print_exit (refcook, defcook, symname, outregs->lrv_r3);
+
+ return 0;
+}
-----------------------------------------------------------------------
Summary of changes:
ChangeLog | 5 +++
sysdeps/powerpc/sotruss-lib.c | 69 +++++++++++++++++++++++++++++++++++++++++
2 files changed, 74 insertions(+), 0 deletions(-)
create mode 100644 sysdeps/powerpc/sotruss-lib.c
hooks/post-receive
--
GNU C Library master sources