The number of events and the type index should be encoded in ULEB128,
but they were incorrctly encoded in LEB128. The smallest number with
which its LEB128 and ULEB128 encodings are different is 64.
There's no way we can generate 64 events in the C++ toolchain
implementation so we can't test that, but the attached test tests when
the type index is 64.
Details
Details
Diff Detail
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
Comment Actions
Man, these kind of bug are so common, and so hard to test and occur across so many different tools.. I wonder if we would have made a different choice if we have known how many issues LEB128 would cause.
Comment Actions
Yes that's unfortunate... By the way the title should have been "decoding", not "encoding".