From: Brian Norris Date: Fri, 19 Apr 2013 21:47:35 +0000 (-0700) Subject: snapshot-interface: don't snapshot libmodel.so X-Git-Tag: oopsla2013~29 X-Git-Url: http://plrg.eecs.uci.edu/git/?p=model-checker.git;a=commitdiff_plain;h=dde52d51d6658cfa908e0b44bc4cc01edd660e9d snapshot-interface: don't snapshot libmodel.so We don't need to snapshot our own globals; we are careful to only place constant pointers in global memory. --- diff --git a/snapshot-interface.cc b/snapshot-interface.cc index bd1de3e..5f8a687 100644 --- a/snapshot-interface.cc +++ b/snapshot-interface.cc @@ -12,7 +12,6 @@ /* MYBINARYNAME only works because our pathname usually includes 'model' (e.g., * /.../model-checker/test/userprog.o) */ #define MYBINARYNAME "model" -#define MYLIBRARYNAME "libmodel.so" #define MAPFILE "/proc/self/maps" struct snapshot_entry { @@ -74,7 +73,7 @@ static void SnapshotGlobalSegments() sscanf(buf, "%22s %p-%p [%5dK] %c%c%c/%c%c%c SM=%3s %200s\n", type, &begin, &end, &size, &r, &w, &x, &mr, &mw, &mx, smstr, regionname); - if (w == 'w' && (strstr(regionname, MYBINARYNAME) || strstr(regionname, MYLIBRARYNAME))) { + if (w == 'w' && strstr(regionname, MYBINARYNAME)) { size_t len = ((uintptr_t)end - (uintptr_t)begin) / PAGESIZE; if (len != 0) snapshot_add_memory_region(begin, len); @@ -114,7 +113,7 @@ static void SnapshotGlobalSegments() void *begin, *end; sscanf(buf, "%p-%p %c%c%c%c %*x %*x:%*x %*u %200s\n", &begin, &end, &r, &w, &x, &p, regionname); - if (w == 'w' && (strstr(regionname, binary_name) || strstr(regionname, MYLIBRARYNAME))) { + if (w == 'w' && strstr(regionname, binary_name)) { size_t len = ((uintptr_t)end - (uintptr_t)begin) / PAGESIZE; if (len != 0) snapshot_add_memory_region(begin, len);