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:07:19 +0000 (14:07 -0400)
commit6c911f6a025e0a4caad24300ef67ad324d2155e1
tree858d438d5c025561a0fd6e123af54dd22792fb03
parent4041a53ec3f5f3250a312ba0b7c2576ef130e501
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.024867 seconds and 4 git commands to generate.