From 1965d5f2d027f2a389ef64079123fe39ab83a034 Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Thu, 7 Feb 2013 04:20:31 +0000 Subject: [PATCH] PR binutils/15106 * elf.c (elf_find_function): Don't cache if symbols change. --- bfd/ChangeLog | 5 +++++ bfd/elf.c | 3 +++ 2 files changed, 8 insertions(+) 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++) { -- 2.30.2