Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Paul Pluzhnikov <ppluzhnikov@google.com>
To: Ulrich Weigand <uweigand@de.ibm.com>
Cc: Ulrich Weigand <Ulrich.Weigand@de.ibm.com>,
	        gdb-patches ml <gdb-patches@sourceware.org>,
	        Tom Tromey <tromey@redhat.com>
Subject: Re: [patch] Speed up find_pc_section
Date: Sun, 23 Aug 2009 23:25:00 -0000	[thread overview]
Message-ID: <8ac60eac0908231548x135edf2doa04fa59a49455bcd@mail.gmail.com> (raw)
In-Reply-To: <200908211130.n7LBUCJc011108@d12av02.megacenter.de.ibm.com>

[-- Attachment #1: Type: text/plain, Size: 933 bytes --]

On Fri, Aug 21, 2009 at 4:30 AM, Ulrich Weigand <uweigand@de.ibm.com> wrote:

> (A cleaner fix might be to fix all callers to never pass in a NULL
> section argument --most already don't-- and simply rely on it.)

Attached patch does that ...
Not tested (I still haven't figured out how to test overlays).

> I'm still not completely happy about the assertions you added.  An
> assertion failure is supposed to be an indication of a bug in GDB
> -- it should never be possible to trigger the assertion just by
> providing particular user input (this includes the binary file).

I am still working on fixing that part...

Thanks,
--
Paul Pluzhnikov

2009-08-23  Paul Pluzhnikov  <ppluzhnikov@google.com>

        * minsyms.c (lookup_minimal_symbol_by_pc_section_1): Assume
non-NULL section.
        (lookup_minimal_symbol_by_pc_section): Check for NULL section.
        (lookup_minimal_symbol_by_pc): Adjust.

[-- Attachment #2: gdb-overlay-fix-20090823.txt --]
[-- Type: text/plain, Size: 2082 bytes --]

Index: minsyms.c
===================================================================
RCS file: /cvs/src/src/gdb/minsyms.c,v
retrieving revision 1.66
diff -u -p -u -r1.66 minsyms.c
--- minsyms.c	28 Jun 2009 00:20:22 -0000	1.66
+++ minsyms.c	22 Aug 2009 18:01:37 -0000
@@ -457,18 +457,10 @@ lookup_minimal_symbol_by_pc_section_1 (C
   struct objfile *objfile;
   struct minimal_symbol *msymbol;
   struct minimal_symbol *best_symbol = NULL;
-  struct obj_section *pc_section;
   enum minimal_symbol_type want_type, other_type;
 
   want_type = want_trampoline ? mst_solib_trampoline : mst_text;
   other_type = want_trampoline ? mst_text : mst_solib_trampoline;
-  
-  /* PC has to be in a known section.  This ensures that anything
-     beyond the end of the last segment doesn't appear to be part of
-     the last function in the last segment.  */
-  pc_section = find_pc_section (pc);
-  if (pc_section == NULL)
-    return NULL;
 
   /* We can not require the symbol found to be in pc_section, because
      e.g. IRIX 6.5 mdebug relies on this code returning an absolute
@@ -479,7 +471,7 @@ lookup_minimal_symbol_by_pc_section_1 (C
      files, search both the file and its separate debug file.  There's
      no telling which one will have the minimal symbols.  */
 
-  objfile = pc_section->objfile;
+  objfile = section->objfile;
   if (objfile->separate_debug_objfile)
     objfile = objfile->separate_debug_objfile;
 
@@ -680,6 +672,12 @@ lookup_minimal_symbol_by_pc_section_1 (C
 struct minimal_symbol *
 lookup_minimal_symbol_by_pc_section (CORE_ADDR pc, struct obj_section *section)
 {
+  if (section == NULL)
+    {
+      section = find_pc_section (pc);
+      if (section == NULL)
+	return NULL;
+    }
   return lookup_minimal_symbol_by_pc_section_1 (pc, section, 0);
 }
 
@@ -695,7 +693,7 @@ lookup_minimal_symbol_by_pc (CORE_ADDR p
   struct obj_section *section = find_pc_section (pc);
   if (section == NULL)
     return NULL;
-  return lookup_minimal_symbol_by_pc_section (pc, section);
+  return lookup_minimal_symbol_by_pc_section_1 (pc, section, 0);
 }
 \f
 

  reply	other threads:[~2009-08-23 22:48 UTC|newest]

Thread overview: 82+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-07-17  7:34 Paul Pluzhnikov
2009-07-17 15:59 ` Paul Pluzhnikov
2009-07-17 16:27 ` Tom Tromey
2009-07-17 17:19   ` Paul Pluzhnikov
2009-07-21 17:57     ` Tom Tromey
2009-07-21 20:51       ` Paul Pluzhnikov
2009-07-21 21:03         ` Tom Tromey
2009-07-22 15:23         ` Pedro Alves
2009-07-22 16:33           ` Tom Tromey
2009-07-22 17:02             ` Paul Pluzhnikov
2009-07-22 17:02               ` Pedro Alves
2009-07-22 17:16                 ` Paul Pluzhnikov
2009-07-22 18:08                   ` Paul Pluzhnikov
2009-07-22 18:10                   ` Pedro Alves
2009-07-22 18:12                   ` Paul Pluzhnikov
2009-07-22 19:19                     ` Pedro Alves
2009-07-22 19:34                       ` Paul Pluzhnikov
2009-07-22 19:54                         ` Pedro Alves
2009-08-17 21:15                         ` [commit] Fix reread_symbols crash (Re: [patch] Speed up find_pc_section) Ulrich Weigand
2009-08-04 14:22         ` [patch] Speed up find_pc_section Tom Tromey
2009-08-04 15:06           ` Paul Pluzhnikov
2009-08-04 15:38             ` Tom Tromey
     [not found]               ` <8ac60eac0908042358q4d2061d2md3c49cf4aab26398@mail.gmail.com>
     [not found]                 ` <m34osmi5jx.fsf@fleche.redhat.com>
     [not found]                   ` <8ac60eac0908050940we3dc478rd182f4367a650f1b@mail.gmail.com>
     [not found]                     ` <8ac60eac0908052259l7b1c21d1t212991886a5f8b18@mail.gmail.com>
     [not found]                       ` <m3eirofxwh.fsf@fleche.redhat.com>
     [not found]                         ` <8ac60eac0908070030g7500a5ack3fcc81862e2a5b0a@mail.gmail.com>
2009-08-07 23:30                           ` Paul Pluzhnikov
2009-08-09 21:37                             ` Paul Pluzhnikov
2009-08-10 18:09                               ` Tom Tromey
2009-08-10 20:39                                 ` Paul Pluzhnikov
2009-08-17 19:45                               ` Ulrich Weigand
2009-08-17 19:57                                 ` Ulrich Weigand
2009-08-17 22:55                                   ` Paul Pluzhnikov
2009-08-18 13:48                                     ` Ulrich Weigand
2009-08-20 18:03                                       ` Paul Pluzhnikov
2009-08-20 18:39                                         ` Ulrich Weigand
2009-08-20 21:06                                           ` Paul Pluzhnikov
2009-08-20 22:34                                             ` Daniel Jacobowitz
2009-08-21 12:36                                             ` Ulrich Weigand
2009-08-23 23:25                                               ` Paul Pluzhnikov [this message]
2009-08-26  7:21                                                 ` Paul Pluzhnikov
2009-08-26 14:37                                                   ` Jan Kratochvil
2009-08-26 14:38                                                     ` Paul Pluzhnikov
2009-08-26 15:17                                                       ` Paul Pluzhnikov
2009-08-26 23:45                                                       ` Jan Kratochvil
2009-08-27  2:56                                                         ` Paul Pluzhnikov
2009-09-02 17:02                                                   ` Paul Pluzhnikov
2009-09-08 18:37                                                     ` What should we do re: "[patch] Speed up find_pc_section" Joel Brobecker
2009-09-08 20:16                                                       ` Paul Pluzhnikov
2009-09-08 21:17                                                         ` Joel Brobecker
2009-09-09  5:58                                                   ` [patch] Speed up find_pc_section Joel Brobecker
2009-09-09  7:56                                                     ` Tristan Gingold
2009-09-09 15:04                                                       ` Joel Brobecker
2009-09-11  7:44                                                         ` Tristan Gingold
2009-09-10 17:36                                                     ` Paul Pluzhnikov
2009-09-10 18:30                                                       ` Joel Brobecker
2009-09-11  1:30                                                         ` Paul Pluzhnikov
2009-09-11  6:51                                                           ` Pierre Muller
2009-09-11  7:29                                                             ` Paul Pluzhnikov
2009-09-11  7:40                                                               ` Mark Kettenis
2009-09-11  7:51                                                                 ` Paul Pluzhnikov
2009-09-11  7:41                                                               ` Pierre Muller
2009-09-11  8:03                                                                 ` Paul Pluzhnikov
2009-09-11  8:41                                                                   ` Pierre Muller
2009-09-11 17:47                                                                     ` Paul Pluzhnikov
2009-09-11 21:15                                                                       ` Joel Brobecker
2009-09-13 21:47                                                                         ` Paul Pluzhnikov
2009-09-14 16:43                                                                           ` Ulrich Weigand
2009-09-14 17:19                                                                             ` Paul Pluzhnikov
2009-09-14 17:36                                                                               ` Joel Brobecker
2009-09-14 18:10                                                                                 ` Paul Pluzhnikov
2009-09-14 18:21                                                                                   ` Joel Brobecker
2009-09-11 20:51                                                               ` Tom Tromey
2009-09-11 21:04                                                                 ` Paul Pluzhnikov
2009-09-11 21:14                                                                   ` Tom Tromey
2009-09-11  7:53                                                       ` Tristan Gingold
2009-09-11  8:33                                                         ` Paul Pluzhnikov
2009-09-11  8:39                                                           ` Tristan Gingold
2009-09-11 16:23                                                             ` Paul Pluzhnikov
2009-09-09  5:39                                                 ` Joel Brobecker
2009-09-10 16:18                                                   ` Paul Pluzhnikov
2009-09-11 21:06                                                     ` Joel Brobecker
2009-09-14 16:41                                                     ` Ulrich Weigand
2009-08-18 18:18                                     ` Michael Snyder
2009-07-17 18:56 ` Paul Pluzhnikov
2009-07-21  3:34   ` Paul Pluzhnikov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=8ac60eac0908231548x135edf2doa04fa59a49455bcd@mail.gmail.com \
    --to=ppluzhnikov@google.com \
    --cc=Ulrich.Weigand@de.ibm.com \
    --cc=gdb-patches@sourceware.org \
    --cc=tromey@redhat.com \
    --cc=uweigand@de.ibm.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox