diff options
author | Nick Clifton <nickc@redhat.com> | 2011-10-25 16:46:46 +0000 |
---|---|---|
committer | Nick Clifton <nickc@redhat.com> | 2011-10-25 16:46:46 +0000 |
commit | db5d0b26be0bd4b367289365d3dfe77d2f55dcfd (patch) | |
tree | 1b0bfc2eadb842297af2b4e611b7536687de5a48 /gprof/hist.c | |
parent | dfc4b250e37fff38dea4df73353445903dec93ba (diff) | |
download | gdb-db5d0b26be0bd4b367289365d3dfe77d2f55dcfd.zip gdb-db5d0b26be0bd4b367289365d3dfe77d2f55dcfd.tar.gz gdb-db5d0b26be0bd4b367289365d3dfe77d2f55dcfd.tar.bz2 |
Oops - apply correct patch for previous delta.
Diffstat (limited to 'gprof/hist.c')
-rw-r--r-- | gprof/hist.c | 14 |
1 files changed, 5 insertions, 9 deletions
diff --git a/gprof/hist.c b/gprof/hist.c index 572bacf..3b77ab0 100644 --- a/gprof/hist.c +++ b/gprof/hist.c @@ -365,13 +365,13 @@ hist_assign_samples_1 (histogram *r) bfd_vma sym_low_pc, sym_high_pc; bfd_vma overlap, addr; unsigned int bin_count; - unsigned int i, j; + unsigned int i, j, k; double count_time, credit; bfd_vma lowpc = r->lowpc / sizeof (UNIT); /* Iterate over all sample bins. */ - for (i = 0, j = 1; i < r->num_bins; ++i) + for (i = 0, k = 1; i < r->num_bins; ++i) { bin_count = r->sample[i]; if (! bin_count) @@ -390,7 +390,8 @@ hist_assign_samples_1 (histogram *r) total_time += count_time; /* Credit all symbols that are covered by bin I. */ - for (j = j - 1; j < symtab.len; ++j) + /* PR gprof/13325: Make sure that J does not go below I. */ + for (j = k - 1; j < symtab.len; k = ++j) { sym_low_pc = symtab.base[j].hist.scaled_addr; sym_high_pc = symtab.base[j + 1].hist.scaled_addr; @@ -398,12 +399,7 @@ hist_assign_samples_1 (histogram *r) /* If high end of bin is below entry address, go for next bin. */ if (bin_high_pc < sym_low_pc) - { - /* PR gprof/13325: Make sure that j does not go below 1. */ - if (j < 1) - j = 1; - break; - } + break; /* If low end of bin is above high end of symbol, go for next symbol. */ |