diff options
author | joseph <joseph@7b3dc134-2b1b-0410-93df-9e9f96275f8d> | 2013-10-18 21:33:25 +0000 |
---|---|---|
committer | joseph <joseph@7b3dc134-2b1b-0410-93df-9e9f96275f8d> | 2013-10-18 21:33:25 +0000 |
commit | fe2ed5aaa408e1ab996a9fe1595a05634208a79c (patch) | |
tree | e1027fbc9d8a4a8c33f8149b2b42e8cde89c74f6 /libc/ports/sysdeps/aarch64 | |
parent | 571c782b982d888565e7d06bfc2f3d47582fe829 (diff) |
Merge changes between r23946 and r24305 from /fsf/trunk.
git-svn-id: svn://svn.eglibc.org/trunk@24306 7b3dc134-2b1b-0410-93df-9e9f96275f8d
Diffstat (limited to 'libc/ports/sysdeps/aarch64')
-rw-r--r-- | libc/ports/sysdeps/aarch64/machine-gmon.h | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/libc/ports/sysdeps/aarch64/machine-gmon.h b/libc/ports/sysdeps/aarch64/machine-gmon.h index 4425965a4..5cc294125 100644 --- a/libc/ports/sysdeps/aarch64/machine-gmon.h +++ b/libc/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)); \ } |