[all-commits] [llvm/llvm-project] 7d6fda: [BOLT] Run PatchEntries pass before LongJmp (#137236)
Maksim Panchenko via All-commits
all-commits at lists.llvm.org
Thu May 1 15:09:30 PDT 2025
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 7d6fda4fd3a529bc3e14a2a71ea6ab33883757d2
https://github.com/llvm/llvm-project/commit/7d6fda4fd3a529bc3e14a2a71ea6ab33883757d2
Author: Maksim Panchenko <maks at fb.com>
Date: 2025-05-01 (Thu, 01 May 2025)
Changed paths:
M bolt/lib/Passes/PatchEntries.cpp
M bolt/lib/Rewrite/BinaryPassManager.cpp
Log Message:
-----------
[BOLT] Run PatchEntries pass before LongJmp (#137236)
With --force-patch option, every original function entry point is
overwritten with a trampoline to a new version of the function to
prevent the execution of the original code.
If the function size is too small for the trampoline code, we are forced
to bail out on rewriting the function. That presented a problem on
AArch64 due to LongJmp pass that assumed the presence of the new copy of
the function. If the new copy was not emitted it could have lead to a
relocation overflow.
Run PatchEntries pass before LongJmp and make the latter aware of the
functions that are not going to be emitted. Make --force-patch option
behavior on AArch64 consistent with other architectures.
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