Skip to Content.
Sympa Menu

svadev - [svadev] Errors when "make" the safecode

svadev AT lists.siebelschool.illinois.edu

Subject: Svadev mailing list

List archive

[svadev] Errors when "make" the safecode


Chronological Thread 
  • From: lucefe <noviceup AT gmail.com>
  • To: svadev AT cs.uiuc.edu
  • Subject: [svadev] Errors when "make" the safecode
  • Date: Wed, 28 Apr 2010 12:57:11 +0800
  • List-archive: <http://lists.cs.uiuc.edu/pipermail/svadev>
  • List-id: <svadev.cs.uiuc.edu>

Hi,
 
I want to use safecode's array bound checking, and before I do the "make ",
I commentted "if 0, else, endif" away in sc.cpp file, because if not, when I use
the "sc -static-abc=full" command, I will get an error
 "Assertion '0 && "Omega pass is not working right now!" ' failed ".
 
So I do the next changes in the sc.cpp file:
 
static void addStaticGEPCheckingPass(PassManager & Passes) {
   switch (SCConfig.staticCheckType()) {
     case SAFECodeConfiguration::ABC_CHECK_NONE:
       Passes.add(new ArrayBoundsCheckDummy());
       break;
     case SAFECodeConfiguration::ABC_CHECK_LOCAL:
       Passes.add(new ArrayBoundsCheckStruct());
       Passes.add(new ArrayBoundsCheckLocal());
       break;
     case SAFECodeConfiguration::ABC_CHECK_FULL:
 //#if 0
       Passes.add(new ABCPreProcess());
       Passes.add(new ArrayBoundsCheckStruct());
       Passes.add(new ArrayBoundsCheck());
 //#else
 //     assert (0 && "Omega pass is not working right now!");
 //#endif
       break;
   }
 }
 
But, when I do the "make" I got the next error informations:
 
llvm[2]: Linking Debug executable sc
/llvm-projects/llvm/projects/safecode/tools/Sc/Debug/sc.o: In function `ABCPreProcess':
/llvm-projects/llvm/projects/safecode/include/ABCPreProcess.h:47: undefined reference to `safecode::ABCPreProcess::ID'
/llvm-projects/llvm/projects/safecode/include/ABCPreProcess.h:47: undefined reference to `vtable for safecode::ABCPreProcess'
/llvm-projects/llvm/projects/safecode/tools/Sc/Debug/sc.o: In function `ArrayBoundsCheck':
/llvm-projects/llvm/projects/safecode/include/ArrayBoundsCheck.h:112: undefined reference to `safecode::ArrayBoundsCheck::ID'
/llvm-projects/llvm/projects/safecode/include/ArrayBoundsCheck.h:112: undefined reference to `vtable for safecode::ArrayBoundsCheck'
/llvm-projects/llvm/projects/safecode/include/ArrayBoundsCheck.h:112: undefined reference to `vtable for safecode::ArrayBoundsCheck'
collect2: ld 返回 1
make[2]: *** [/llvm-projects/llvm/projects/safecode/Debug/bin/sc] 错误 1
make[2]:正在离开目录 /llvm-projects/llvm/projects/safecode/tools/Sc'
make[1]: *** [Sc/.makeall] 错误 2
make[1]:正在离开目录 /llvm-projects/llvm/projects/safecode/tools'
make: *** [all] 错误 1
Who can help me?



Archive powered by MHonArc 2.6.16.

Top of Page