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.17-924-gf8b4877


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  f8b4877a75765b14432a6f83ead11dcecc5b1985 (commit)
      from  61a9dcb9d6c719cd0ec2b8fd871701e4ae69919e (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=f8b4877a75765b14432a6f83ead11dcecc5b1985

commit f8b4877a75765b14432a6f83ead11dcecc5b1985
Author: Marcus Shawcroft <marcus.shawcroft@linaro.org>
Date:   Fri Jul 26 08:29:17 2013 +0100

    [AArch64] Provide symbol version for _mcount.

diff --git a/ports/ChangeLog.aarch64 b/ports/ChangeLog.aarch64
index 3f26cb7..537ae60 100644
--- a/ports/ChangeLog.aarch64
+++ b/ports/ChangeLog.aarch64
@@ -1,3 +1,10 @@
+2013-07-26  Marcus Shawcroft  <marcus.shawcroft@linaro.org>
+
+	* sysdeps/aarch64/Versions: New file.
+	* sysdeps/aarch64/machine-gmon.h: New file.
+	* sysdeps/aarch64/mcount.c: New file.
+	* sysdeps/unix/sysv/linux/aarch64/nptl/libc.abilist (_mcount): Add.
+
 2013-07-12  Marcus Shawcroft  <marcus.shawcroft@linaro.org>
 
 	* sysdeps/aarch64/Makefile (CFLAGS-backtrace.c): Define.
diff --git a/ports/sysdeps/aarch64/Versions b/ports/sysdeps/aarch64/Versions
new file mode 100644
index 0000000..e1aa44f
--- /dev/null
+++ b/ports/sysdeps/aarch64/Versions
@@ -0,0 +1,5 @@
+libc {
+  GLIBC_2.18 {
+    _mcount;
+  }
+}
diff --git a/ports/sysdeps/aarch64/machine-gmon.h b/ports/sysdeps/aarch64/machine-gmon.h
new file mode 100644
index 0000000..4425965
--- /dev/null
+++ b/ports/sysdeps/aarch64/machine-gmon.h
@@ -0,0 +1,35 @@
+/* AArch64 definitions for profiling support.
+   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/>.  */
+
+/* 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.  */
+
+#include <sysdep.h>
+
+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)); \
+}
diff --git a/ports/sysdeps/aarch64/mcount.c b/ports/sysdeps/aarch64/mcount.c
new file mode 100644
index 0000000..10171b7
--- /dev/null
+++ b/ports/sysdeps/aarch64/mcount.c
@@ -0,0 +1,33 @@
+/* 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/>.  */
+
+#include <shlib-compat.h>
+
+#include <gmon/mcount.c>
+
+/* We forgot to add _mcount in glibc 2.17.  We added it in 2.18
+   therefore we want it to be added with version GLIBC_2_18.  However,
+   setting the version is not straight forward because a generic
+   Version file includes an earlier 2.xx version for each this symbol
+   and the linker uses the first version it sees.  */
+
+#if SHLIB_COMPAT (libc, GLIBC_2_17, GLIBC_2_18)
+versioned_symbol (libc, __mcount, _mcount, GLIBC_2_18);
+#else
+strong_alias (__mcount, _mcount);
+#endif
diff --git a/ports/sysdeps/unix/sysv/linux/aarch64/nptl/libc.abilist b/ports/sysdeps/unix/sysv/linux/aarch64/nptl/libc.abilist
index b04a761..aeee312 100644
--- a/ports/sysdeps/unix/sysv/linux/aarch64/nptl/libc.abilist
+++ b/ports/sysdeps/unix/sysv/linux/aarch64/nptl/libc.abilist
@@ -2080,3 +2080,4 @@ GLIBC_2.17
 GLIBC_2.18
  GLIBC_2.18 A
  __cxa_thread_atexit_impl F
+ _mcount F

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

Summary of changes:
 ports/ChangeLog.aarch64                            |    7 ++++
 ports/sysdeps/aarch64/Versions                     |    5 +++
 ports/sysdeps/aarch64/machine-gmon.h               |   35 ++++++++++++++++++++
 ports/sysdeps/aarch64/mcount.c                     |   33 ++++++++++++++++++
 .../unix/sysv/linux/aarch64/nptl/libc.abilist      |    1 +
 5 files changed, 81 insertions(+), 0 deletions(-)
 create mode 100644 ports/sysdeps/aarch64/Versions
 create mode 100644 ports/sysdeps/aarch64/machine-gmon.h
 create mode 100644 ports/sysdeps/aarch64/mcount.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]