aboutsummaryrefslogtreecommitdiff
path: root/gdb/solib.c
diff options
context:
space:
mode:
Diffstat (limited to 'gdb/solib.c')
-rw-r--r--gdb/solib.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/gdb/solib.c b/gdb/solib.c
index 124acc6..7a2eaec 100644
--- a/gdb/solib.c
+++ b/gdb/solib.c
@@ -259,6 +259,20 @@ solib_map_sections (so)
#ifndef SVR4_SHARED_LIBS
+/* This routine can be a real performance hog. According to some gprof data
+ which mtranle@paris.IntelliCorp.COM (Minh Tran-Le) sent, almost all the
+ time spend in solib_add (up to 20 minutes with 35 shared libraries) is
+ spent here, with 5/6 in lookup_minimal_symbol and 1/6 in read_memory.
+
+ Possible solutions:
+
+ * Hash the minimal symbols.
+
+ * Just record the name of the minimal symbol and lazily patch the
+ addresses.
+
+ * Tell everyone to switch to Solaris2. */
+
static void
solib_add_common_symbols (rtc_symp, objfile)
struct rtc_symb *rtc_symp;