diff options
author | Kristina Bessonova <kbessonova@accesssoftek.com> | 2022-12-18 14:21:52 +0200 |
---|---|---|
committer | Kristina Bessonova <kbessonova@accesssoftek.com> | 2022-12-18 14:25:27 +0200 |
commit | 54418125191ce83af65569348301a23a3dd892a5 (patch) | |
tree | b24ea0051334d5f22fb011ba0af1744970635d6f /clang/lib/Lex/ModuleMap.cpp | |
parent | 6dcf9371490e5d5d09d87043712be333723c6881 (diff) | |
download | llvm-54418125191ce83af65569348301a23a3dd892a5.zip llvm-54418125191ce83af65569348301a23a3dd892a5.tar.gz llvm-54418125191ce83af65569348301a23a3dd892a5.tar.bz2 |
[llvm-objdump][AArch64] Fix ADRP target label calculation
This patch makes ADRP target label address calculations the same as
label address calculations (see AArch64InstPrinter::printAdrpLabel()).
Otherwise the target label looks misleading as ADRP's immediate offset is,
actually, not an offset to this PC, but an offset to the current PC's
page address in pages.
See for example, `llvm-objdump/ELF/AArch64/pcrel-address.yaml`.
Before this patch the target label `<_start+0x80>` represents the
address `0x200100 + 0x80` while `0x220000` is expected.
Note that with this patch llvm-objdump output matches GNU objdump.
Reviewed By: simon_tatham
Differential Revision: https://reviews.llvm.org/D139407
Diffstat (limited to 'clang/lib/Lex/ModuleMap.cpp')
0 files changed, 0 insertions, 0 deletions