/Qspectre-jmp
Causes the compiler to generate an int3
instruction (software interrupt) after unconditional direct branches. This option extends the /Qspectre
flag and mitigates speculative execution side-channel attacks on unconditional direct branches.
Syntax
/Qspectre-jmp
Remarks
/Qspectre-jmp
causes the compiler to detect executable instructions following unconditional direct branches. An int3
is inserted following unconditional direct branches to ensure that no instructions are speculatively executed beyond the branch. For example, the compiler mitigates jmp addr
by adding an int3
instruction following the jmp
instruction as shown here:
jmp addr
int3
/Qspectre-jmp
is off by default. It's supported for all optimization levels.
Set this compiler option programmatically
To set this option programmatically, see VCCLCompilerTool.AdditionalOptions property.
See also
/Qspectre
/Qspectre-jmp
/Qspectre-load
/Qspectre-load-cf
/Q options (Low-Level Operations)
MSVC compiler options
MSVC compiler command-line syntax
Feedback
https://aka.ms/ContentUserFeedback.
Kommer snart: Under hela 2024 kommer vi att fasa ut GitHub-problem som feedbackmekanism för innehåll och ersätta det med ett nytt feedbacksystem. Mer information finns i:Skicka och visa feedback för