Add validity bits for psymtab high and low fields
authorTom Tromey <tom@tromey.com>
Thu, 3 May 2018 22:36:20 +0000 (16:36 -0600)
committerTom Tromey <tom@tromey.com>
Thu, 26 Jul 2018 15:18:31 +0000 (09:18 -0600)
commit52948f01e4a11f5fcebdca112036f907ac69e7ad
tree08a69f99c3f028772c5f52690094d3d3c0f2ee47
parent4ae976d1df96aee0ecd97ea1235efc4490562932
Add validity bits for psymtab high and low fields

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.

This patch introduces validity bits to handle this situation more
nicely, and changes users of the code to follow.

gdb/ChangeLog
2018-07-26  Tom Tromey  <tromey@redhat.com>

* dbxread.c (end_psymtab): Use text_high_valid and
text_low_valid.
* mdebugread.c (parse_partial_symbols): Use text_low_valid.
(psymtab_to_symtab_1): Use text_high_valid and text_low_valid.
* psympriv.h (struct partial_symtab) <m_text_low, m_text_high>:
Update comment.
<text_low_valid, text_high_valid>: New fields.
<set_text_low, set_text_high>: Update.
* xcoffread.c (scan_xcoff_symtab): Use text_low_valid.
gdb/ChangeLog
gdb/dbxread.c
gdb/mdebugread.c
gdb/psympriv.h
gdb/xcoffread.c