diff options
| author | Roman Divacky <rdivacky@FreeBSD.org> | 2009-10-14 17:57:32 +0000 | 
|---|---|---|
| committer | Roman Divacky <rdivacky@FreeBSD.org> | 2009-10-14 17:57:32 +0000 | 
| commit | 59850d0874429601812bc13408cb1f776649027c (patch) | |
| tree | b21f6de4e08b89bb7931806bab798fc2a5e3a686 /lib/CodeGen/StackProtector.cpp | |
| parent | 18f153bdb9db52e7089a2d5293b96c45a3124a26 (diff) | |
Notes
Diffstat (limited to 'lib/CodeGen/StackProtector.cpp')
| -rw-r--r-- | lib/CodeGen/StackProtector.cpp | 13 | 
1 files changed, 8 insertions, 5 deletions
diff --git a/lib/CodeGen/StackProtector.cpp b/lib/CodeGen/StackProtector.cpp index c179f1e3df97..350bc6e1ade7 100644 --- a/lib/CodeGen/StackProtector.cpp +++ b/lib/CodeGen/StackProtector.cpp @@ -148,7 +148,8 @@ bool StackProtector::InsertStackProtectors() {        //     StackGuard = load __stack_chk_guard        //     call void @llvm.stackprotect.create(StackGuard, StackGuardSlot)        //  -      PointerType *PtrTy = PointerType::getUnqual(Type::Int8Ty); +      PointerType *PtrTy = PointerType::getUnqual( +          Type::getInt8Ty(RI->getContext()));        StackGuardVar = M->getOrInsertGlobal("__stack_chk_guard", PtrTy);        BasicBlock &Entry = F->getEntryBlock(); @@ -201,7 +202,7 @@ bool StackProtector::InsertStackProtectors() {      // Generate the stack protector instructions in the old basic block.      LoadInst *LI1 = new LoadInst(StackGuardVar, "", false, BB);      LoadInst *LI2 = new LoadInst(AI, "", true, BB); -    ICmpInst *Cmp = new ICmpInst(CmpInst::ICMP_EQ, LI1, LI2, "", BB); +    ICmpInst *Cmp = new ICmpInst(*BB, CmpInst::ICMP_EQ, LI1, LI2, "");      BranchInst::Create(NewBB, FailBB, Cmp, BB);    } @@ -215,10 +216,12 @@ bool StackProtector::InsertStackProtectors() {  /// CreateFailBB - Create a basic block to jump to when the stack protector  /// check fails.  BasicBlock *StackProtector::CreateFailBB() { -  BasicBlock *FailBB = BasicBlock::Create("CallStackCheckFailBlk", F); +  BasicBlock *FailBB = BasicBlock::Create(F->getContext(), +                                          "CallStackCheckFailBlk", F);    Constant *StackChkFail = -    M->getOrInsertFunction("__stack_chk_fail", Type::VoidTy, NULL); +    M->getOrInsertFunction("__stack_chk_fail", +                           Type::getVoidTy(F->getContext()), NULL);    CallInst::Create(StackChkFail, "", FailBB); -  new UnreachableInst(FailBB); +  new UnreachableInst(F->getContext(), FailBB);    return FailBB;  }  | 
