diff options
author | Shoaib Meenai <smeenai@fb.com> | 2019-10-16 21:41:05 +0000 |
---|---|---|
committer | Shoaib Meenai <smeenai@fb.com> | 2019-10-16 21:41:05 +0000 |
commit | 6d1891c508fecf189d1d76b43740b144b91aae23 (patch) | |
tree | 2b145c1be35e12b7d75ce2b798e223f5fd8a738b /lldb/packages/Python/lldbsuite/test/sample_test/TestSampleInlineTest.py | |
parent | 34ed76e1803cd5173aeb9460824b9be65f2b326f (diff) | |
download | bcm5719-llvm-6d1891c508fecf189d1d76b43740b144b91aae23.tar.gz bcm5719-llvm-6d1891c508fecf189d1d76b43740b144b91aae23.zip |
[AArch64] Fix offset calculation
r374772 changed Offset to be an int64_t but left NewOffset as an int.
Scale is unsigned, so in the calculation `Offset - NewOffset * Scale`,
`NewOffset * Scale` was promoted to unsigned and was then zero-extended
to 64 bits, leading to an incorrect computation which manifested as an
out-of-memory when building the Swift standard library for Android
aarch64. Promote NewOffset to int64_t to fix this, and promote
EmittableOffset as well, since its one user passes it to a function
which takes an int64_t anyway.
Test case based on a suggestion by Sander de Smalen!
Differential Revision: https://reviews.llvm.org/D69018
llvm-svn: 375043
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test/sample_test/TestSampleInlineTest.py')
0 files changed, 0 insertions, 0 deletions