From: Jim Kingdon Date: Sun, 20 Jun 1993 05:28:07 +0000 (+0000) Subject: * solib.c (solib_add_common_symbols): Add comment about performance. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=2a4e8cc37d3a6ebae8d16a066eea26719c63f561;p=binutils-gdb.git * solib.c (solib_add_common_symbols): Add comment about performance. --- diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 3444d3a6a24..a02196e5036 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 124acc669fa..7a2eaec3e79 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;