#include <stdint.h>
#include <stddef.h>
+#include <lttng/ust-config.h>
#ifdef __cplusplus
extern "C" {
typedef const char *(*lttng_ust_clock_name_function)(void);
typedef const char *(*lttng_ust_clock_description_function)(void);
+/* Custom upgrade 2.12 to 2.13 */
+
+#ifndef LTTNG_UST_CUSTOM_UPGRADE_CONFLICTING_SYMBOLS
+#define lttng_ust_trace_clock_set_read64_cb lttng_ust_trace_clock_set_read64_cb1
+#define lttng_ust_trace_clock_set_freq_cb lttng_ust_trace_clock_set_freq_cb1
+#define lttng_ust_trace_clock_set_uuid_cb lttng_ust_trace_clock_set_uuid_cb1
+#define lttng_ust_trace_clock_set_name_cb lttng_ust_trace_clock_set_name_cb1
+#define lttng_ust_trace_clock_set_description_cb lttng_ust_trace_clock_set_description_cb1
+#define lttng_ust_enable_trace_clock_override lttng_ust_enable_trace_clock_override1
+#endif
+
/*
* Set/Get clock override read callback. This callback should return the
* current clock time (a 64-bit monotonic counter).
return "Monotonic Clock";
}
-int lttng_ust_trace_clock_set_read64_cb(lttng_ust_clock_read64_function read64_cb)
+static int lttng_ust_trace_clock_set_read64_cb_orig(lttng_ust_clock_read64_function read64_cb)
{
if (CMM_LOAD_SHARED(lttng_ust_trace_clock))
return -EBUSY;
return 0;
}
-int lttng_ust_trace_clock_set_freq_cb(lttng_ust_clock_freq_function freq_cb)
+static int lttng_ust_trace_clock_set_freq_cb_orig(lttng_ust_clock_freq_function freq_cb)
{
if (CMM_LOAD_SHARED(lttng_ust_trace_clock))
return -EBUSY;
return 0;
}
-int lttng_ust_trace_clock_set_uuid_cb(lttng_ust_clock_uuid_function uuid_cb)
+static int lttng_ust_trace_clock_set_uuid_cb_orig(lttng_ust_clock_uuid_function uuid_cb)
{
if (CMM_LOAD_SHARED(lttng_ust_trace_clock))
return -EBUSY;
return 0;
}
-int lttng_ust_trace_clock_set_name_cb(lttng_ust_clock_name_function name_cb)
+static int lttng_ust_trace_clock_set_name_cb_orig(lttng_ust_clock_name_function name_cb)
{
if (CMM_LOAD_SHARED(lttng_ust_trace_clock))
return -EBUSY;
return 0;
}
-int lttng_ust_trace_clock_set_description_cb(lttng_ust_clock_description_function description_cb)
+static int lttng_ust_trace_clock_set_description_cb_orig(lttng_ust_clock_description_function description_cb)
{
if (CMM_LOAD_SHARED(lttng_ust_trace_clock))
return -EBUSY;
return 0;
}
-int lttng_ust_enable_trace_clock_override(void)
+static int lttng_ust_enable_trace_clock_override_orig(void)
{
if (CMM_LOAD_SHARED(lttng_ust_trace_clock))
return -EBUSY;
}
libinit();
}
+
+/* Custom upgrade 2.12 to 2.13 */
+
+#undef lttng_ust_trace_clock_set_read64_cb
+#undef lttng_ust_trace_clock_set_freq_cb
+#undef lttng_ust_trace_clock_set_uuid_cb
+#undef lttng_ust_trace_clock_set_name_cb
+#undef lttng_ust_trace_clock_set_description_cb
+#undef lttng_ust_enable_trace_clock_override
+
+int lttng_ust_trace_clock_set_read64_cb1(lttng_ust_clock_read64_function read64_cb)
+ __attribute ((alias ("lttng_ust_trace_clock_set_read64_cb_orig")));
+int lttng_ust_trace_clock_set_freq_cb1(lttng_ust_clock_freq_function freq_cb)
+ __attribute ((alias ("lttng_ust_trace_clock_set_freq_cb_orig")));
+int lttng_ust_trace_clock_set_uuid_cb1(lttng_ust_clock_uuid_function uuid_cb)
+ __attribute ((alias ("lttng_ust_trace_clock_set_uuid_cb_orig")));
+int lttng_ust_trace_clock_set_name_cb1(lttng_ust_clock_name_function name_cb)
+ __attribute ((alias ("lttng_ust_trace_clock_set_name_cb_orig")));
+int lttng_ust_trace_clock_set_description_cb1(lttng_ust_clock_description_function description_cb)
+ __attribute ((alias ("lttng_ust_trace_clock_set_description_cb_orig")));
+int lttng_ust_enable_trace_clock_override1(void)
+ __attribute ((alias ("lttng_ust_enable_trace_clock_override_orig")));
+
+#ifdef LTTNG_UST_CUSTOM_UPGRADE_CONFLICTING_SYMBOLS
+int lttng_ust_trace_clock_set_read64_cb(lttng_ust_clock_read64_function read64_cb)
+ __attribute ((alias ("lttng_ust_trace_clock_set_read64_cb_orig")));
+int lttng_ust_trace_clock_set_freq_cb(lttng_ust_clock_freq_function freq_cb)
+ __attribute ((alias ("lttng_ust_trace_clock_set_freq_cb_orig")));
+int lttng_ust_trace_clock_set_uuid_cb(lttng_ust_clock_uuid_function uuid_cb)
+ __attribute ((alias ("lttng_ust_trace_clock_set_uuid_cb_orig")));
+int lttng_ust_trace_clock_set_name_cb(lttng_ust_clock_name_function name_cb)
+ __attribute ((alias ("lttng_ust_trace_clock_set_name_cb_orig")));
+int lttng_ust_trace_clock_set_description_cb(lttng_ust_clock_description_function description_cb)
+ __attribute ((alias ("lttng_ust_trace_clock_set_description_cb_orig")));
+int lttng_ust_enable_trace_clock_override(void)
+ __attribute ((alias ("lttng_ust_enable_trace_clock_override_orig")));
+#endif