@@ -78,6 +78,7 @@ extern int _etext;
7878
7979/** Internal timer handler
8080 */
81+ __attribute__((__no_instrument_function__ , __no_profile_instrument_function__ ))
8182static uint64_t timer_handler (int id , uint64_t scheduled_time , uint64_t actual_time , void * arg , void * pc_value )
8283{
8384 struct gmonparam * current_gp = (struct gmonparam * )arg ;
@@ -104,6 +105,7 @@ static uint64_t timer_handler(int id, uint64_t scheduled_time, uint64_t actual_t
104105 for sampling statistics. Note that this also installs a timer that
105106 runs at 1000 hert.
106107*/
108+ __attribute__((__no_instrument_function__ , __no_profile_instrument_function__ ))
107109void __gprof_init ()
108110{
109111 memset (& gp , '\0' , sizeof (gp ));
@@ -142,6 +144,7 @@ void __gprof_init()
142144 Called from atexit() handler; will dump out a host:gmon.out file
143145 with all collected information.
144146*/
147+ __attribute__((__no_instrument_function__ , __no_profile_instrument_function__ ))
145148void __gprof_cleanup ()
146149{
147150 FILE * fp ;
@@ -192,6 +195,7 @@ void __gprof_cleanup()
192195 beginning of each compiled routine, which eventually brings the
193196 control to here.
194197*/
198+ __attribute__((__no_instrument_function__ , __no_profile_instrument_function__ ))
195199void __mcount (unsigned int frompc , unsigned int selfpc )
196200{
197201 int e ;
0 commit comments