Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Keith Seitz <keiths@redhat.com>
To: Tom Tromey <tom@tromey.com>, gdb-patches@sourceware.org
Subject: Re: [RFA 5/6] Add validity bits for psymtab high and low fields
Date: Fri, 01 Jun 2018 21:23:00 -0000	[thread overview]
Message-ID: <9b460d82-3c69-21dd-eb9e-1c4598e8e9a8@redhat.com> (raw)
In-Reply-To: <20180503223621.22544-6-tom@tromey.com>

On 05/03/2018 03:36 PM, Tom Tromey wrote:
> Right now some psymtab code checks whether a psymtab's textlow or
> texthigh fields are valid by comparing against 0.
> 
> I imagine this is mildly wrong in the current environment, but once
> psymtabs are relocated dynamically, it will no longer be correct,
> because it will be much more normal to see a psymtab with a textlow of
> zero -- this will just mean it appears at the start of the text
> section.
> 

Also wrong if 0 is a valid address! [as a recent patch* serves to remind]

> This patch introduces validity bits to handle this situation more
> nicely, and changes users of the code to follow.
> 
> ChangeLog
> 2018-05-03  Tom Tromey  <tromey@redhat.com>
> 
> 	* dbxread.c (end_psymtab): Use texthigh_valid and textlow_valid.

Does this line not also qualify for texthigh_valid:

  if (PSYMTAB_TEXTHIGH (pst) == 0 && last_function_name
      && gdbarch_sofun_address_maybe_missing (gdbarch))

?

There's also this line in dbx_read_symtab that might qualify (from case N_SCOPE):

	      valu = nlist.n_value + last_function_start;
	      if (PSYMTAB_TEXTHIGH (pst) == 0 || valu > PSYMTAB_TEXTHIGH (pst))
		SET_PSYMTAB_TEXTHIGH (pst, valu);
	      break;

Also in this function, can textlow_not_set be replaced by textlow_valid? [The same with the textlow_not_set parameter to dbx_end_psymtab?]

> 	* mdebugread.c (parse_partial_symbols): Use textlow_valid.
> 	(psymtab_to_symtab_1): Use texthigh_valid and textlow_valid.
> 	* psympriv.h (struct partial_symtab) <textlow_, texthigh_>: Update
> 	comment.
> 	<textlow_valid, texthigh_valid>: New fields.
> 	(set_psymtab_textlow, set_psymtab_texthigh): New inline functions.
> 	(SET_PSYMTAB_TEXTLOW, SET_PSYMTAB_TEXTHIGH): Redefine.
> 	* xcoffread.c (scan_xcoff_symtab): Use textlow_valid.

Otherwise, this all LGTM (IANAM).

Keith

* https://sourceware.org/ml/gdb-patches/2018-05/msg00325.html


  reply	other threads:[~2018-06-01 21:23 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-05-03 22:36 [RFA 0/6] Make psymbols independent of the progspace Tom Tromey
2018-05-03 22:36 ` [RFA 5/6] Add validity bits for psymtab high and low fields Tom Tromey
2018-06-01 21:23   ` Keith Seitz [this message]
2018-06-05 17:25     ` Tom Tromey
2018-06-05 17:38       ` Keith Seitz
2018-05-03 22:36 ` [RFA 6/6] Make psymbols and psymtabs independent of the program space Tom Tromey
2018-06-05 20:34   ` Keith Seitz
2018-05-03 22:36 ` [RFA 3/6] Make PSYMBOL_VALUE_ADDRESS take objfile argument Tom Tromey
2018-06-01 20:06   ` Keith Seitz
2018-06-01 21:03     ` Tom Tromey
2018-06-05 20:50       ` Simon Marchi
2018-05-03 22:36 ` [RFA 4/6] Introduce accessors for psymtab high and low fields Tom Tromey
2018-06-01 20:48   ` Keith Seitz
2018-06-04 18:14     ` Tom Tromey
2018-06-05 21:03   ` Simon Marchi
2018-05-03 22:36 ` [RFA 1/6] Remove dead code in end_psymtab Tom Tromey
2018-06-01 18:55   ` Keith Seitz
2018-06-05 19:41     ` Simon Marchi
2018-05-03 22:36 ` [RFA 2/6] Change representation of psymbol to flush out accessors Tom Tromey
2018-06-01 19:19   ` Keith Seitz
2018-06-04 18:11     ` Tom Tromey
2018-06-05 19:49       ` Simon Marchi
2018-06-05 22:56         ` Tom Tromey
2018-06-05 23:31           ` Simon Marchi
2018-05-25 17:58 ` [RFA 0/6] Make psymbols independent of the progspace Tom Tromey

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=9b460d82-3c69-21dd-eb9e-1c4598e8e9a8@redhat.com \
    --to=keiths@redhat.com \
    --cc=gdb-patches@sourceware.org \
    --cc=tom@tromey.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