From: Alan Modra Date: Thu, 7 Feb 2013 04:20:31 +0000 (+0000) Subject: PR binutils/15106 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=1965d5f2d027f2a389ef64079123fe39ab83a034;p=binutils-gdb.git PR binutils/15106 * elf.c (elf_find_function): Don't cache if symbols change. --- diff --git a/bfd/ChangeLog b/bfd/ChangeLog index c13b5bc712b..c652c3523d7 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,8 @@ +2013-02-07 Roberto Agostino Vitillo + + PR binutils/15106 + * elf.c (elf_find_function): Don't cache if symbols change. + 2013-02-07 Alan Modra PR binutils/14873 diff --git a/bfd/elf.c b/bfd/elf.c index 7ab3683dc7a..9d6ff318924 100644 --- a/bfd/elf.c +++ b/bfd/elf.c @@ -7505,6 +7505,7 @@ elf_find_function (bfd *abfd, const char **functionname_ptr) { static asection *last_section; + static asymbol **last_symbols; static asymbol *func; static const char *filename; static bfd_size_type func_size; @@ -7513,6 +7514,7 @@ elf_find_function (bfd *abfd, return FALSE; if (last_section != section + || last_symbols != symbols || func == NULL || offset < func->value || offset >= func->value + func_size) @@ -7538,6 +7540,7 @@ elf_find_function (bfd *abfd, state = nothing_seen; func_size = 0; last_section = section; + last_symbols = symbols; for (p = symbols; *p != NULL; p++) {