mirror of https://gitee.com/openkylin/linux.git
2d49b721dc
It turns out that the compilers generate conditional branches to the
retpoline thunks like:
5d5: 0f 85 00 00 00 00 jne 5db <cpuidle_reflect+0x22>
5d7: R_X86_64_PLT32 __x86_indirect_thunk_r11-0x4
while the rewrite can only handle JMP/CALL to the thunks. The result
is the alternative wrecking the code. Make sure to skip writing the
alternatives for conditional branches.
Fixes:
|
||
---|---|---|
.. | ||
Documentation | ||
arch/x86 | ||
include/objtool | ||
.gitignore | ||
Build | ||
Makefile | ||
builtin-check.c | ||
builtin-orc.c | ||
check.c | ||
elf.c | ||
objtool.c | ||
orc_dump.c | ||
orc_gen.c | ||
special.c | ||
sync-check.sh | ||
weak.c |