From: Tom Tromey <tromey@redhat.com>
To: "Ulrich Weigand" <uweigand@de.ibm.com>
Cc: jan.kratochvil@redhat.com (Jan Kratochvil), gdb-patches@sourceware.org
Subject: Re: [patch] [3/5] Types reference counting [make_function_type-objfile]
Date: Fri, 26 Jun 2009 16:12:00 -0000 [thread overview]
Message-ID: <m34ou3dlfe.fsf@fleche.redhat.com> (raw)
In-Reply-To: <200906261323.n5QDN0Xi000973@d12av02.megacenter.de.ibm.com> (Ulrich Weigand's message of "Fri\, 26 Jun 2009 15\:23\:00 +0200 \(CEST\)")
>>>>> "Ulrich" == Ulrich Weigand <uweigand@de.ibm.com> writes:
Ulrich> - I think the symbol readers should always return per-objfile
Ulrich> types. This just makes everything simpler, in particular
Ulrich> allocation of derived types (as you notice). I think it would
Ulrich> also good to be able to guarantee that TYPE_OBJFILE of every
Ulrich> symbol type is non-NULL ...
My recollection is that we have a few places where an objfile-attached
type can be derived from a NULL-objfile type. Index types at least,
but ISTR also something from Ada.
I'm fine with changing this and adding an invariant like "a type with
an objfile may only reference other types from the same objfile". I
think I must have just assumed that this would be too hard.
Ulrich> - The Java generated types should *not* go onto the "fake"
Ulrich> dynamics objfile in the first place. That objfile is somewhat
Ulrich> bogus in that it isn't associated with an architecture (thus
Ulrich> breaking my per-type architecture effort), and it also don't
Ulrich> help with type lifetime issues as the fake objfile never goes
Ulrich> away. I think those types should be allocated with a NULL
Ulrich> objfile (in the future are per-gdbarch types) instead.
This phony objfile is also not multi-inferior-safe.
It seems to me that this java stuff is like a rough prototype of how
better debugging for JITs might work -- make a dynamic objfile based
on information from the running inferior. So, I suppose it would be
nice to fix it up rather than nuke it :)
For the lifetime issue, it seems like this objfile should be treated
however a .so objfile is treated.
Ulrich> Also, I think the implementation is broken in the "type
Ulrich> smashing" case: if there is an incoming type allocated in
Ulrich> objfile A, but the argument to make_function_type specifies
Ulrich> objfile B, the type gets "smashed" and reused, and its
Ulrich> TYPE_OBJFILE gets redirected to objfile B even though the type
Ulrich> still resides within objfile A's obstack ...
Is this really valid? It seems to me that it ought to be an internal
error. Otherwise aren't we at risk for memory corruption, if objfile
A goes away?
Tom
next prev parent reply other threads:[~2009-06-26 16:12 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-04-11 10:22 Jan Kratochvil
2009-04-16 21:43 ` Tom Tromey
2009-05-01 14:44 ` Jan Kratochvil
2009-06-26 13:23 ` Ulrich Weigand
2009-06-26 13:26 ` [rfc] Always use per-objfile types in symbol readers Ulrich Weigand
2009-06-26 13:29 ` [rfc] Fix Java type allocation and revert make_function_type change Ulrich Weigand
2009-06-26 16:12 ` Tom Tromey [this message]
2009-06-26 17:06 ` [patch] [3/5] Types reference counting [make_function_type-objfile] Ulrich Weigand
2009-06-26 16:40 ` Jan Kratochvil
2009-06-26 17:12 ` Ulrich Weigand
2009-06-26 17:24 ` Tom Tromey
2009-06-26 17:36 ` Ulrich Weigand
2009-06-26 18:04 ` Tom Tromey
2009-06-29 13:25 ` Ulrich Weigand
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=m34ou3dlfe.fsf@fleche.redhat.com \
--to=tromey@redhat.com \
--cc=gdb-patches@sourceware.org \
--cc=jan.kratochvil@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