[all-commits] [llvm/llvm-project] e6724c: [BOLT] Add reading support for Linux ORC sections
maksfb via All-commits
all-commits at lists.llvm.org
Thu Jul 13 11:07:49 PDT 2023
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: e6724cbd8ae34909d524f6d303d88928975bb85d
https://github.com/llvm/llvm-project/commit/e6724cbd8ae34909d524f6d303d88928975bb85d
Author: Maksim Panchenko <maks at fb.com>
Date: 2023-07-13 (Thu, 13 Jul 2023)
Changed paths:
M bolt/include/bolt/Core/BinaryFunction.h
M bolt/lib/Rewrite/LinuxKernelRewriter.cpp
Log Message:
-----------
[BOLT] Add reading support for Linux ORC sections
Read ORC (oops rewind capability) info used for unwinding the stack by
Linux Kernel. The info is stored in .orc_unwind and .orc_unwind_ip
sections. There is also a related .orc_lookup section that is being
populated by the kernel during runtime. Contents of the sections are
sorted for quicker lookup by a post-link objtool.
Unless we modify stack access instructions, we don't have to change ORC
info attributed to instructions in the binary. However, we need to
update instruction addresses and sort both sections based on the new
layout.
For pretty printing, we add "--print-orc" option that prints ORC info
next to instructions in code dumps.
Reviewed By: Amir
Differential Revision: https://reviews.llvm.org/D154815
More information about the All-commits
mailing list