From: Doug Evans Date: Fri, 29 Mar 2013 00:35:20 +0000 (+0000) Subject: * dwarf2read.c (create_debug_types_hash_table): Don't allocate the X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=0349ea227a93db57acba96cba1a3556742e1bddf;p=binutils-gdb.git * dwarf2read.c (create_debug_types_hash_table): Don't allocate the types hash table until we know we need it. --- diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 2838b3c9847..9dbcc161a36 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,8 @@ 2013-03-28 Doug Evans + * dwarf2read.c (create_debug_types_hash_table): Don't allocate the + types hash table until we know we need it. + * dwarf2read.c (create_addrmap_from_index): Complain about bad CU index numbers. diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c index a3e68cd0613..70c509340c6 100644 --- a/gdb/dwarf2read.c +++ b/gdb/dwarf2read.c @@ -4251,14 +4251,6 @@ create_debug_types_hash_table (struct dwo_file *dwo_file, else abbrev_section = &dwarf2_per_objfile->abbrev; - if (types_htab == NULL) - { - if (dwo_file) - types_htab = allocate_dwo_unit_table (objfile); - else - types_htab = allocate_signatured_type_table (objfile); - } - /* We don't use init_cutu_and_read_dies_simple, or some such, here because we don't need to read any dies: the signature is in the header. */ @@ -4295,6 +4287,14 @@ create_debug_types_hash_table (struct dwo_file *dwo_file, continue; } + if (types_htab == NULL) + { + if (dwo_file) + types_htab = allocate_dwo_unit_table (objfile); + else + types_htab = allocate_signatured_type_table (objfile); + } + if (dwo_file) { sig_type = NULL;