mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-07-23 14:25:07 +00:00
Revert "Insert random noops to increase security against ROP attacks (llvm)"
This reverts commit: http://reviews.llvm.org/D3392 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@225948 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -207,12 +207,6 @@ FunctionSections("function-sections",
|
||||
cl::desc("Emit functions into separate sections"),
|
||||
cl::init(false));
|
||||
|
||||
cl::opt<bool>
|
||||
NoopInsertion("noop-insertion",
|
||||
cl::desc("Randomly add Noop instructions to create fine-grained "
|
||||
"code layout diversity."),
|
||||
cl::init(false));
|
||||
|
||||
cl::opt<llvm::JumpTable::JumpTableType>
|
||||
JTableType("jump-table-type",
|
||||
cl::desc("Choose the type of Jump-Instruction Table for jumptable."),
|
||||
@@ -290,7 +284,6 @@ static inline TargetOptions InitTargetOptionsFromCodeGenFlags() {
|
||||
Options.UseInitArray = !UseCtors;
|
||||
Options.DataSections = DataSections;
|
||||
Options.FunctionSections = FunctionSections;
|
||||
Options.NoopInsertion = NoopInsertion;
|
||||
|
||||
Options.MCOptions = InitMCTargetOptionsFromFlags();
|
||||
Options.JTType = JTableType;
|
||||
|
@@ -1,44 +0,0 @@
|
||||
//===-- NoopInsertion.h - Noop Insertion ------------------------*- C++ -*-===//
|
||||
//
|
||||
// The LLVM Compiler Infrastructure
|
||||
//
|
||||
// This file is distributed under the University of Illinois Open Source
|
||||
// License. See LICENSE.TXT for details.
|
||||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
//
|
||||
// This pass adds fine-grained diversity by displacing code using randomly
|
||||
// placed (optionally target supplied) Noop instructions.
|
||||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#ifndef LLVM_CODEGEN_NOOPINSERTION_H
|
||||
#define LLVM_CODEGEN_NOOPINSERTION_H
|
||||
|
||||
#include "llvm/CodeGen/MachineFunctionPass.h"
|
||||
#include <random>
|
||||
|
||||
namespace llvm {
|
||||
|
||||
class RandomNumberGenerator;
|
||||
|
||||
class NoopInsertion : public MachineFunctionPass {
|
||||
public:
|
||||
static char ID;
|
||||
|
||||
NoopInsertion();
|
||||
|
||||
private:
|
||||
bool runOnMachineFunction(MachineFunction &MF) override;
|
||||
|
||||
void getAnalysisUsage(AnalysisUsage &AU) const override;
|
||||
|
||||
std::unique_ptr<RandomNumberGenerator> RNG;
|
||||
|
||||
// Uniform real distribution from 0 to 100
|
||||
std::uniform_real_distribution<double> Distribution =
|
||||
std::uniform_real_distribution<double>(0, 100);
|
||||
};
|
||||
}
|
||||
|
||||
#endif // LLVM_CODEGEN_NOOPINSERTION_H
|
@@ -603,10 +603,6 @@ namespace llvm {
|
||||
/// the intrinsic for later emission to the StackMap.
|
||||
extern char &StackMapLivenessID;
|
||||
|
||||
/// NoopInsertion - This pass adds fine-grained diversity by displacing code
|
||||
/// using randomly placed (optionally target supplied) Noop instructions.
|
||||
extern char &NoopInsertionID;
|
||||
|
||||
/// createJumpInstrTables - This pass creates jump-instruction tables.
|
||||
ModulePass *createJumpInstrTablesPass();
|
||||
|
||||
|
Reference in New Issue
Block a user