From: Brian Norris <banorris@uci.edu>
Date: Fri, 19 Apr 2013 21:47:35 +0000 (-0700)
Subject: snapshot-interface: don't snapshot libmodel.so
X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=dde52d51d6658cfa908e0b44bc4cc01edd660e9d;p=cdsspec-compiler.git

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);