https://sourceware.org/bugzilla/show_bug.cgi?id=33339
Bug ID: 33339 Summary: Wrong member offsets of huge struct or union Product: binutils Version: 2.45 Status: UNCONFIRMED Severity: normal Priority: P2 Component: libctf Assignee: unassigned at sourceware dot org Reporter: martin.pirker1 at chello dot at Target Milestone: --- Created attachment 16289 --> https://sourceware.org/bugzilla/attachment.cgi?id=16289&action=edit proposed patch gcc bug https://gcc.gnu.org/bugzilla/show_bug.cgi?id=121411 exposed a libctf bug. member offsets are wrong for large struct or union types. struct or union size is in bytes, member offsets in bits. Proposed patch should be combined with a (static) assert for (CTF_LSIZE_SENT >= CTF_LSTRUCT_THRESH). Actually CTF_LSIZE_SENT is not a size, it's a marker that the real size is elsewhere (CTF_TYPE_LSIZE). Note there are 3 different cases: 1. ctf_stype_t and ctf_member_t for small size 2. ctf_stype_t and ctf_lmember_t if ctt_size >= CTF_LSTRUCT_THRESH 3. ctf_type_t and ctf_lmember_t if ctt_size == CTF_LSIZE_SENT -- You are receiving this mail because: You are on the CC list for the bug.