If the symbol hash table only contains lenght zero chains, no lookup
tests need to be done and eu-readelf -I would print out bogus numbers
for the number of tests that were successful/unsuccessful.
e.g. for an "empty" program like
int main() {}
eu-readelf -I would print:
Histogram for bucket list length in section [ 5] '.gnu.hash' (total of 1 bucket):
Addr: 0x00000000004003c0 Offset: 0x0003c0 Link to section: [ 6] '.dynsym'
Symbol Bias: 1
Bitmask Size: 8 bytes 0% bits set 2nd hash shift: 0
Length Number % of total Coverage
0 1 100.0%
Average number of tests: successful lookup: -nan
unsuccessful lookup: 0.000000
Only print out the Average number of tests when there were actual
tests to do.
Signed-off-by: Mark Wielaard <mark@klomp.org>
success += counts[cnt] * acc;
}
- printf (_("\
+ if (nzero_counts > 0)
+ printf (_("\
Average number of tests: successful lookup: %f\n\
unsuccessful lookup: %f\n"),
- (double) success / (double) nzero_counts,
- (double) nzero_counts / (double) nbucket);
+ (double) success / (double) nzero_counts,
+ (double) nzero_counts / (double) nbucket);
}
free (counts);