A Solaris-era bug causes us to check the offsets of types with no names
against the first such type when ctf_add_type()ing members to a struct
or union. Members with no names (i.e. anonymous struct/union members)
can appear as many times as you like in a struct/union, so this check
should be skipped in this case.
libctf/
* ctf-create.c (membcmp) Skip nameless members.
+2020-07-22 Nick Alcock <nick.alcock@oracle.com>
+
+ * ctf-create.c (membcmp) Skip nameless members.
+
2020-07-22 Nick Alcock <nick.alcock@oracle.com>
* ctf-create.c (ctf_add_member_offset): Support names of ""
ctf_bundle_t *ctb = arg;
ctf_membinfo_t ctm;
+ /* Don't check nameless members (e.g. anonymous structs/unions) against each
+ other. */
+ if (name[0] == 0)
+ return 0;
+
if (ctf_member_info (ctb->ctb_file, ctb->ctb_type, name, &ctm) < 0)
{
ctf_dprintf ("Conflict due to member %s iteration error: %s.\n", name,