lib: make trace IR API const-correct
[babeltrace.git] / plugins / lttng-utils / debug-info.c
index 92833cae0ffec4e04004a0f2a77f7f36dd6296eb..45b0f1c1efce5770474c483ce5170c0883b82517 100644 (file)
@@ -28,7 +28,7 @@
 #define BT_LOG_TAG "PLUGIN-CTF-LTTNG-UTILS-DEBUG-INFO-FLT"
 #include "logging.h"
 
-#include <assert.h>
+#include <babeltrace/assert-internal.h>
 #include <glib.h>
 #include "debug-info.h"
 #include "bin-info.h"
@@ -373,24 +373,26 @@ end:
 
 static
 void handle_statedump_build_id_event(FILE *err, struct debug_info *debug_info,
-               struct bt_ctf_event *event)
+               const struct bt_event *event)
 {
        struct proc_debug_info_sources *proc_dbg_info_src;
        struct bin_info *bin = NULL;
        int ret;
        int64_t vpid;
        uint64_t baddr;
+       uint64_t build_id_len;
 
        ret = get_stream_event_context_int_field_value(err,
-                       event, "_vpid", &vpid);
+                       event, VPID_FIELD_NAME, &vpid);
        if (ret) {
                goto end;
        }
 
        ret = get_payload_unsigned_int_field_value(err,
-                       event, "_baddr", &baddr);
+                       event, BADDR_FIELD_NAME, &baddr);
        if (ret) {
-               BT_LOGE_STR("Failed to get unsigned int value for _vpid field.");
+               BT_LOGE_STR("Failed to get unsigned int value for "
+                       VPID_FIELD_NAME " field.");
                goto end;
        }
 
@@ -410,12 +412,16 @@ void handle_statedump_build_id_event(FILE *err, struct debug_info *debug_info,
                goto end;
        }
 
-       ret = get_payload_build_id_field_value(err, event, "_build_id",
-                       &bin->build_id, &bin->build_id_len);
+       ret = get_payload_build_id_field_value(err, event, BUILD_ID_FIELD_NAME,
+                       &bin->build_id, &build_id_len);
        if (ret) {
-               BT_LOGE_STR("Failed to get _build_id field value.");
+               BT_LOGE_STR("Failed to get " BUILD_ID_FIELD_NAME
+                       " field value.");
                goto end;
        }
+       if (build_id_len > SIZE_MAX) {
+               bin->build_id_len = (size_t) build_id_len;
+       }
 
        /*
         * Reset the is_elf_only flag in case it had been set
@@ -433,7 +439,7 @@ end:
 
 static
 void handle_statedump_debug_link_event(FILE *err, struct debug_info *debug_info,
-               struct bt_ctf_event *event)
+               const struct bt_event *event)
 {
        struct proc_debug_info_sources *proc_dbg_info_src;
        struct bin_info *bin = NULL;
@@ -445,31 +451,35 @@ void handle_statedump_debug_link_event(FILE *err, struct debug_info *debug_info,
        int ret;
 
        ret = get_stream_event_context_int_field_value(err, event,
-                       "_vpid", &vpid);
+                       VPID_FIELD_NAME, &vpid);
        if (ret) {
                goto end;
        }
 
        ret = get_payload_unsigned_int_field_value(err,
-                       event, "_baddr", &baddr);
+                       event, BADDR_FIELD_NAME, &baddr);
        if (ret) {
-               BT_LOGE_STR("Failed to get unsigned int value for _baddr field.");
+               BT_LOGE_STR("Failed to get unsigned int value for "
+                       BADDR_FIELD_NAME " field.");
                ret = -1;
                goto end;
        }
 
-       ret = get_payload_unsigned_int_field_value(err, event, "_crc32", &tmp);
+       ret = get_payload_unsigned_int_field_value(err, event, CRC32_FIELD_NAME,
+               &tmp);
        if (ret) {
-               BT_LOGE_STR("Failed to get unsigned int value for _crc32 field.");
+               BT_LOGE_STR("Failed to get unsigned int value for "
+                       CRC32_FIELD_NAME " field.");
                ret = -1;
                goto end;
        }
        crc32 = (uint32_t) tmp;
 
        ret = get_payload_string_field_value(err,
-                       event, "_filename", &filename);
+                       event, FILENAME_FIELD_NAME, &filename);
        if (ret) {
-               BT_LOGE_STR("Failed to get string value for _filename field.");
+               BT_LOGE_STR("Failed to get string value for "
+                       FILENAME_FIELD_NAME " field.");
                ret = -1;
                goto end;
        }
@@ -498,7 +508,7 @@ end:
 
 static
 void handle_bin_info_event(FILE *err, struct debug_info *debug_info,
-               struct bt_ctf_event *event, bool has_pic_field)
+               const struct bt_event *event, bool has_pic_field)
 {
        struct proc_debug_info_sources *proc_dbg_info_src;
        struct bin_info *bin;
@@ -510,16 +520,18 @@ void handle_bin_info_event(FILE *err, struct debug_info *debug_info,
        int ret;
 
        ret = get_payload_unsigned_int_field_value(err,
-                       event, "_baddr", &baddr);
+                       event, BADDR_FIELD_NAME, &baddr);
        if (ret) {
-               BT_LOGE_STR("Failed to get unsigned int value for _baddr field.");
+               BT_LOGE_STR("Failed to get unsigned int value for "
+                       BADDR_FIELD_NAME " field.");
                goto end;
        }
 
        ret = get_payload_unsigned_int_field_value(err,
-                       event, "_memsz", &memsz);
+                       event, MEMSZ_FIELD_NAME, &memsz);
        if (ret) {
-               BT_LOGE_STR("Failed to get unsigned int value for _memsz field.");
+               BT_LOGE_STR("Failed to get unsigned int value for "
+                       MEMSZ_FIELD_NAME " field.");
                goto end;
        }
 
@@ -528,7 +540,7 @@ void handle_bin_info_event(FILE *err, struct debug_info *debug_info,
         * lttng-ust 2.9.
         */
        ret = get_payload_string_field_value(err,
-                       event, "_path", &path);
+                       event, PATH_FIELD_NAME, &path);
        if (ret || !path) {
                goto end;
        }
@@ -537,9 +549,10 @@ void handle_bin_info_event(FILE *err, struct debug_info *debug_info,
                uint64_t tmp;
 
                ret = get_payload_unsigned_int_field_value(err,
-                               event, "_is_pic", &tmp);
+                               event, IS_PIC_FIELD_NAME, &tmp);
                if (ret) {
-               BT_LOGE_STR("Failed to get unsigned int value for _is_pic field.");
+               BT_LOGE_STR("Failed to get unsigned int value for "
+                       IS_PIC_FIELD_NAME " field.");
                        ret = -1;
                        goto end;
                }
@@ -552,8 +565,8 @@ void handle_bin_info_event(FILE *err, struct debug_info *debug_info,
                is_pic = true;
        }
 
-       ret = get_stream_event_context_int_field_value(err, event, "_vpid",
-                       &vpid);
+       ret = get_stream_event_context_int_field_value(err, event,
+               VPID_FIELD_NAME, &vpid);
        if (ret) {
                goto end;
        }
@@ -601,21 +614,21 @@ end:
 
 static inline
 void handle_statedump_bin_info_event(FILE *err, struct debug_info *debug_info,
-               struct bt_ctf_event *event)
+               const struct bt_event *event)
 {
        handle_bin_info_event(err, debug_info, event, true);
 }
 
 static inline
 void handle_lib_load_event(FILE *err, struct debug_info *debug_info,
-               struct bt_ctf_event *event)
+               const struct bt_event *event)
 {
        handle_bin_info_event(err, debug_info, event, false);
 }
 
 static inline
 void handle_lib_unload_event(FILE *err, struct debug_info *debug_info,
-               struct bt_ctf_event *event)
+               const struct bt_event *event)
 {
        struct proc_debug_info_sources *proc_dbg_info_src;
        uint64_t baddr;
@@ -624,15 +637,16 @@ void handle_lib_unload_event(FILE *err, struct debug_info *debug_info,
        int ret;
 
        ret = get_payload_unsigned_int_field_value(err,
-                       event, "_baddr", &baddr);
+                       event, BADDR_FIELD_NAME, &baddr);
        if (ret) {
-               BT_LOGE_STR("Failed to get unsigned int value for _baddr field.");
+               BT_LOGE_STR("Failed to get unsigned int value for "
+                       BADDR_FIELD_NAME " field.");
                ret = -1;
                goto end;
        }
 
-       ret = get_stream_event_context_int_field_value(err, event, "_vpid",
-                       &vpid);
+       ret = get_stream_event_context_int_field_value(err, event,
+               VPID_FIELD_NAME, &vpid);
        if (ret) {
                goto end;
        }
@@ -652,14 +666,14 @@ end:
 
 static
 void handle_statedump_start(FILE *err, struct debug_info *debug_info,
-               struct bt_ctf_event *event)
+               const struct bt_event *event)
 {
        struct proc_debug_info_sources *proc_dbg_info_src;
        int64_t vpid;
        int ret;
 
        ret = get_stream_event_context_int_field_value(err, event,
-                       "_vpid", &vpid);
+                       VPID_FIELD_NAME, &vpid);
        if (ret) {
                goto end;
        }
@@ -678,21 +692,21 @@ end:
 }
 
 BT_HIDDEN
-void debug_info_handle_event(FILE *err, struct bt_ctf_event *event,
+void debug_info_handle_event(FILE *err, const struct bt_event *event,
                struct debug_info *debug_info)
 {
-       struct bt_ctf_event_class *event_class;
+       const struct bt_event_class *event_class;
        const char *event_name;
        GQuark q_event_name;
 
        if (!debug_info || !event) {
                goto end;
        }
-       event_class = bt_ctf_event_get_class(event);
+       event_class = bt_event_get_class(event);
        if (!event_class) {
                goto end;
        }
-       event_name = bt_ctf_event_class_get_name(event_class);
+       event_name = bt_event_class_get_name(event_class);
        if (!event_name) {
                goto end_put_class;
        }
@@ -727,7 +741,7 @@ void debug_info_handle_event(FILE *err, struct bt_ctf_event *event,
        }
 
 end_put_class:
-       bt_put(event_class);
+       bt_object_put_ref(event_class);
 end:
        return;
 }
This page took 0.027543 seconds and 4 git commands to generate.