From: Alan Modra Date: Thu, 7 Feb 2013 04:21:35 +0000 (+0000) Subject: PR binutils/15106 X-Git-Tag: binutils-2_23_2~66 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=410126c3f977f50d10c7d8544b92204e531c28cb;p=thirdparty%2Fbinutils-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 1002477ad48..8014de5005d 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 9b8e3e29d13..d08a45d2467 100644 --- a/bfd/elf.c +++ b/bfd/elf.c @@ -7485,6 +7485,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; @@ -7493,6 +7494,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) @@ -7518,6 +7520,7 @@ elf_find_function (bfd *abfd, state = nothing_seen; func_size = 0; last_section = section; + last_symbols = symbols; for (p = symbols; *p != NULL; p++) {