diff options
author | zhijian <zhijian@ca.ibm.com> | 2021-07-15 16:54:22 -0400 |
---|---|---|
committer | zhijian <zhijian@ca.ibm.com> | 2021-07-15 16:54:22 -0400 |
commit | af06f7bcf35f146fd70e4424bbec62dadc4dba70 (patch) | |
tree | b8ad808e2f818b02094a05f77cf1159a3566f287 /llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp | |
parent | a59165b01778a3b02c510a96951d115d39babd86 (diff) | |
download | llvm-af06f7bcf35f146fd70e4424bbec62dadc4dba70.zip llvm-af06f7bcf35f146fd70e4424bbec62dadc4dba70.tar.gz llvm-af06f7bcf35f146fd70e4424bbec62dadc4dba70.tar.bz2 |
[AIX][XCOFF][Bug-Fixed] parse the parameter type of the traceback table
Summary:
in the function PPCFunctionInfo::getParmsType(), there is if (Bits > 31 || (Bits > 30 && (Elt != FixedType || hasVectorParms())))
when the Bit is 31 and the Elt is not FixedType(for example the Elt is FloatingType) , the 31th bit will be not encoded, it leave the bit as zero, when the function Expected<SmallString<32>> XCOFF::parseParmsType() the original implement
**// unsigned ParmsNum = FixedParmsNum + FloatingParmsNum;
while (Bits < 32 && ParsedNum < ParmsNum) {
...
}//**
it will look the 31 bits (zero) as FixedType. which should be FloatingType, and get a error.
Reviewers: Jason Liu,ZarkoCA
Differential Revision: https://reviews.llvm.org/D105023
Diffstat (limited to 'llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp')
0 files changed, 0 insertions, 0 deletions