diff options
author | Alan Modra <amodra@gmail.com> | 2013-06-03 04:11:09 +0000 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2013-06-03 04:11:09 +0000 |
commit | fa549f3baada1dee1b69af1b4db60f8f04bcfae0 (patch) | |
tree | 88ee3464f9db8280865a091f529b064698aa2fa8 /bfd/syms.c | |
parent | 87967e273fc2c3c801869e6a57608aa82e8e4514 (diff) | |
download | binutils-gdb-fa549f3baada1dee1b69af1b4db60f8f04bcfae0.tar.gz |
* syms.c (_bfd_stab_section_find_nearest_line): Add last_str
var. Use it with last_stab.
Diffstat (limited to 'bfd/syms.c')
-rw-r--r-- | bfd/syms.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/bfd/syms.c b/bfd/syms.c index 98d596ed44f..9d91d48e963 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; |