diff options
author | Fangrui Song <maskray@google.com> | 2019-08-21 15:30:55 +0000 |
---|---|---|
committer | Fangrui Song <maskray@google.com> | 2019-08-21 15:30:55 +0000 |
commit | 2d37bf843c77bdbf0feaf0c972c509443f5cca7d (patch) | |
tree | b2b7aad9ddb5bc651adc597e22eab70916f414a9 /clang/lib/Basic/FileManager.cpp | |
parent | 98f800dabecdcd9ec7aefc43a4612a6fefc19aaf (diff) | |
download | bcm5719-llvm-2d37bf843c77bdbf0feaf0c972c509443f5cca7d.tar.gz bcm5719-llvm-2d37bf843c77bdbf0feaf0c972c509443f5cca7d.zip |
[ELF][ARM] Simplify some llvm-objdump tests with both ARM/Thumb states
llvm-objdump can switch between ARM/Thumb states after D60927.
In a few lld tests, we run both
* llvm-objdump -d -triple=thumbv7a-none-linux-gnueabi %t
* llvm-objdump -d -triple=armv7a-none-linux-gnueabi %t
to test ARM/Thumb parts of the same file. In many cases we can just
run one command. There is a problem that prevents us from cleaning
more tests (e.g. test/ELF/arm-thumb-interwork-thunk.s):
In llvm-objdump, while we have ARM/Thumb (primary and secondary)
MCDisassembler and MCSubtargetInfo, we have just one MCInstrAnalysis
which is used to resolve the targets of calls in both ARM/Thumb parts.
// ThumbMCInstrAnalysis evaluating ARM parts or ARMMCInstrAnalysis evaluating Thumb parts
// will have incorrect offsets.
// An example of llvm-objdump -d -triple=thumbv7a on ARM part:
1304: 3d ff ff fa blx #-780 # no <...>
1308: 06 00 00 ea b #24 <arm_caller+0x24> # wrong target due to wrong offset
Reviewed By: peter.smith
Differential Revision: https://reviews.llvm.org/D66539
llvm-svn: 369535
Diffstat (limited to 'clang/lib/Basic/FileManager.cpp')
0 files changed, 0 insertions, 0 deletions