bytecode: propagate `rev_bo` of element
[lttng-modules.git] / lttng-filter-specialize.c
index 4f9a0cd1833da967fdc9fee7fb62cd74d2cb7771..7780f64ad3fe1e7fa8f846ae327c1220dd882a14 100644 (file)
@@ -11,6 +11,8 @@
 #include <lttng-filter.h>
 #include "lib/align.h"
 
+#include <wrapper/compiler_attributes.h>
+
 static ssize_t bytecode_reserve_data(struct bytecode_runtime *runtime,
                size_t align, size_t len)
 {
@@ -246,7 +248,8 @@ static int specialize_get_index(struct bytecode_runtime *runtime,
                }
                case OBJECT_TYPE_STRUCT:
                        /* Only generated by the specialize phase. */
-               case OBJECT_TYPE_VARIANT:       /* Fall-through */
+               case OBJECT_TYPE_VARIANT:
+                       lttng_fallthrough;
                default:
                        printk(KERN_WARNING "Unexpected get index type %d",
                                (int) stack_top->load.object_type);
@@ -398,6 +401,7 @@ static int specialize_context_lookup(struct bytecode_runtime *runtime,
        memset(&gid, 0, sizeof(gid));
        gid.ctx_index = idx;
        gid.elem.type = load->object_type;
+       gid.elem.rev_bo = load->rev_bo;
        data_offset = bytecode_push_data(runtime, &gid,
                __alignof__(gid), sizeof(gid));
        if (data_offset < 0) {
@@ -467,6 +471,7 @@ static int specialize_event_payload_lookup(struct lttng_event *event,
        memset(&gid, 0, sizeof(gid));
        gid.offset = field_offset;
        gid.elem.type = load->object_type;
+       gid.elem.rev_bo = load->rev_bo;
        data_offset = bytecode_push_data(runtime, &gid,
                __alignof__(gid), sizeof(gid));
        if (data_offset < 0) {
This page took 0.023435 seconds and 4 git commands to generate.