cl::desc("Apply forward-edge control-flow integrity"),
cl::init(false));
-// Note that this option is linked to the cfi-enforcing option above: if
-// cfi-enforcing is set, then the cfi-func-name option is entirely ignored. If
-// cfi-enforcing is false and no cfi-func-name is set, then a default function
-// will be generated that ignores all CFI violations. The expected signature for
-// functions called with CFI violations is
-//
-// void (i8*, i8*)
-//
-// The first pointer is a C string containing the name of the function in which
-// the violation occurs, and the second pointer is the pointer that violated
-// CFI.
-cl::opt<std::string>
-CFIFuncName("cfi-func-name", cl::desc("The name of the CFI function to call"),
- cl::init(""));
-
// Common utility function tightly tied to the options listed here. Initializes
// a TargetOptions object with CodeGen flags and returns it.
static inline TargetOptions InitTargetOptionsFromCodeGenFlags() {
DataSections(false), UniqueSectionNames(true), TrapUnreachable(false),
TrapFuncName(), FloatABIType(FloatABI::Default),
AllowFPOpFusion(FPOpFusion::Standard), JTType(JumpTable::Single),
- FCFI(false), ThreadModel(ThreadModel::POSIX),
- CFIFuncName() {}
+ FCFI(false), ThreadModel(ThreadModel::POSIX) {}
/// PrintMachineCode - This flag is enabled when the -print-machineinstrs
/// option is specified on the command line, and should enable debugging
/// for things like atomics
ThreadModel::Model ThreadModel;
- /// getCFIFuncName - If this returns a non-empty string, then this is the
- /// name of the function that will be called for each CFI violation in
- /// non-enforcing mode.
- std::string CFIFuncName;
- StringRef getCFIFuncName() const;
-
/// Machine level options.
MCTargetOptions MCOptions;
};
ARE_EQUAL(JTType) &&
ARE_EQUAL(FCFI) &&
ARE_EQUAL(ThreadModel) &&
- ARE_EQUAL(CFIFuncName) &&
ARE_EQUAL(MCOptions);
#undef ARE_EQUAL
}
StringRef TargetOptions::getTrapFunctionName() const {
return TrapFuncName;
}
-
-/// getCFIFuncName - If this returns a non-empty string, then it is the name of
-/// the function that gets called on CFI violations in CFI non-enforcing mode.
-StringRef TargetOptions::getCFIFuncName() const {
- return CFIFuncName;
-}