Skip to Content.
Sympa Menu

svadev - Re: [svadev] safecode

svadev AT lists.siebelschool.illinois.edu

Subject: Svadev mailing list

List archive

Re: [svadev] safecode


Chronological Thread 
  • From: John Criswell <criswell AT illinois.edu>
  • To: Daniel Huang <dehuang AT fas.harvard.edu>
  • Cc: svadev AT cs.illinois.edu
  • Subject: Re: [svadev] safecode
  • Date: Thu, 24 May 2012 18:04:15 -0500
  • List-archive: <http://lists.cs.uiuc.edu/pipermail/svadev>
  • List-id: <svadev.cs.uiuc.edu>
  • Organization: University of Illinois

On 5/24/12 5:56 PM, Daniel Huang wrote: I added -DPOOLALLOC but still haven't been able to get any programs to emit poolalloc or poolinit instructions. Perhaps I misunderstood you, but I modified safecode's Makefile.common SC_FLAGS with -DPOOLALLOC.

Did you recompile the code?  Did you reinstall the SAFECode libLTO after the recompile?  Are you giving clang the proper command-line arguments to make it use libLTO?

Poolalloc is performed by libLTO.  If you aren't using libLTO (or if you've installed it incorrectly), then the automatic pool allocation transform won't be run.  You need to use the SAFECode libLTO; directions can be found in the SAFECode Install Guide and User's Guide on the SAFECode web page.


Also, do you have an example program which will cause the tool to emit these instructions?

With the SAFECode heuristic, pretty much any code with memory allocations will generate pool functions.  You might want to try using code examples from the SAFECode or Poolalloc papers.

I'm really curious to see where pools are created and destroyed. For example, can they be created in the middle of the function, or are they only ever created at the beginning of a function and destroyed at the end.

I believe dynamically allocated pools are always created a function entry and destroyed at function exit.

-- John T.




Archive powered by MHonArc 2.6.16.

Top of Page