I see the following fail due to the warning,
-trace-frame-collected^M
[warning] Extracting signed value from an unsigned int (num)^M
....
FAIL: gdb.trace/mi-trace-frame-collected.exp: ctf: -trace-frame-collected
In ctf metadata, "num" in "tsv" is defined as unint32_t,
ctf_save_write_metadata (&writer->tcs,
"event {\n\tname = \"tsv\";\n\tid = %u;\n"
"\tfields := struct { \n"
"\t\tuint64_t val;\n"
"\t\tuint32_t num;\n"
"\t};\n"
"};\n", CTF_EVENT_ID_TSV);
so we should read it as unsigned. The patch below fixes the fail by
changing to bt_ctf_get_uint64.
gdb:
2016-07-22 Yao Qi <yao.qi@linaro.org>
* ctf.c (ctf_traceframe_info): Call bt_ctf_get_uint64 rather than
bt_ctf_get_int64.
+2016-07-22 Yao Qi <yao.qi@linaro.org>
+
+ * ctf.c (ctf_traceframe_info): Call bt_ctf_get_uint64 rather than
+ bt_ctf_get_int64.
+
2016-07-21 Tom Tromey <tom@tromey.com>
* rust-lang.c (rust_tuple_struct_type_p): Return false for empty
const struct bt_definition *def;
def = bt_ctf_get_field (event, scope, "num");
- vnum = (int) bt_ctf_get_int64 (def);
+ vnum = (int) bt_ctf_get_uint64 (def);
VEC_safe_push (int, info->tvars, vnum);
}
else