|author||Kai Wang <kaiw@FreeBSD.org>||2014-01-20 01:35:14 +0000|
|committer||Kai Wang <kaiw@FreeBSD.org>||2014-01-20 01:35:14 +0000|
Clang 3.4 will sometimes emit DIE for struct/union member before
emitting the DIE for the type of that member. ctfconvert can not handle this properly and will calculate a wrong member bit offset. Same struct/union type from different .o file will be treated as different types when their member bit offsets are different, and gets added/merged multiple times. This will in turn cause many other structs/pointers/typedefs that refer to the duplicated struct/union gets added/merged multiple times and eventually causes numerous duplicated CTF types in the kernel.debug file. The simple workaround here is to make use of DW_AT_byte_size attribute of the member DIE to calculate the bits occupied by the member's type, without actually resolving the type.
Notes: svn path=/projects/elftoolchain/; revision=260897
Diffstat (limited to 'cddl/contrib/opensolaris/head')
0 files changed, 0 insertions, 0 deletions