diff options
author | Fangrui Song <i@maskray.me> | 2024-05-20 00:13:09 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-05-20 00:13:09 -0700 |
commit | dd8cb3d4f120edcf5fc3939594ee086c44010274 (patch) | |
tree | a48e0d9f4d1218aefc79580f2aa7cc0acf7f8954 /clang/lib/ExtractAPI/Serialization/SymbolGraphSerializer.cpp | |
parent | 073488cb1f2ca131253efa3171bd56be34ba9fb3 (diff) | |
download | llvm-dd8cb3d4f120edcf5fc3939594ee086c44010274.zip llvm-dd8cb3d4f120edcf5fc3939594ee086c44010274.tar.gz llvm-dd8cb3d4f120edcf5fc3939594ee086c44010274.tar.bz2 |
[ELF] Support high address DW_EH_sdata4 for ELFCLASS32
When the address pointer encoding in FDEs uses
DW_EH_PE_absptr|DW_EH_PE_sdata4, the address is sign-extended to 64-bit
by `readFdeAddr`. We should truncate the address to 32-bit for
ELFCLASS32. Otherwise, `isInt<32>(pc - va)` could be false, leading to a
spurious error in `getFdeData`.
In LLVM, this appears a MIPS-specific issue.
Fix #88852
Pull Request: https://github.com/llvm/llvm-project/pull/92438
Diffstat (limited to 'clang/lib/ExtractAPI/Serialization/SymbolGraphSerializer.cpp')
0 files changed, 0 insertions, 0 deletions