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-166-g8f5a90c


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  8f5a90c270d2d1860e87764a14d739988c53e7b2 (commit)
       via  cfa4df95003c963c16d2102aef9c806f8175f373 (commit)
      from  82c93a0ffe43f36e3e79d14b3d46f7c9f2f538de (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=8f5a90c270d2d1860e87764a14d739988c53e7b2

commit 8f5a90c270d2d1860e87764a14d739988c53e7b2
Author: Marcus Shawcroft <marcus.shawcroft@linaro.org>
Date:   Tue Sep 24 13:03:02 2013 +0100

    [AArch64] Support __mcount profiling.

diff --git a/ports/ChangeLog.aarch64 b/ports/ChangeLog.aarch64
index 0090872..3daf3ed 100644
--- a/ports/ChangeLog.aarch64
+++ b/ports/ChangeLog.aarch64
@@ -1,3 +1,8 @@
+2013-09-24  Venkataramanan Kumar  <venkataramanan.kumar@linaro.org>
+
+	* sysdeps/aarch64/machine-gmon.h (__mcount): Accept parameter and
+	pass it to mcount_internal.
+
 2013-09-24 Venkataramanan Kumar  <venkataramanan.kumar@linaro.org>
 
 	* sysdeps/unix/sysv/linux/aarch64/sigcontextinfo.h: New file.
diff --git a/ports/sysdeps/aarch64/machine-gmon.h b/ports/sysdeps/aarch64/machine-gmon.h
index 4425965..5cc2941 100644
--- a/ports/sysdeps/aarch64/machine-gmon.h
+++ b/ports/sysdeps/aarch64/machine-gmon.h
@@ -16,10 +16,9 @@
    License along with the GNU C Library; if not, see
    <http://www.gnu.org/licenses/>.  */
 
-/* GCC version 2 gives us a perfect magical function to get
-   just the information we need:
-     void *__builtin_return_address (unsigned int N)
-   returns the return address of the frame N frames up.  */
+/* Accept 'frompc' address as argument from the function that calls
+   __mcount for profiling.  Use  __builtin_return_address (0)
+   for the 'selfpc' address.  */
 
 #include <sysdep.h>
 
@@ -28,8 +27,8 @@ static void mcount_internal (u_long frompc, u_long selfpc);
 #define _MCOUNT_DECL(frompc, selfpc) \
 static inline void mcount_internal (u_long frompc, u_long selfpc)
 
-#define MCOUNT \
-void __mcount (void)							      \
-{									      \
-  mcount_internal ((u_long) RETURN_ADDRESS (1), (u_long) RETURN_ADDRESS (0)); \
+#define MCOUNT                                                    \
+void __mcount (void *frompc)                                      \
+{                                                                 \
+  mcount_internal ((u_long) frompc, (u_long) RETURN_ADDRESS (0)); \
 }

http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=cfa4df95003c963c16d2102aef9c806f8175f373

commit cfa4df95003c963c16d2102aef9c806f8175f373
Author: Marcus Shawcroft <marcus.shawcroft@linaro.org>
Date:   Tue Sep 24 12:59:06 2013 +0100

    [AArch64] Adding sigcontextinfo.h

diff --git a/ports/ChangeLog.aarch64 b/ports/ChangeLog.aarch64
index 537ae60..0090872 100644
--- a/ports/ChangeLog.aarch64
+++ b/ports/ChangeLog.aarch64
@@ -1,3 +1,7 @@
+2013-09-24 Venkataramanan Kumar  <venkataramanan.kumar@linaro.org>
+
+	* sysdeps/unix/sysv/linux/aarch64/sigcontextinfo.h: New file.
+
 2013-07-26  Marcus Shawcroft  <marcus.shawcroft@linaro.org>
 
 	* sysdeps/aarch64/Versions: New file.
diff --git a/ports/sysdeps/unix/sysv/linux/aarch64/sigcontextinfo.h b/ports/sysdeps/unix/sysv/linux/aarch64/sigcontextinfo.h
new file mode 100644
index 0000000..42ff38e
--- /dev/null
+++ b/ports/sysdeps/unix/sysv/linux/aarch64/sigcontextinfo.h
@@ -0,0 +1,35 @@
+/* AArch64 definitions for signal handling calling conventions.
+   Copyright (C) 1996-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/>.  */
+
+#include <sys/ucontext.h>
+#include "kernel-features.h"
+
+#define SIGCONTEXT siginfo_t *_si, struct ucontext *
+#define GET_PC(ctx) ((void *) (ctx)->uc_mcontext.pc)
+
+/* There is no reliable way to get the sigcontext unless we use a
+   three-argument signal handler.  */
+#define __sigaction(sig, act, oact) ({ \
+  (act)->sa_flags |= SA_SIGINFO; \
+  (__sigaction) (sig, act, oact); \
+})
+
+#define sigaction(sig, act, oact) ({ \
+  (act)->sa_flags |= SA_SIGINFO; \
+  (sigaction) (sig, act, oact); \
+})

-----------------------------------------------------------------------

Summary of changes:
 ports/ChangeLog.aarch64                            |    9 ++++++++
 ports/sysdeps/aarch64/machine-gmon.h               |   15 ++++++-------
 .../sysv/linux/{arm => aarch64}/sigcontextinfo.h   |   22 +++----------------
 3 files changed, 20 insertions(+), 26 deletions(-)
 copy ports/sysdeps/unix/sysv/linux/{arm => aarch64}/sigcontextinfo.h (60%)


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]