From 4ebf934e34c947ed50d0a3ff68c40bc72e50ecc9 Mon Sep 17 00:00:00 2001 From: Florian Weimer Date: Tue, 15 Aug 2017 14:46:19 +0200 Subject: i386: Replace internal_function attribute for __mcount_internal __mcount_internal is called from assembler code. Use an explicit regparm attribute to pass both arguments in registers, to match what used to happen with internal_function before commit fbdc1e3e8de7f49e439b6e274d3e7e07da78416e (i386: Do not set internal_function). --- ChangeLog | 6 ++++++ sysdeps/i386/machine-gmon.h | 8 +++++--- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index b540c5f995..8f072e701b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2017-08-15 Florian Weimer + + * sysdeps/i386/machine-gmon.h (mcount_internal): Declare with + regparm (2) instead of internal_function. + (_MCOUNT_DECL): Adjust. + 2017-08-15 Stefan Liebler * sysdeps/s390/dl-procinfo.c (_dl_s390_cap_flags): Add z14. diff --git a/sysdeps/i386/machine-gmon.h b/sysdeps/i386/machine-gmon.h index d5d8cdf7c6..3e90b8c0c7 100644 --- a/sysdeps/i386/machine-gmon.h +++ b/sysdeps/i386/machine-gmon.h @@ -29,10 +29,12 @@ /* We must not pollute the global namespace. */ #define mcount_internal __mcount_internal -extern void mcount_internal (u_long frompc, u_long selfpc) internal_function; +extern void mcount_internal (u_long frompc, u_long selfpc) + __attribute__ ((regparm (2))); -#define _MCOUNT_DECL(frompc, selfpc) \ -void internal_function mcount_internal (u_long frompc, u_long selfpc) +#define _MCOUNT_DECL(frompc, selfpc) \ + __attribute__ ((regparm (2))) \ +void mcount_internal (u_long frompc, u_long selfpc) /* Define MCOUNT as empty since we have the implementation in another -- cgit v1.2.1