[LLVMdev] Possible bug in DFAPacketizer::ReadTable
adasgupt at codeaurora.org
Mon Dec 10 09:30:09 PST 2012
Thanks for identifying the bug. I'll confirm and fix. Is there a bug
report open for this?
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
hosted by The Linux Foundation
On 12/10/2012 4:48 AM, Carlos Sánchez de La Lama wrote:
> Hi all,
> I have found what I think it is a bug in DFAPacketizer::ReadTable.
> When finding NextStateInTable to cache all transitions belonging to a
> state into CachedTable, ReadTable does not check bounds:
> unsigned ThisState = DFAStateEntryTable[state]; |
> unsigned NextStateInTable = DFAStateEntryTable[state+1];
> which makes NextStateInTable get a random value when state == <last
> state in table>. Behaviour changes depending on gcc version / platform
> / ..., but in some cases might lead to segmentation faults.
> I have checked the problem happens in Hexagon tests (for example
> fadd.ll test) but does not break badly there (though CachedTable will
> get some unneded and random data rows).
> Probably making tblgen add an end-of-table marker in
> <Target>DFAStateEntryTable is the easiest solution.
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the llvm-dev