From 2a4e8cc37d3a6ebae8d16a066eea26719c63f561 Mon Sep 17 00:00:00 2001 From: Jim Kingdon Date: Sun, 20 Jun 1993 05:28:07 +0000 Subject: [PATCH] * solib.c (solib_add_common_symbols): Add comment about performance. --- gdb/ChangeLog | 4 ++++ gdb/solib.c | 14 ++++++++++++++ 2 files changed, 18 insertions(+) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 3444d3a6a2..a02196e503 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,7 @@ +Sun Jun 20 00:24:41 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + + * solib.c (solib_add_common_symbols): Add comment about performance. + Fri Jun 18 12:37:36 1993 Jim Kingdon (kingdon@lioth.cygnus.com) * config/mips/{{x,n}m-riscos.h,riscos.mh}: New files. diff --git a/gdb/solib.c b/gdb/solib.c index 124acc669f..7a2eaec3e7 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; -- 2.34.1