Patch to make exmap 0.10 work on x86_64 machines where calculating a map for /lib/ld-*.so fails for unknown reasons. Written by Steve Cotton on 28aug2008. Adapted by Christian Neukirchen on 16feb2010. diff -rN -u old-exmap-0.10/src/Exmap.cpp new-exmap-0.10/src/Exmap.cpp --- old-exmap-0.10/src/Exmap.cpp 2008-08-28 15:33:31.000000000 +0100 +++ new-exmap-0.10/src/Exmap.cpp 2008-08-28 15:33:31.000000000 +0100 @@ -854,7 +854,6 @@ if (!_vma->get_pages_for_range(subrange, ppi_info)) { warn << "sizes_for_mem_range: Can't get pages for range " << subrange->to_string() << "\n"; - return null_sizes; } std::list::iterator it; @@ -894,7 +894,6 @@ if (sizes->val(Sizes::VM) != subrange->size()) { warn << "Size mismatch: vm size " << sizes->val(Sizes::VM) << " range " << subrange->to_string() << "\n"; - return null_sizes; } return sizes; @@ -1201,8 +1201,7 @@ for (it = fnames.begin(); it != fnames.end(); ++it) { if (!calc_maps_for_file(*it)) { warn << "calc_maps: failed to calc for " << *it << "\n"; - return false; } }