snapshot-interface: don't snapshot libmodel.so
authorBrian Norris <banorris@uci.edu>
Fri, 19 Apr 2013 21:47:35 +0000 (14:47 -0700)
committerBrian Norris <banorris@uci.edu>
Fri, 19 Apr 2013 21:47:35 +0000 (14:47 -0700)
We don't need to snapshot our own globals; we are careful to only place
constant pointers in global memory.

snapshot-interface.cc

index bd1de3e60645f15e299e545b07d197b5c90d4e43..5f8a68773eeba95fca07678ee73d6e39ace1c62d 100644 (file)
@@ -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);