libctf incorrectly handles clang anonymous unions
clang emits anonymous, inner unions in dwarf in a different way from gcc. This causes two problems:
1. It triggers an existing bug in libctf that causes libctf to enter an infinite loop
2. It emits the nested structure as a sibling of the member. So when processing the structure the first time, we need to actually go through and process the inner type to be consistent with the pass rules in ctf_dwarf.c.
Updated by Electric Monk about 1 year ago
- Status changed from New to Closed
- % Done changed from 90 to 100
commit 3df9f0641f28754051d5e82c6457527cf4af1258 Author: Robert Mustacchi <firstname.lastname@example.org> Date: 2020-02-13T05:12:47.000Z 12227 libctf incorrectly handles clang anonymous unions Reviewed by: John Levon <email@example.com> Approved by: Dan McDonald <firstname.lastname@example.org>