Fix: adapt to kernel relative references
[lttng-modules.git] / wrapper / tracepoint.h
index d094f42ac3695fafa6593f63780410b1734bb8e5..a860cb82a888d24d10d9d2f9621e6d6a20c7f911 100644 (file)
@@ -42,7 +42,7 @@
 
 #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,15,0))
 
-#include "../lttng-tracepoint.h"
+#include <lttng-tracepoint.h>
 
 #define lttng_wrapper_tracepoint_probe_register lttng_tracepoint_probe_register
 #define lttng_wrapper_tracepoint_probe_unregister lttng_tracepoint_probe_unregister
@@ -68,7 +68,7 @@ void lttng_tracepoint_exit(void)
 #ifdef CONFIG_MODULE_SIG
 
 #include <linux/kallsyms.h>
-#include "kallsyms.h"
+#include <wrapper/kallsyms.h>
 
 static inline
 int wrapper_tracepoint_module_notify(struct notifier_block *nb,
@@ -82,11 +82,15 @@ int wrapper_tracepoint_module_notify(struct notifier_block *nb,
        if (tracepoint_module_notify_sym) {
                return tracepoint_module_notify_sym(nb, val, mod);
        } else {
-               printk(KERN_WARNING "LTTng: tracepoint_module_notify symbol lookup failed. It probably means you kernel don't need this work-around. Please consider upgrading LTTng modules to make this warning go away.\n");
+               printk_once(KERN_WARNING "LTTng: tracepoint_module_notify symbol lookup failed. It probably means you kernel don't need this work-around. Please consider upgrading LTTng modules to make this warning go away.\n");
                return -ENOSYS;
        }
 }
 
+#endif /* CONFIG_MODULE_SIG */
+
+#if defined(CONFIG_MODULE_SIG) && defined(MODULE)
+
 static inline
 int wrapper_lttng_fixup_sig(struct module *mod)
 {
@@ -106,7 +110,7 @@ int wrapper_lttng_fixup_sig(struct module *mod)
        return ret;
 }
 
-#else /* CONFIG_MODULE_SIG */
+#else /* #if defined(CONFIG_MODULE_SIG) && defined(MODULE) */
 
 static inline
 int wrapper_lttng_fixup_sig(struct module *mod)
@@ -114,6 +118,18 @@ int wrapper_lttng_fixup_sig(struct module *mod)
        return 0;
 }
 
-#endif /* #else CONFIG_MODULE_SIG */
+#endif /*#else #if defined(CONFIG_MODULE_SIG) && defined(MODULE) */
+
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,19,0))
+static inline struct tracepoint *lttng_tracepoint_ptr_deref(tracepoint_ptr_t *p)
+{
+       return tracepoint_ptr_deref(p);
+}
+#else /* #if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,19,0)) */
+static inline struct tracepoint *lttng_tracepoint_ptr_deref(struct tracepoint **p)
+{
+       return *p;
+}
+#endif /* #else #if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,19,0)) */
 
 #endif /* _LTTNG_WRAPPER_TRACEPOINT_H */
This page took 0.024799 seconds and 4 git commands to generate.