/* hist.c - Histogram related operations.
- Copyright 1999, 2000, 2001, 2002, 2004, 2005, 2007, 2009
- Free Software Foundation, Inc.
+ Copyright (C) 1999-2015 Free Software Foundation, Inc.
This file is part of GNU Binutils.
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)
bin_count));
total_time += count_time;
- /* Credit all symbols that are covered by bin I. */
- for (j = j - 1; j < symtab.len; ++j)
+ /* Credit all symbols that are covered by bin I.
+
+ PR gprof/13325: Make sure that K does not get decremented
+ and J will never be less than 0. */
+ 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;