Skip to Content.
Sympa Menu

svadev - Re: [svadev] BBC test issue

svadev AT lists.siebelschool.illinois.edu

Subject: Svadev mailing list

List archive

Re: [svadev] BBC test issue


Chronological Thread 
  • From: John Criswell <criswell AT illinois.edu>
  • To: Baozeng <sploving1 AT gmail.com>
  • Cc: svadev AT cs.illinois.edu
  • Subject: Re: [svadev] BBC test issue
  • Date: Wed, 13 Jun 2012 14:16:45 -0500
  • List-archive: <http://lists.cs.uiuc.edu/pipermail/svadev>
  • List-id: <svadev.cs.uiuc.edu>

On 6/13/12 8:37 AM, Baozeng wrote:
Hello,
I use current BBC implementation to test an example (buffer.c):

#include<stdio.h>
#include<stdlib.h>

int main (int argc, char ** argv) {
char array[17];
return array[17];
}

$ clang -g -fmemsafety -bbc buffer.c -o mytest
-L/home/sploving/llvm/projects/safecode/Debug/lib
$ ./mytest

It output this:
0xbfd00b9b, 0xbfd00b80, 17 Not aligned

This related code is in the function __internal_register in
BaggyBoundsCheck.cpp:

if(Source1 != Source) {
printf("%p, %p, %u Not aligned\n", (void*)Source, (void*)Source1,
NumBytes);
assert(0&& "Memory objects not aligned");
}

I think the problem is that the stack object being registered isn't aligned on a power-of-two boundary like it should be.

Does the transform that does that work yet? If so, then maybe something else is causing the problem (like the poolargvregister() function).

-- John T.

Source1 should be equal with Source if Source satisfy some conditions.
What conditions should Source satisfy? Maybe this is related to pool
handler? How to fix this?









Archive powered by MHonArc 2.6.16.

Top of Page