diff options
Diffstat (limited to 'gprofng')
-rw-r--r-- | gprofng/doc/gprofng_ug.texi | 5 | ||||
-rw-r--r-- | gprofng/src/CallStack.cc | 10 |
2 files changed, 5 insertions, 10 deletions
diff --git a/gprofng/doc/gprofng_ug.texi b/gprofng/doc/gprofng_ug.texi index 7147090..f23f7b3 100644 --- a/gprofng/doc/gprofng_ug.texi +++ b/gprofng/doc/gprofng_ug.texi @@ -310,9 +310,8 @@ Since there is no need to recompile, existing executables can be used and the profile measures the behaviour of exactly the same executable that is used in production runs. -With sampling, one inherently profiles a different executable, because -the calls to the instrumentation library may affect the compiler optimizations -and run time behaviour. +With tracing, one inherently profiles a different executable, because +the calls to the instrumentation library may affect runtime behaviour. @item With sampling, there are very few restrictions on what can be profiled and diff --git a/gprofng/src/CallStack.cc b/gprofng/src/CallStack.cc index 6df4112..9a3a15d 100644 --- a/gprofng/src/CallStack.cc +++ b/gprofng/src/CallStack.cc @@ -527,14 +527,10 @@ CallStackP::add_stack (DataDescriptor *dDscr, long idx, FramePacket *frp, Vaddr va = frp->getFromStack (index); DbeInstr *cur_instr = experiment->map_Vaddr_to_PC (va, tstamp); -#if ARCH(Intel)// TBR? FIXUP_XXX_SPARC_LINUX: switch should be on experiment ARCH, not dbe ARCH // We need to adjust return addresses on intel - // in order to attribute inclusive metrics to - // proper call instructions. - if (experiment->exp_maj_version <= 9) - if (!leaf && cur_instr->addr != 0) - cur_instr = cur_instr->func->find_dbeinstr (0, cur_instr->addr - 1); -#endif + // in order to attribute inclusive metrics to proper instructions. + if (experiment->platform == Intel && cur_instr->addr != 0) + cur_instr = cur_instr->func->find_dbeinstr (0, cur_instr->addr - 1); // Skip PC's from PLT, update leaf and state accordingly if ((cur_instr->func->flags & FUNC_FLAG_PLT) |