[all-commits] [llvm/llvm-project] 553c23: [BOLT] Preserve original LSDA type encoding
treapster via All-commits
all-commits at lists.llvm.org
Wed Sep 14 09:40:21 PDT 2022
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 553c23895217cfe24404a50dede2416c9e1a3a5e
https://github.com/llvm/llvm-project/commit/553c23895217cfe24404a50dede2416c9e1a3a5e
Author: revunov.denis at huawei.com <revunov.denis at huawei-partners.com>
Date: 2022-09-14 (Wed, 14 Sep 2022)
Changed paths:
M bolt/include/bolt/Core/BinaryContext.h
M bolt/include/bolt/Core/BinaryFunction.h
M bolt/lib/Core/BinaryContext.cpp
M bolt/lib/Core/BinaryEmitter.cpp
M bolt/lib/Core/Exceptions.cpp
A bolt/test/runtime/exceptions-no-pie.cpp
Log Message:
-----------
[BOLT] Preserve original LSDA type encoding
In non-pie binaries BOLT unconditionally converted type encoding
from indirect to absptr, which broke std exceptions since pointers
to their typeinfo were only assigned at runtime in .data section.
In this patch we preserve original encoding so that indirect
remains indirect and can be resolved at runtime, and absolute remains absolute.
Reviewed By: rafauler, maksfb
Differential Revision: https://reviews.llvm.org/D132484
More information about the All-commits
mailing list