r5800 - in glibc-package/branches/eglibc-2.18/debian: . patches patches/arm64
Author: adconrad
Date: 2013-11-29 07:13:48 +0000 (Fri, 29 Nov 2013)
New Revision: 5800
Added:
glibc-package/branches/eglibc-2.18/debian/patches/arm64/cvs-arm64-mcount-profiling.diff
Modified:
glibc-package/branches/eglibc-2.18/debian/changelog
glibc-package/branches/eglibc-2.18/debian/patches/series
Log:
debian/patches/arm64/cvs-arm64-mcount-profiling.diff: mcount profiling.
Modified: glibc-package/branches/eglibc-2.18/debian/changelog
===================================================================
--- glibc-package/branches/eglibc-2.18/debian/changelog 2013-11-29 07:11:07 UTC (rev 5799)
+++ glibc-package/branches/eglibc-2.18/debian/changelog 2013-11-29 07:13:48 UTC (rev 5800)
@@ -79,6 +79,7 @@
* debian/rules.d/quilt.mk: Fix unpatch with only one arch patch applied.
* debian/patches/arm64/cvs-arm64-sigcontext.diff: arm64 sigcontextinfo.h.
* debian/patches/arm64/cvs-arm64-relocs.diff: Add arm64 reloc definitions.
+ * debian/patches/arm64/cvs-arm64-mcount-profiling.diff: mcount profiling.
[ Samuel Thibault ]
* patches/hurd-i386/libpthread_hurd_cond_timedwait.diff: Rebased.
Added: glibc-package/branches/eglibc-2.18/debian/patches/arm64/cvs-arm64-mcount-profiling.diff
===================================================================
--- glibc-package/branches/eglibc-2.18/debian/patches/arm64/cvs-arm64-mcount-profiling.diff (rev 0)
+++ glibc-package/branches/eglibc-2.18/debian/patches/arm64/cvs-arm64-mcount-profiling.diff 2013-11-29 07:13:48 UTC (rev 5800)
@@ -0,0 +1,37 @@
+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/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)); \
+ }
Modified: glibc-package/branches/eglibc-2.18/debian/patches/series
===================================================================
--- glibc-package/branches/eglibc-2.18/debian/patches/series 2013-11-29 07:11:07 UTC (rev 5799)
+++ glibc-package/branches/eglibc-2.18/debian/patches/series 2013-11-29 07:13:48 UTC (rev 5800)
@@ -59,6 +59,7 @@
arm64/cvs-arm64-sigcontext.diff
arm64/cvs-arm64-relocs.diff
+arm64/cvs-arm64-mcount-profiling.diff
hppa/local-inlining.diff
hppa/submitted-fadvise64_64.diff
Reply to: