8sa1-binutils-gdb/gdb/dwarf2
Tom de Vries 1aa98955b1 [gdb/ada] Fix -readnow FAILs
When running test-case gdb.ada/access_to_packed_array we have:
...
(gdb) print pack.a^M
$1 = (0 => 1, 2, 3, 4, 5, 6, 7, 8, 9, 10)^M
...
but with target board readnow.exp, we have instead:
...
(gdb) print pack.a^M
'pack.a' has unknown type; cast it to its declared type^M
...

The symbol is normally found by the map_matching_symbols call in
ada-lang.c:add_nonlocal_symbols:
...
  for (objfile *objfile : current_program_space->objfiles ())
    {
      data.objfile = objfile;

      objfile->sf->qf->map_matching_symbols (objfile, lookup_name,
					     domain, global, callback,
					     (is_wild_match
					      ? NULL : compare_names));
...
which maps onto psym_map_matching_symbols.

Function psym_map_matching_symbols iterates over all the partial symtabs,
and:
- if not expanded, searches in the partial symtab:
  - if not found, continues to the next
  - if found, expands into full symtab
- searches in the full symtab

However, with -readnow the call maps onto dw2_map_matching_symbols instead,
which is unimplemented, and consequently no symbol is found.

Fix this by detecting -readnow in dw2_map_matching_symbols, and handling that
appropriately given that partial symtabs are not present, and full symtabs
are: iterate over all the symtabs and search them.

Tested on x86_64-linux, with native and target board -readnow.

This removes 217 FAILs with board -readnow.

gdb/ChangeLog:

2020-04-02  Tom de Vries  <tdevries@suse.de>

	PR ada/24671
	* dwarf2/read.c (dw2_map_matching_symbols): Handle -readnow.
2020-04-02 08:58:38 +02:00
..
abbrev.c Don't pass NULL to memcpy in gdb 2020-03-31 07:29:53 -06:00
abbrev.h Use htab_up in abbrev_table 2020-02-08 13:43:24 -07:00
attribute.c Change two functions to be methods on struct attribute 2020-03-26 09:28:28 -06:00
attribute.h Fix comment in dwarf2/attribute.h 2020-03-28 09:25:41 -06:00
comp-unit.c Convert read_address to a method on comp_unit_head 2020-02-08 13:43:24 -07:00
comp-unit.h Convert read_address to a method on comp_unit_head 2020-02-08 13:43:24 -07:00
die.h Rewrite new die_info methods 2020-03-26 09:28:26 -06:00
dwz.c Add dwz.c and dwz_file::read_string 2020-03-26 09:28:09 -06:00
dwz.h Add dwz.c and dwz_file::read_string 2020-03-26 09:28:09 -06:00
expr.c Move DWARF code to dwarf2/ subdirectory 2020-02-08 13:40:59 -07:00
expr.h Move DWARF code to dwarf2/ subdirectory 2020-02-08 13:40:59 -07:00
frame-tailcall.c Return unique_xmalloc_ptr from call_site_find_chain 2020-02-14 12:38:04 -07:00
frame-tailcall.h Move DWARF code to dwarf2/ subdirectory 2020-02-08 13:40:59 -07:00
frame.c Find tailcall frames before inline frames 2020-03-03 15:27:04 -07:00
frame.h Don't forward-declare struct objfile in dwarf2/frame.h 2020-02-11 17:57:46 -07:00
index-cache.c Introduce dwarf2/dwz.h 2020-03-26 09:28:08 -06:00
index-cache.h Move DWARF code to dwarf2/ subdirectory 2020-02-08 13:40:59 -07:00
index-common.c Move DWARF code to dwarf2/ subdirectory 2020-02-08 13:40:59 -07:00
index-common.h Move DWARF code to dwarf2/ subdirectory 2020-02-08 13:40:59 -07:00
index-write.c Introduce dwarf2/dwz.h 2020-03-26 09:28:08 -06:00
index-write.h Move DWARF code to dwarf2/ subdirectory 2020-02-08 13:40:59 -07:00
leb.c Move read_offset_1 to leb.c 2020-02-08 13:43:24 -07:00
leb.h Move two more functions to dwarf2/leb.h 2020-02-08 13:43:24 -07:00
line-header.c Move more code to line-header.c 2020-03-26 09:28:20 -06:00
line-header.h Move more code to line-header.c 2020-03-26 09:28:20 -06:00
loc.c Make dwarf2_evaluate_property parameter const 2020-03-20 13:06:22 -06:00
loc.h Make dwarf2_evaluate_property parameter const 2020-03-20 13:06:22 -06:00
macro.c Trivial fix in dwarf_decode_macro_bytes 2020-03-26 09:28:18 -06:00
macro.h Use a const dwarf2_section_info in macro reader 2020-03-26 09:28:17 -06:00
read.c [gdb/ada] Fix -readnow FAILs 2020-04-02 08:58:38 +02:00
read.h Convert read_indirect_line_string to a method 2020-03-26 09:28:19 -06:00
section.c Add dwarf2_section_info::read_string method 2020-03-26 09:28:14 -06:00
section.h Add dwarf2_section_info::read_string method 2020-03-26 09:28:14 -06:00
stringify.c Move DWARF-constant stringifying code to new file 2020-03-26 09:28:26 -06:00
stringify.h Move DWARF-constant stringifying code to new file 2020-03-26 09:28:26 -06:00