From: Tristan Gingold <gingold@adacore.com>
To: Jan Kratochvil <jan.kratochvil@redhat.com>
Cc: gdb@sourceware.org
Subject: Re: Regression on qsort_cmp [Re: status of Darwin support]
Date: Tue, 08 Sep 2009 09:31:00 -0000 [thread overview]
Message-ID: <D75C035C-62BE-4782-9B96-C50725FC7B40@adacore.com> (raw)
In-Reply-To: <20090825084613.GA22242@host0.dyn.jankratochvil.net>
On Aug 25, 2009, at 10:46 AM, Jan Kratochvil wrote:
> On Tue, 11 Aug 2009 10:27:55 +0200, Christian Thalinger wrote:
>> objfiles.c:793: internal-error: qsort_cmp: Assertion
>> `obj_section_endaddr (sect1) <= sect2_addr' failed.
>
> Getting randomly this error or:
> objfiles.c:817: internal-error: preferred_obj_section: Assertion `(a-
> >objfile->separate_debug_objfile == b->objfile) || (b->objfile-
> >separate_debug_objfile == a->objfile)' failed.
>
> which have both the same reason that solibs overlap in VMAs.
>
> IMO these assertions are right and GDB should rather refuse to load
> overlapping sections. Still they may(?) be required for overlays,
> actively in
> use for IBM Cell (as I was considering overlays as obsolete before
> myself).
Still late in the game, but I think I now understand the issue:
On Darwin, debug info are kept in object files. To make gdb work, we
load the executable but also the
symbols from its object files. In update_section map we don't make
the difference between these two.
IMHO we should slightly extend the notion of separate_debug_objfile so
that Darwin could use it and
then modify update_section_map to correctly deals with that.
Instead of allowing one separate debug file per objfile, we should
allow many debug files (using a linked
list) (The question of allowing one level or several levels is still
open).
The section map would flatten the tree and maybe fill the holes in
separate debug files using the father.
Well, that's the design I have in my mind...
Tristan.
next prev parent reply other threads:[~2009-09-08 9:31 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-07-16 20:29 status of Darwin support Christian Thalinger
2009-08-04 16:52 ` Tom Tromey
2009-08-04 21:03 ` Thiago Jung Bauermann
2009-08-05 4:45 ` Joel Brobecker
2009-08-06 11:14 ` Christian Thalinger
2009-08-06 11:17 ` Jonas Maebe
2009-08-10 9:41 ` Tristan Gingold
2009-08-10 10:47 ` Christian Thalinger
2009-08-10 18:36 ` Tom Tromey
2009-08-10 20:20 ` Paul Pluzhnikov
2009-08-11 5:06 ` Paul Pluzhnikov
2009-08-11 6:59 ` Tristan Gingold
2009-08-11 7:14 ` Paul Pluzhnikov
2009-08-11 7:43 ` Tristan Gingold
2009-08-11 8:20 ` Christian Thalinger
2009-08-11 8:28 ` Christian Thalinger
2009-08-11 16:33 ` Paul Pluzhnikov
2009-08-11 16:43 ` Christian Thalinger
2009-08-11 16:48 ` Paul Pluzhnikov
2009-08-11 16:49 ` Christian Thalinger
2009-08-11 17:12 ` Paul Pluzhnikov
2009-08-11 17:25 ` Christian Thalinger
2009-08-11 17:38 ` Paul Pluzhnikov
2009-08-11 17:54 ` Christian Thalinger
2009-08-12 16:26 ` Paul Pluzhnikov
2009-08-12 16:45 ` Christian Thalinger
2009-08-26 0:18 ` [patch] [new testcase] Regression on qsort_cmp [Re: status of Darwin support] Jan Kratochvil
2009-09-08 9:31 ` Tristan Gingold [this message]
2009-09-08 13:04 ` Jack Howarth
2009-08-06 10:51 ` status of Darwin support Christian Thalinger
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=D75C035C-62BE-4782-9B96-C50725FC7B40@adacore.com \
--to=gingold@adacore.com \
--cc=gdb@sourceware.org \
--cc=jan.kratochvil@redhat.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