From 3ef381162dae852e61bcc4079cb40a66d4cfeedf Mon Sep 17 00:00:00 2001
From: bdr7fv <bdr7fv@git.zephyr-software.com>
Date: Thu, 3 Nov 2011 18:18:08 +0000
Subject: [PATCH] Fixed rewriter.cpp. Now checks for empty address coverage
 file.

Former-commit-id: 1605d367f129a28d5990a6932716db27eeb05577
---
 examples/Makefile     |  4 ++--
 tests/simple/Makefile |  2 +-
 xform/rewriter.cpp    | 10 ++++++++--
 3 files changed, 11 insertions(+), 5 deletions(-)

diff --git a/examples/Makefile b/examples/Makefile
index 8c3620429..1ac692c9b 100644
--- a/examples/Makefile
+++ b/examples/Makefile
@@ -16,8 +16,8 @@ all: env_check  ${exes}
 .PHONY: env_check 
 
 .o.exe:
-#	${PEASOUP_HOME}/tools/ps_link.sh $< -o $@ 
-	gcc $< -o $@ 
+	${PEASOUP_HOME}/tools/ps_link.sh $< -o $@ 
+#	gcc $< -o $@ 
 	${PEASOUP_HOME}/tools/ps_analyze.sh  $@ $@
 
 .c.o:
diff --git a/tests/simple/Makefile b/tests/simple/Makefile
index 7316b2aff..9c6bfa514 100644
--- a/tests/simple/Makefile
+++ b/tests/simple/Makefile
@@ -1,4 +1,4 @@
-progs=discrete_xform.peasoup integration_simp.peasoup sieve.peasoup knapsack.peasoup dumbledore_cmd_nop.peasoup dumbledore_cmd_O3.peasoup quick_sort.peasoup hanoi.peasoup merge_sort.peasoup k1.peasoup banner_nop.peasoup banner_O3.peasoup cal_nop.peasoup cal_O3.peasoup
+progs=discrete_xform.peasoup integration_simp.peasoup sieve.peasoup knapsack.peasoup dumbledore_cmd_nop.peasoup dumbledore_cmd_O3.peasoup quick_sort.peasoup hanoi.peasoup merge_sort.peasoup k1.peasoup banner_nop.peasoup banner_O3.peasoup cal_nop.peasoup cal_O3.peasoup cal_O3_concolic.peasoup
 
 ps_analyze_flags="--step ilr=off --step integertransform=off --step manual_test=on --step concolic=off --step isr=off"
 
diff --git a/xform/rewriter.cpp b/xform/rewriter.cpp
index bc6cedbef..cd6fd0517 100644
--- a/xform/rewriter.cpp
+++ b/xform/rewriter.cpp
@@ -720,6 +720,14 @@ map<wahoo::Function*, double> Rewriter::getFunctionCoverage(char *p_instructionF
 
   set<app_iaddr_t> visitedInstructions;
 
+  infile.seekg(0,ios::end);
+  size_t size = infile.tellg();
+  if( size == 0)
+  {
+      cerr << "File containing instructions visited is empty is empty\n"<<endl;
+      return coverage;
+  }
+
   while (infile.good())
   {
     int address = 0;
@@ -728,8 +736,6 @@ map<wahoo::Function*, double> Rewriter::getFunctionCoverage(char *p_instructionF
     infile>>tmp;
     infile>>hex>>address;
 
-    // cerr<<"address = "<<address<<endl;
-
     visitedInstructions.insert((app_iaddr_t) address);
   }
 
-- 
GitLab