This is the mail archive of the glibc-cvs@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]