Fix missing data pointer for trace_mark_tp v2
[ust.git] / include / ust / marker.h
index 0e0b466b994546337c61e3d95e7714837e8c49ad..2751f585827886196e890e16344d8741e811d8bc 100644 (file)
 
 #include <stdarg.h>
 #include <ust/immediate.h>
-#include <ust/kernelcompat.h>
+#include <ust/core.h>
 #include <urcu/list.h>
 #include <ust/processor.h>
+#include <ust/kcompat/kcompat.h>
 
 #include <bits/wordsize.h>
 
@@ -128,8 +129,8 @@ struct marker {
                     _ASM_PTR "0\n\t" /* tp_cb */                                               \
                     _ASM_PTR "(1f)\n\t" /* location */                                         \
                     ".previous\n\t"                                                            \
-                    ARCH_COPY_ADDR("%[outptr]")                                                \
                     "1:\n\t"                                                                   \
+                    ARCH_COPY_ADDR("%[outptr]")                                                \
                : [outptr] "=r" (m) );                                                          \
                                                                                                \
                save_registers(&regs)
@@ -187,12 +188,12 @@ struct marker {
 
 #define __trace_mark_tp_counter(channel, name, unique, call_private, tp_name, tp_cb, format, args...) \
        do {                                                            \
-               struct marker m;                                        \
+               struct registers regs;                                                          \
                void __check_tp_type(void)                              \
                {                                                       \
-                       register_trace_##tp_name(tp_cb);                \
+                       register_trace_##tp_name(tp_cb, call_private);          \
                }                                                       \
-               DEFINE_MARKER_TP(channel, name, tp_name, tp_cb, format, unique, m);\
+               DEFINE_MARKER_TP(channel, name, tp_name, tp_cb, format);\
                __mark_check_format(format, ## args);                   \
                (*__mark_##channel##_##name.call)(&__mark_##channel##_##name, \
                        call_private, &regs, ## args);                          \
@@ -212,7 +213,7 @@ extern void marker_update_probe_range(struct marker *begin,
        do {                                                            \
                void __check_tp_type(void)                              \
                {                                                       \
-                       register_trace_##tp_name(tp_cb);                \
+                       register_trace_##tp_name(tp_cb, call_private);          \
                }                                                       \
                __mark_check_format(format, ## args);                   \
        } while (0)
This page took 0.024874 seconds and 4 git commands to generate.