Fix profiling compilation for non-m68k targets
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8967 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
parent
ca9e8b6cf5
commit
9c2b203025
3 changed files with 12 additions and 1 deletions
|
@ -145,8 +145,12 @@ void qsort(void *base, size_t nmemb, size_t size,
|
|||
|
||||
#ifdef RB_PROFILE
|
||||
void __cyg_profile_func_enter(void *this_fn, void *call_site) {
|
||||
#ifdef CPU_COLDFIRE
|
||||
(void)call_site;
|
||||
local_rb->profile_func_enter(this_fn, __builtin_return_address(1));
|
||||
#else
|
||||
local_rb->profile_func_enter(this_fn, call_site);
|
||||
#endif
|
||||
}
|
||||
|
||||
void __cyg_profile_func_exit(void *this_fn, void *call_site) {
|
||||
|
|
|
@ -29,8 +29,12 @@ void profile_init(struct plugin_api* pa)
|
|||
}
|
||||
|
||||
void __cyg_profile_func_enter(void *this_fn, void *call_site) {
|
||||
#ifdef CPU_COLDFIRE
|
||||
(void)call_site;
|
||||
local_rb->profile_func_enter(this_fn, __builtin_return_address(1));
|
||||
#else
|
||||
local_rb->profile_func_enter(this_fn, call_site);
|
||||
#endif
|
||||
}
|
||||
|
||||
void __cyg_profile_func_exit(void *this_fn, void *call_site) {
|
||||
|
|
|
@ -76,10 +76,14 @@ static void profile_timer_unregister(void);
|
|||
static void write_function_recursive(int fd, struct pfd_struct *pfd, int depth);
|
||||
|
||||
/* Be careful to use the right one for the size of your variable */
|
||||
#ifdef CPU_COLDFIRE
|
||||
#define ADDQI_L(_var,_value) \
|
||||
asm ("addq.l %[value],%[var];" \
|
||||
: [var] "+g" (_var) \
|
||||
: [value] "I" (_value) )
|
||||
#else
|
||||
#define ADDQI_L(var, value) var += value
|
||||
#endif
|
||||
|
||||
void profile_thread_stopped(int current_thread) {
|
||||
if (current_thread == profiling_thread) {
|
||||
|
@ -227,7 +231,6 @@ void profile_func_enter(void *self_pc, void *from_pc) {
|
|||
if (profiling) {
|
||||
return;
|
||||
}
|
||||
/* this is equivalent to 'profiling = PROF_BUSY;' but it's faster */
|
||||
profiling = PROF_BUSY;
|
||||
/* A check that the PC is in the code range here wouldn't hurt, but this is
|
||||
* logically guaranteed to be a valid address unless the constants are
|
||||
|
|
Loading…
Reference in a new issue