From: Alan Modra Date: Mon, 3 Jun 2013 04:11:09 +0000 (+0000) Subject: * syms.c (_bfd_stab_section_find_nearest_line): Add last_str X-Git-Tag: cygwin-1_7_20-release~39 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=fa549f3baada1dee1b69af1b4db60f8f04bcfae0;p=external%2Fbinutils.git * syms.c (_bfd_stab_section_find_nearest_line): Add last_str var. Use it with last_stab. --- diff --git a/bfd/ChangeLog b/bfd/ChangeLog index d148669..1b56e1d 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,8 @@ +2013-06-03 Alan Modra + + * syms.c (_bfd_stab_section_find_nearest_line): Add last_str + var. Use it with last_stab. + 2013-05-30 Paul Brook * bfd-in2.h: Regenerate. diff --git a/bfd/syms.c b/bfd/syms.c index 98d596e..9d91d48 100644 --- a/bfd/syms.c +++ b/bfd/syms.c @@ -934,7 +934,7 @@ _bfd_stab_section_find_nearest_line (bfd *abfd, struct stab_find_info *info; bfd_size_type stabsize, strsize; bfd_byte *stab, *str; - bfd_byte *last_stab = NULL; + bfd_byte *last_stab, *last_str; bfd_size_type stroff; struct indexentry *indexentry; char *file_name; @@ -1147,8 +1147,9 @@ _bfd_stab_section_find_nearest_line (bfd *abfd, file_name = NULL; directory_name = NULL; saw_fun = 1; + stroff = 0; - for (i = 0, stroff = 0, stab = info->stabs, str = info->strs; + for (i = 0, last_stab = stab = info->stabs, last_str = str = info->strs; i < info->indextablesize && stab < info->stabs + stabsize; stab += STABSIZE) { @@ -1174,7 +1175,7 @@ _bfd_stab_section_find_nearest_line (bfd *abfd, { info->indextable[i].val = bfd_get_32 (abfd, last_stab + VALOFF); info->indextable[i].stab = last_stab; - info->indextable[i].str = str; + info->indextable[i].str = last_str; info->indextable[i].directory_name = directory_name; info->indextable[i].file_name = file_name; info->indextable[i].function_name = NULL; @@ -1192,6 +1193,7 @@ _bfd_stab_section_find_nearest_line (bfd *abfd, else { last_stab = stab; + last_str = str; if (stab + STABSIZE >= info->stabs + stabsize || *(stab + STABSIZE + TYPEOFF) != (bfd_byte) N_SO) { @@ -1242,7 +1244,7 @@ _bfd_stab_section_find_nearest_line (bfd *abfd, { info->indextable[i].val = bfd_get_32 (abfd, last_stab + VALOFF); info->indextable[i].stab = last_stab; - info->indextable[i].str = str; + info->indextable[i].str = last_str; info->indextable[i].directory_name = directory_name; info->indextable[i].file_name = file_name; info->indextable[i].function_name = NULL;