diff options
author | Alan Modra <amodra@gmail.com> | 2013-02-07 04:20:31 +0000 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2013-02-07 04:20:31 +0000 |
commit | 1965d5f2d027f2a389ef64079123fe39ab83a034 (patch) | |
tree | 08d4661ca82d1a48b3872d4f5de627fd23610b57 | |
parent | dafbc74d2c30322553791e940a3e7110be39ed10 (diff) | |
download | gdb-1965d5f2d027f2a389ef64079123fe39ab83a034.zip gdb-1965d5f2d027f2a389ef64079123fe39ab83a034.tar.gz gdb-1965d5f2d027f2a389ef64079123fe39ab83a034.tar.bz2 |
PR binutils/15106
* elf.c (elf_find_function): Don't cache if symbols change.
-rw-r--r-- | bfd/ChangeLog | 5 | ||||
-rw-r--r-- | bfd/elf.c | 3 |
2 files changed, 8 insertions, 0 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index c13b5bc..c652c35 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,8 @@ +2013-02-07 Roberto Agostino Vitillo <ra.vitillo@gmail.com> + + PR binutils/15106 + * elf.c (elf_find_function): Don't cache if symbols change. + 2013-02-07 Alan Modra <amodra@gmail.com> PR binutils/14873 @@ -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++) { |