diff --git a/src/zipr.cpp b/src/zipr.cpp index c6a6db1310325f30400655090a19da348ed36fbb..ed0f94038a923005ac6faf730b491e9cc19335f6 100644 --- a/src/zipr.cpp +++ b/src/zipr.cpp @@ -574,6 +574,12 @@ void ZiprImpl_t::FindFreeRanges(const std::string &name) RangeAddress_t this_end = this_scoop->GetEnd()->GetVirtualOffset(), next_start = 0; + if(this_scoop->GetStart()->GetVirtualOffset()==0) + { + // unpinned scoops can get ignored. + continue; + } + if (m_verbose) cout << "There's a scoop between " << std::hex << this_scoop->GetStart()->GetVirtualOffset() @@ -654,6 +660,12 @@ void ZiprImpl_t::FindFreeRanges(const std::string &name) DataScoop_t* scoop=*it; RangeAddress_t end=scoop->GetEnd()->GetVirtualOffset(); + if(scoop->GetStart()->GetVirtualOffset()==0) + { + // unpinned scoops can get ignored. + continue; + } + if(end >= max_addr) { max_addr=end+1;