[PATCH] D132484: [BOLT] Preserve original LSDA type encoding

Denis via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Aug 23 09:59:51 PDT 2022


treapster created this revision.
treapster added a reviewer: rafaelauler.
Herald added a reviewer: rafauler.
Herald added a subscriber: ayermolo.
Herald added a reviewer: Amir.
Herald added a reviewer: maksfb.
Herald added a project: All.
treapster requested review of this revision.
Herald added subscribers: llvm-commits, yota9.
Herald added a project: LLVM.

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.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D132484

Files:
  bolt/include/bolt/Core/BinaryContext.h
  bolt/include/bolt/Core/BinaryFunction.h
  bolt/lib/Core/BinaryContext.cpp
  bolt/lib/Core/BinaryEmitter.cpp
  bolt/lib/Core/Exceptions.cpp
  bolt/test/runtime/exceptions-no-pie.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D132484.454874.patch
Type: text/x-patch
Size: 7841 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20220823/3633fecf/attachment.bin>


More information about the llvm-commits mailing list