Fix: flt.lttng-utils.debug-info: `ip` field is 32bit on 32bit cpus
authorFrancis Deslauriers <francis.deslauriers@efficios.com>
Tue, 7 May 2019 21:32:29 +0000 (17:32 -0400)
committerJérémie Galarneau <jeremie.galarneau@efficios.com>
Wed, 8 May 2019 18:22:25 +0000 (14:22 -0400)
commit8e78cde2c6993d286decb80e497c1b5dd039538d
tree6f04d0d2eec20dac189b14b93e2ccb97b919f9a1
parent54795cc700337a20695aed2438a5908039cf806b
Fix: flt.lttng-utils.debug-info: `ip` field is 32bit on 32bit cpus

Issue
=====
The debug-info component enforces that the `ip` field used to resolve
addresses is a 64bit integer, but the LTTng UST `ip` context field is
32bit on a 32bit cpu. A debug-info component thus fail to recognize that
the trace has all the necessary information to resolve the addresses.

Here is the metadata representing the context on a 32bit system:
        event.context := struct {
                integer { size = 32; align = 8; signed = 1; encoding = none; base = 10; } _vpid;
                integer { size = 32; align = 8; signed = 0; encoding = none; base = 16; } _ip;
        };

Here is the metadata representing the context on a 64bit system:
        event.context := struct {
                integer { size = 32; align = 8; signed = 1; encoding = none; base = 10; } _vpid;
                integer { size = 64; align = 8; signed = 0; encoding = none; base = 16; } _ip;
        };

Solution
========
Remove the integer size check in the
`is_event_common_ctx_dbg_info_compatible()` function.

Drawback
========
None.

Signed-off-by: Francis Deslauriers <francis.deslauriers@efficios.com>
Change-Id: I3938a5f71a2406876573a5aa381f7d3dd4d632d6
Reviewed-on: https://review.lttng.org/c/babeltrace/+/1270
Reviewed-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
plugins/lttng-utils/debug-info/utils.c
This page took 0.024917 seconds and 4 git commands to generate.