]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
ctf_add_type(): when looking up an integer or floating point type in the
authormarkj <markj@FreeBSD.org>
Sun, 10 May 2015 21:39:24 +0000 (21:39 +0000)
committermarkj <markj@FreeBSD.org>
Sun, 10 May 2015 21:39:24 +0000 (21:39 +0000)
commit2c4686751c3442d00e8ca8a4684be7de7901df5a
tree6b678e85c73a5c729ecc4e4a0cf188da3436a4bf
parent6d811dd54182f5c975109aeed42f2ec76b7830fd
ctf_add_type(): when looking up an integer or floating point type in the
list of pending dynamic type definitions, a match on the type name is not
sufficient - we need to compare the type encodings as well. For example,
bitfields have their own distinct type definitions which share the name of
the underlying integer type, and these types aren't generally
interchangeable.

This bug was causing the following libdtrace error when attempting to trace
the th_flags member of a struct tcphdr:
  cg: bad field: off 104 type <32877> bits 539620016

Reported by: rwatson
MFC after: 3 weeks
cddl/contrib/opensolaris/common/ctf/ctf_create.c