summaryrefslogtreecommitdiffstats
path: root/sys/sparc64/sparc64/support.s
diff options
context:
space:
mode:
Diffstat (limited to 'sys/sparc64/sparc64/support.s')
-rw-r--r--sys/sparc64/sparc64/support.s54
1 files changed, 28 insertions, 26 deletions
diff --git a/sys/sparc64/sparc64/support.s b/sys/sparc64/sparc64/support.s
index 405d813..68cf714 100644
--- a/sys/sparc64/sparc64/support.s
+++ b/sys/sparc64/sparc64/support.s
@@ -585,7 +585,23 @@ ENTRY(openfirmware_exit)
! never to return
END(openfirmware_exit)
-#ifdef GUPROF
+#ifdef GPROF
+
+ENTRY(user)
+ nop
+
+ENTRY(btrap)
+ nop
+
+ENTRY(etrap)
+ nop
+
+ENTRY(bintr)
+ nop
+
+ENTRY(eintr)
+ nop
+
/*
* XXX including sys/gmon.h in genassym.c is not possible due to uintfptr_t
@@ -595,10 +611,10 @@ END(openfirmware_exit)
#define GMON_PROF_OFF 3
#define GMON_PROF_HIRES 4
- _ALIGN_TEXT
- .globl __cyg_profile_func_enter
- .type __cyg_profile_func_enter,@function
-__cyg_profile_func_enter:
+ .globl _mcount
+ .set _mcount, __cyg_profile_func_enter
+
+ENTRY(__cyg_profile_func_enter)
SET(_gmonparam, %o3, %o2)
lduw [%o2 + GM_STATE], %o3
cmp %o3, GMON_PROF_OFF
@@ -609,12 +625,11 @@ __cyg_profile_func_enter:
nop
1: retl
nop
- .size __cyg_profile_func_enter, . - __cyg_profile_func_enter
+END(__cyg_profile_func_enter)
- _ALIGN_TEXT
- .globl __cyg_profile_func_exit
- .type __cyg_profile_func_exit,@function
-__cyg_profile_func_exit:
+#ifdef GUPROF
+
+ENTRY(__cyg_profile_func_exit)
SET(_gmonparam, %o3, %o2)
lduw [%o2 + GM_STATE], %o3
cmp %o3, GMON_PROF_HIRES
@@ -625,21 +640,8 @@ __cyg_profile_func_exit:
nop
1: retl
nop
- .size __cyg_profile_func_exit, . - __cyg_profile_func_exit
-
-ENTRY(user)
- nop
-
-ENTRY(btrap)
- nop
+END(__cyg_profile_func_exit)
-ENTRY(etrap)
- nop
-
-ENTRY(bintr)
- nop
-
-ENTRY(eintr)
- nop
+#endif /* GUPROF */
-#endif
+#endif /* GPROF */
OpenPOWER on IntegriCloud