From: Yao Qi Date: Fri, 22 Jul 2016 15:31:41 +0000 (+0100) Subject: Get "num" as unsigned in ctf X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=eed2386e45968fa4fee8d093895f4789044fb077;p=binutils-gdb.git Get "num" as unsigned in ctf 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 * ctf.c (ctf_traceframe_info): Call bt_ctf_get_uint64 rather than bt_ctf_get_int64. --- diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 4a585355cf3..f088912a228 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2016-07-22 Yao Qi + + * ctf.c (ctf_traceframe_info): Call bt_ctf_get_uint64 rather than + bt_ctf_get_int64. + 2016-07-21 Tom Tromey * rust-lang.c (rust_tuple_struct_type_p): Return false for empty diff --git a/gdb/ctf.c b/gdb/ctf.c index 795c365ab3a..0e13cc1374b 100644 --- a/gdb/ctf.c +++ b/gdb/ctf.c @@ -1692,7 +1692,7 @@ ctf_traceframe_info (struct target_ops *self) 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