or missing location list information. Suggested by Jan
Kratochvil <lace@jankratochvil.net>.
+2006-07-12 Daniel Jacobowitz <dan@codesourcery.com>
+
+ * dwarf2read.c (dwarf2_symbol_mark_computed): Handle corrupted
+ or missing location list information. Suggested by Jan
+ Kratochvil <lace@jankratochvil.net>.
+
2006-07-12 Daniel Jacobowitz <dan@codesourcery.com>
* Makefile.in (arm_linux_tdep_h): New variable.
dwarf2_symbol_mark_computed (struct attribute *attr, struct symbol *sym,
struct dwarf2_cu *cu)
{
- if (attr->form == DW_FORM_data4 || attr->form == DW_FORM_data8)
+ if ((attr->form == DW_FORM_data4 || attr->form == DW_FORM_data8)
+ /* ".debug_loc" may not exist at all, or the offset may be outside
+ the section. If so, fall through to the complaint in the
+ other branch. */
+ && DW_UNSND (attr) < dwarf2_per_objfile->loc_size)
{
struct dwarf2_loclist_baton *baton;