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.