diff options
Diffstat (limited to 'src/tracing/cyg_profile_functions.c')
-rw-r--r-- | src/tracing/cyg_profile_functions.c | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/src/tracing/cyg_profile_functions.c b/src/tracing/cyg_profile_functions.c new file mode 100644 index 000000000..d09c14c9d --- /dev/null +++ b/src/tracing/cyg_profile_functions.c @@ -0,0 +1,31 @@ +#include "acconfig.h" + +#ifdef WITH_LTTNG +#define TRACEPOINT_DEFINE +#define TRACEPOINT_PROBE_DYNAMIC_LINKAGE +#include "tracing/cyg_profile.h" +#undef TRACEPOINT_PROBE_DYNAMIC_LINKAGE +#undef TRACEPOINT_DEFINE +#endif + +void __cyg_profile_func_enter(void *this_fn, void *call_site) + __attribute__((no_instrument_function)); + +void __cyg_profile_func_exit(void *this_fn, void *call_site) + __attribute__((no_instrument_function)); + + +void __cyg_profile_func_enter(void *this_fn, void *call_site) +{ +#ifdef WITH_LTTNG + tracepoint(lttng_ust_cyg_profile, func_entry, this_fn, call_site); +#endif +} + +void __cyg_profile_func_exit(void *this_fn, void *call_site) +{ +#ifdef WITH_LTTNG + tracepoint(lttng_ust_cyg_profile, func_exit, this_fn, call_site); +#endif +} + |