aboutsummaryrefslogtreecommitdiff
path: root/gdb/minsyms.h
diff options
context:
space:
mode:
authorTom Tromey <tromey@redhat.com>2013-08-19 07:58:44 -0600
committerTom Tromey <tromey@redhat.com>2014-02-26 12:11:16 -0700
commit50e65b1713256487d50514b50b38b3fd1080b93e (patch)
tree180a4e6ef0445feb91e27e0980bbe01130262d23 /gdb/minsyms.h
parent1b588015839caafc608a6944a78aea170f5fb2f6 (diff)
downloadgdb-50e65b1713256487d50514b50b38b3fd1080b93e.zip
gdb-50e65b1713256487d50514b50b38b3fd1080b93e.tar.gz
gdb-50e65b1713256487d50514b50b38b3fd1080b93e.tar.bz2
introduce minimal_symbol_upper_bound
This introduces minimal_symbol_upper_bound and changes various bits of code to use it. Since this function is intimately tied to the implementation of minimal symbol tables, I believe it belongs in minsyms.c. The new function is extracted from find_pc_partial_function_gnu_ifunc. This isn't a "clean" move because the old function interleaved the caching and the computation; but this doesn't make sense for the new code. 2014-02-26 Tom Tromey <tromey@redhat.com> * blockframe.c (find_pc_partial_function_gnu_ifunc): Use bound minimal symbols. Move code that knows about minsym table layout... * minsyms.c (minimal_symbol_upper_bound): ... here. New function. * minsyms.h (minimal_symbol_upper_bound): Declare. * objc-lang.c (find_objc_msgsend): Use bound minimal symbols, minimal_symbol_upper_bound.
Diffstat (limited to 'gdb/minsyms.h')
-rw-r--r--gdb/minsyms.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/gdb/minsyms.h b/gdb/minsyms.h
index f4b1c32..f201a73 100644
--- a/gdb/minsyms.h
+++ b/gdb/minsyms.h
@@ -249,4 +249,12 @@ void iterate_over_minimal_symbols (struct objfile *objf,
void *),
void *user_data);
+/* Compute the upper bound of MINSYM. The upper bound is the last
+ address thought to be part of the symbol. If the symbol has a
+ size, it is used. Otherwise use the lesser of the next minimal
+ symbol in the same section, or the end of the section, as the end
+ of the function. */
+
+CORE_ADDR minimal_symbol_upper_bound (struct bound_minimal_symbol minsym);
+
#endif /* MINSYMS_H */