diff options
author | Georgii Rymar <grimar@accesssoftek.com> | 2020-09-28 14:43:19 +0300 |
---|---|---|
committer | Georgii Rymar <grimar@accesssoftek.com> | 2020-09-28 16:22:56 +0300 |
commit | 4ba00619ee70be6eda1d6fbd37471636145d1140 (patch) | |
tree | b25a4f991fbd92a4240b3711015cf139ee6960c1 /lldb/unittests/ScriptInterpreter/Python | |
parent | fdfe324da195ebd9b9c691f006b0d6ccc64365e1 (diff) | |
download | llvm-4ba00619ee70be6eda1d6fbd37471636145d1140.zip llvm-4ba00619ee70be6eda1d6fbd37471636145d1140.tar.gz llvm-4ba00619ee70be6eda1d6fbd37471636145d1140.tar.bz2 |
[llvm-readobj/elf] - Fix the PREL31 relocation computation used for dumping arm32 unwind info (-u).
This is a part of https://bugs.llvm.org/show_bug.cgi?id=47581.
We have the following computation:
```
(1) uint64_t Location = Address & 0x7fffffff;
(2) if (Location & 0x04000000)
(3) Location |= (uint64_t) ~0x7fffffff;
(4) return Location + Place;
```
At line 2 there is a mistype. The constant should be `0x40000000`,
not `0x04000000`, because the intention here is to sign extend the `Location`,
which is the 31 bit signed value.
Differential revision: https://reviews.llvm.org/D88407
Diffstat (limited to 'lldb/unittests/ScriptInterpreter/Python')
0 files changed, 0 insertions, 0 deletions