* dwarf2read.c (dwarf2_read_addr_index): Fix handling the case where

cu == NULL.
This commit is contained in:
Doug Evans 2012-09-12 18:57:40 +00:00
parent 5941debbf2
commit a1b64ce14e
2 changed files with 11 additions and 3 deletions

View file

@ -1,3 +1,8 @@
2012-09-12 Doug Evans <dje@google.com>
* dwarf2read.c (dwarf2_read_addr_index): Fix handling the case where
cu == NULL.
2012-09-11 Doug Evans <dje@google.com> 2012-09-11 Doug Evans <dje@google.com>
* dwarf2read.c (dw2_do_expand_symtabs_matching): Don't examine * dwarf2read.c (dw2_do_expand_symtabs_matching): Don't examine

View file

@ -13728,8 +13728,9 @@ dwarf2_read_addr_index (struct dwarf2_per_cu_data *per_cu,
We don't need to read the entire CU(/TU). We don't need to read the entire CU(/TU).
We just need the header and top level die. We just need the header and top level die.
IWBN to use the aging mechanism to let us lazily later discard the CU. IWBN to use the aging mechanism to let us lazily later discard the CU.
See however init_cutu_and_read_dies_simple. */ For now we skip this optimization. */
if (cu != NULL) if (cu != NULL)
{ {
@ -13740,8 +13741,10 @@ dwarf2_read_addr_index (struct dwarf2_per_cu_data *per_cu,
{ {
struct dwarf2_read_addr_index_data aidata; struct dwarf2_read_addr_index_data aidata;
init_cutu_and_read_dies_simple (per_cu, dwarf2_read_addr_index_reader, /* Note: We can't use init_cutu_and_read_dies_simple here,
&aidata); we need addr_base. */
init_cutu_and_read_dies (per_cu, NULL, 0, 0,
dwarf2_read_addr_index_reader, &aidata);
addr_base = aidata.addr_base; addr_base = aidata.addr_base;
addr_size = aidata.addr_size; addr_size = aidata.addr_size;
} }