diff options
| author | Ed Maste <emaste@FreeBSD.org> | 2018-03-16 02:29:38 +0000 |
|---|---|---|
| committer | Ed Maste <emaste@FreeBSD.org> | 2026-10-23 15:53:05 +0000 |
| commit | bea44a83631704110de8bbd7693b683c81d4fe55 (patch) | |
| tree | 114571b7ecc2100766c3e4ba6281bc6adb1afca1 /contrib/llvm-project/lldb/source/API/liblldb-private.exports | |
| parent | ffcd78861eda41d5ff00a39120f46dbbe8f814b5 (diff) | |
External retpoline thunks for amd64 and i386 were added in commit
74d971fe1561 ("x86: Add external retpoline thunk"). Use them when
WITH_KERNEL_RETPOLINE is set.
There should not be any material performance impact -- the call sites
are identical, and this just replaces (on amd64) compiler-generated
__llvm_retpoline_r11 functions in each object with our
__x86_indirect_thunk_r11.
After this change we could implement boot-time patching, replacing
__x86_indirect_thunk_r11 with just jmp %r11 when retpoline is not
required.
Note on i386: An i386 build WITH_KERNEL_RETPOLINE was successful, but
has not been extensively tested. Clang may use registers other than
just eax on i386 and so in the future additional thunks beyond the one
added in 74d971fe1561 could be required for i386. Patches are welcome
if this is important to you.
Reviewed by: kib
Sponsored by: The FreeBSD Foundation
Diffstat (limited to 'contrib/llvm-project/lldb/source/API/liblldb-private.exports')
0 files changed, 0 insertions, 0 deletions
