Add empty plug-in hooks to prevent their elimination by the linker
[babeltrace.git] / formats / ctf-text / ctf-text.c
index 676a59449de8c55962b9534d959f8f485782a0d4..f6151617450c760e2e9fe354aa64c497e39d6a54 100644 (file)
@@ -31,7 +31,7 @@
 #include <babeltrace/ctf/metadata.h>
 #include <babeltrace/babeltrace-internal.h>
 #include <babeltrace/ctf/events-internal.h>
-#include <babeltrace/trace-debuginfo.h>
+#include <babeltrace/trace-debug-info.h>
 #include <inttypes.h>
 #include <sys/mman.h>
 #include <errno.h>
@@ -60,7 +60,8 @@ int opt_all_field_names,
        opt_loglevel_field,
        opt_emf_field,
        opt_callsite_field,
-       opt_delta_field = 1;
+       opt_delta_field = 1,
+       opt_debug_info_full_path;
 
 enum field_item {
        ITEM_SCOPE,
@@ -122,12 +123,12 @@ static GQuark Q_STREAM_PACKET_CONTEXT_TIMESTAMP_BEGIN,
 static
 void __attribute__((constructor)) init_quarks(void)
 {
-       Q_STREAM_PACKET_CONTEXT_TIMESTAMP_BEGIN = g_quark_from_static_string("stream.packet.context.timestamp_begin");
-       Q_STREAM_PACKET_CONTEXT_TIMESTAMP_END = g_quark_from_static_string("stream.packet.context.timestamp_end");
-       Q_STREAM_PACKET_CONTEXT_EVENTS_DISCARDED = g_quark_from_static_string("stream.packet.context.events_discarded");
-       Q_STREAM_PACKET_CONTEXT_CONTENT_SIZE = g_quark_from_static_string("stream.packet.context.content_size");
-       Q_STREAM_PACKET_CONTEXT_PACKET_SIZE = g_quark_from_static_string("stream.packet.context.packet_size");
-       Q_STREAM_PACKET_CONTEXT_PACKET_SEQ_NUM = g_quark_from_static_string("stream.packet.context.packet_seq_num");
+       Q_STREAM_PACKET_CONTEXT_TIMESTAMP_BEGIN = g_quark_from_string("stream.packet.context.timestamp_begin");
+       Q_STREAM_PACKET_CONTEXT_TIMESTAMP_END = g_quark_from_string("stream.packet.context.timestamp_end");
+       Q_STREAM_PACKET_CONTEXT_EVENTS_DISCARDED = g_quark_from_string("stream.packet.context.events_discarded");
+       Q_STREAM_PACKET_CONTEXT_CONTENT_SIZE = g_quark_from_string("stream.packet.context.content_size");
+       Q_STREAM_PACKET_CONTEXT_PACKET_SIZE = g_quark_from_string("stream.packet.context.packet_size");
+       Q_STREAM_PACKET_CONTEXT_PACKET_SEQ_NUM = g_quark_from_string("stream.packet.context.packet_seq_num");
 }
 
 static
@@ -138,6 +139,14 @@ struct ctf_callsite_dups *ctf_trace_callsite_lookup(struct ctf_trace *trace,
                        (gpointer) (unsigned long) callsite_name);
 }
 
+void bt_ctf_text_hook(void)
+{
+       /*
+        * Dummy function to prevent the linker from discarding this format as
+        * "unused" in static builds.
+        */
+}
+
 int print_field(struct bt_definition *definition)
 {
        /* Print all fields in verbose mode */
@@ -546,6 +555,10 @@ struct bt_trace_descriptor *ctf_text_open_trace(const char *path, int flags,
        FILE *fp;
 
        pos = g_new0(struct ctf_text_stream_pos, 1);
+       if (!pos) {
+               goto error;
+       }
+       init_trace_descriptor(&pos->trace_descriptor);
 
        pos->last_real_timestamp = -1ULL;
        pos->last_cycles_timestamp = -1ULL;
@@ -600,7 +613,7 @@ void __attribute__((constructor)) ctf_text_init(void)
 {
        int ret;
 
-       ctf_text_format.name = g_quark_from_static_string("text");
+       ctf_text_format.name = g_quark_from_string("text");
        ret = bt_register_format(&ctf_text_format);
        assert(!ret);
 }
This page took 0.023914 seconds and 4 git commands to generate.