[all-commits] [llvm/llvm-project] 4f805f: BOLT asserts on out-of-range pending relocs
Paschalis Mpeis via All-commits
all-commits at lists.llvm.org
Thu Feb 20 08:46:07 PST 2025
Branch: refs/heads/users/paschalis-mpeis/skip-oob-pending-relocs
Home: https://github.com/llvm/llvm-project
Commit: 4f805f02392e1f0258bb8dc810587d31e3fd4e19
https://github.com/llvm/llvm-project/commit/4f805f02392e1f0258bb8dc810587d31e3fd4e19
Author: Paschalis Mpeis <Paschalis.Mpeis at arm.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M bolt/unittests/Core/BinaryContext.cpp
Log Message:
-----------
BOLT asserts on out-of-range pending relocs
Commit: bd3d4ff48f030adfee9aa51127a3b8f3b36547bb
https://github.com/llvm/llvm-project/commit/bd3d4ff48f030adfee9aa51127a3b8f3b36547bb
Author: Paschalis Mpeis <Paschalis.Mpeis at arm.com>
Date: 2025-02-19 (Wed, 19 Feb 2025)
Changed paths:
M bolt/include/bolt/Core/BinarySection.h
M bolt/include/bolt/Core/Relocation.h
M bolt/lib/Core/BinaryFunction.cpp
M bolt/lib/Core/BinarySection.cpp
M bolt/lib/Core/Relocation.cpp
M bolt/unittests/Core/BinaryContext.cpp
Log Message:
-----------
[BOLT] Skip flushing optional out-of-range pending relocs
When a pending relocation is created it is also marked whether it is
optional or not. It can be optional when such relocation is added as
part of an optimization (i.e., `scanExternalRefs`).
When bolt tries to `flushPendingRelocations`, it safely skips any
optional relocations that cannot be encoded.
Background:
BOLT, as part of scanExternalRefs, identifies external references from
calls and creates some pending relocations for them. Those when flushed
will update references to point to the optimized functions. This
optimization can be disabled using `--no-scan`.
BOLT can assert if any of these pending relocations cannot be encoded.
This patch does not disable this optimization but instead selectively
applies it given that a pending relocation is optional.
Commit: d46158c9b560ba2f4c8543372eb5820bb1cc6bbb
https://github.com/llvm/llvm-project/commit/d46158c9b560ba2f4c8543372eb5820bb1cc6bbb
Author: Paschalis Mpeis <Paschalis.Mpeis at arm.com>
Date: 2025-02-20 (Thu, 20 Feb 2025)
Changed paths:
M bolt/lib/Core/BinarySection.cpp
M bolt/unittests/Core/BinaryContext.cpp
M bolt/unittests/Core/CMakeLists.txt
Log Message:
-----------
Ensure PatchEntries runs
Allow skipping pending relocations only when `-force-patch` is set.
Otherwise, exit with a relevant message.
Compare: https://github.com/llvm/llvm-project/compare/b3902db9e7c4...d46158c9b560
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list