mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-08-06 06:45:56 +08:00
Replace complain() with complaint().
This commit is contained in:
215
gdb/dwarfread.c
215
gdb/dwarfread.c
@ -62,115 +62,37 @@
|
||||
|
||||
/* Complaints that can be issued during DWARF debug info reading. */
|
||||
|
||||
struct deprecated_complaint no_bfd_get_N =
|
||||
static void
|
||||
bad_die_ref_complaint (int arg1, const char *arg2, int arg3)
|
||||
{
|
||||
"DIE @ 0x%x \"%s\", no bfd support for %d byte data object", 0, 0
|
||||
};
|
||||
complaint (&symfile_complaints,
|
||||
"DIE @ 0x%x \"%s\", reference to DIE (0x%x) outside compilation unit",
|
||||
arg1, arg2, arg3);
|
||||
}
|
||||
|
||||
struct deprecated_complaint malformed_die =
|
||||
static void
|
||||
unknown_attribute_form_complaint (int arg1, const char *arg2, int arg3)
|
||||
{
|
||||
"DIE @ 0x%x \"%s\", malformed DIE, bad length (%d bytes)", 0, 0
|
||||
};
|
||||
complaint (&symfile_complaints,
|
||||
"DIE @ 0x%x \"%s\", unknown attribute form (0x%x)", arg1, arg2,
|
||||
arg3);
|
||||
}
|
||||
|
||||
struct deprecated_complaint bad_die_ref =
|
||||
static void
|
||||
dup_user_type_definition_complaint (int arg1, const char *arg2)
|
||||
{
|
||||
"DIE @ 0x%x \"%s\", reference to DIE (0x%x) outside compilation unit", 0, 0
|
||||
};
|
||||
complaint (&symfile_complaints,
|
||||
"DIE @ 0x%x \"%s\", internal error: duplicate user type definition",
|
||||
arg1, arg2);
|
||||
}
|
||||
|
||||
struct deprecated_complaint unknown_attribute_form =
|
||||
static void
|
||||
bad_array_element_type_complaint (int arg1, const char *arg2, int arg3)
|
||||
{
|
||||
"DIE @ 0x%x \"%s\", unknown attribute form (0x%x)", 0, 0
|
||||
};
|
||||
|
||||
struct deprecated_complaint unknown_attribute_length =
|
||||
{
|
||||
"DIE @ 0x%x \"%s\", unknown attribute length, skipped remaining attributes", 0, 0
|
||||
};
|
||||
|
||||
struct deprecated_complaint unexpected_fund_type =
|
||||
{
|
||||
"DIE @ 0x%x \"%s\", unexpected fundamental type 0x%x", 0, 0
|
||||
};
|
||||
|
||||
struct deprecated_complaint unknown_type_modifier =
|
||||
{
|
||||
"DIE @ 0x%x \"%s\", unknown type modifier %u", 0, 0
|
||||
};
|
||||
|
||||
struct deprecated_complaint volatile_ignored =
|
||||
{
|
||||
"DIE @ 0x%x \"%s\", type modifier 'volatile' ignored", 0, 0
|
||||
};
|
||||
|
||||
struct deprecated_complaint const_ignored =
|
||||
{
|
||||
"DIE @ 0x%x \"%s\", type modifier 'const' ignored", 0, 0
|
||||
};
|
||||
|
||||
struct deprecated_complaint botched_modified_type =
|
||||
{
|
||||
"DIE @ 0x%x \"%s\", botched modified type decoding (mtype 0x%x)", 0, 0
|
||||
};
|
||||
|
||||
struct deprecated_complaint op_deref2 =
|
||||
{
|
||||
"DIE @ 0x%x \"%s\", OP_DEREF2 address 0x%x not handled", 0, 0
|
||||
};
|
||||
|
||||
struct deprecated_complaint op_deref4 =
|
||||
{
|
||||
"DIE @ 0x%x \"%s\", OP_DEREF4 address 0x%x not handled", 0, 0
|
||||
};
|
||||
|
||||
struct deprecated_complaint basereg_not_handled =
|
||||
{
|
||||
"DIE @ 0x%x \"%s\", BASEREG %d not handled", 0, 0
|
||||
};
|
||||
|
||||
struct deprecated_complaint dup_user_type_allocation =
|
||||
{
|
||||
"DIE @ 0x%x \"%s\", internal error: duplicate user type allocation", 0, 0
|
||||
};
|
||||
|
||||
struct deprecated_complaint dup_user_type_definition =
|
||||
{
|
||||
"DIE @ 0x%x \"%s\", internal error: duplicate user type definition", 0, 0
|
||||
};
|
||||
|
||||
struct deprecated_complaint missing_tag =
|
||||
{
|
||||
"DIE @ 0x%x \"%s\", missing class, structure, or union tag", 0, 0
|
||||
};
|
||||
|
||||
struct deprecated_complaint bad_array_element_type =
|
||||
{
|
||||
"DIE @ 0x%x \"%s\", bad array element type attribute 0x%x", 0, 0
|
||||
};
|
||||
|
||||
struct deprecated_complaint subscript_data_items =
|
||||
{
|
||||
"DIE @ 0x%x \"%s\", can't decode subscript data items", 0, 0
|
||||
};
|
||||
|
||||
struct deprecated_complaint unhandled_array_subscript_format =
|
||||
{
|
||||
"DIE @ 0x%x \"%s\", array subscript format 0x%x not handled yet", 0, 0
|
||||
};
|
||||
|
||||
struct deprecated_complaint unknown_array_subscript_format =
|
||||
{
|
||||
"DIE @ 0x%x \"%s\", unknown array subscript format %x", 0, 0
|
||||
};
|
||||
|
||||
struct deprecated_complaint not_row_major =
|
||||
{
|
||||
"DIE @ 0x%x \"%s\", array not row major; not handled correctly", 0, 0
|
||||
};
|
||||
|
||||
struct deprecated_complaint missing_at_name =
|
||||
{
|
||||
"DIE @ 0x%x, AT_name tag missing", 0, 0
|
||||
};
|
||||
complaint (&symfile_complaints,
|
||||
"DIE @ 0x%x \"%s\", bad array element type attribute 0x%x", arg1,
|
||||
arg2, arg3);
|
||||
}
|
||||
|
||||
typedef unsigned int DIE_REF; /* Reference to a DIE */
|
||||
|
||||
@ -786,7 +708,7 @@ lookup_utype (DIE_REF die_ref)
|
||||
utypeidx = (die_ref - dbroff) / 4;
|
||||
if ((utypeidx < 0) || (utypeidx >= numutypes))
|
||||
{
|
||||
complain (&bad_die_ref, DIE_ID, DIE_NAME);
|
||||
bad_die_ref_complaint (DIE_ID, DIE_NAME, die_ref);
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -828,12 +750,14 @@ alloc_utype (DIE_REF die_ref, struct type *utypep)
|
||||
if ((utypeidx < 0) || (utypeidx >= numutypes))
|
||||
{
|
||||
utypep = dwarf_fundamental_type (current_objfile, FT_INTEGER);
|
||||
complain (&bad_die_ref, DIE_ID, DIE_NAME);
|
||||
bad_die_ref_complaint (DIE_ID, DIE_NAME, die_ref);
|
||||
}
|
||||
else if (*typep != NULL)
|
||||
{
|
||||
utypep = *typep;
|
||||
complain (&dup_user_type_allocation, DIE_ID, DIE_NAME);
|
||||
complaint (&symfile_complaints,
|
||||
"DIE @ 0x%x \"%s\", internal error: duplicate user type allocation",
|
||||
DIE_ID, DIE_NAME);
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -978,7 +902,9 @@ struct_type (struct dieinfo *dip, char *thisdie, char *enddie,
|
||||
default:
|
||||
/* Should never happen */
|
||||
TYPE_CODE (type) = TYPE_CODE_UNDEF;
|
||||
complain (&missing_tag, DIE_ID, DIE_NAME);
|
||||
complaint (&symfile_complaints,
|
||||
"DIE @ 0x%x \"%s\", missing class, structure, or union tag",
|
||||
DIE_ID, DIE_NAME);
|
||||
break;
|
||||
}
|
||||
/* Some compilers try to be helpful by inventing "fake" names for
|
||||
@ -1191,7 +1117,7 @@ decode_array_element_type (char *scan)
|
||||
scan += SIZEOF_ATTRIBUTE;
|
||||
if ((nbytes = attribute_size (attribute)) == -1)
|
||||
{
|
||||
complain (&bad_array_element_type, DIE_ID, DIE_NAME, attribute);
|
||||
bad_array_element_type_complaint (DIE_ID, DIE_NAME, attribute);
|
||||
typep = dwarf_fundamental_type (current_objfile, FT_INTEGER);
|
||||
}
|
||||
else
|
||||
@ -1218,7 +1144,7 @@ decode_array_element_type (char *scan)
|
||||
typep = decode_mod_u_d_type (scan);
|
||||
break;
|
||||
default:
|
||||
complain (&bad_array_element_type, DIE_ID, DIE_NAME, attribute);
|
||||
bad_array_element_type_complaint (DIE_ID, DIE_NAME, attribute);
|
||||
typep = dwarf_fundamental_type (current_objfile, FT_INTEGER);
|
||||
break;
|
||||
}
|
||||
@ -1306,7 +1232,9 @@ decode_subscript_data_item (char *scan, char *end)
|
||||
if (nexttype == NULL)
|
||||
{
|
||||
/* Munged subscript data or other problem, fake it. */
|
||||
complain (&subscript_data_items, DIE_ID, DIE_NAME);
|
||||
complaint (&symfile_complaints,
|
||||
"DIE @ 0x%x \"%s\", can't decode subscript data items",
|
||||
DIE_ID, DIE_NAME);
|
||||
nexttype = dwarf_fundamental_type (current_objfile, FT_INTEGER);
|
||||
}
|
||||
rangetype = create_range_type ((struct type *) NULL, indextype,
|
||||
@ -1320,13 +1248,17 @@ decode_subscript_data_item (char *scan, char *end)
|
||||
case FMT_UT_C_X:
|
||||
case FMT_UT_X_C:
|
||||
case FMT_UT_X_X:
|
||||
complain (&unhandled_array_subscript_format, DIE_ID, DIE_NAME, format);
|
||||
complaint (&symfile_complaints,
|
||||
"DIE @ 0x%x \"%s\", array subscript format 0x%x not handled yet",
|
||||
DIE_ID, DIE_NAME, format);
|
||||
nexttype = dwarf_fundamental_type (current_objfile, FT_INTEGER);
|
||||
rangetype = create_range_type ((struct type *) NULL, nexttype, 0, 0);
|
||||
typep = create_array_type ((struct type *) NULL, nexttype, rangetype);
|
||||
break;
|
||||
default:
|
||||
complain (&unknown_array_subscript_format, DIE_ID, DIE_NAME, format);
|
||||
complaint (&symfile_complaints,
|
||||
"DIE @ 0x%x \"%s\", unknown array subscript format %x", DIE_ID,
|
||||
DIE_NAME, format);
|
||||
nexttype = dwarf_fundamental_type (current_objfile, FT_INTEGER);
|
||||
rangetype = create_range_type ((struct type *) NULL, nexttype, 0, 0);
|
||||
typep = create_array_type ((struct type *) NULL, nexttype, rangetype);
|
||||
@ -1364,7 +1296,9 @@ dwarf_read_array_type (struct dieinfo *dip)
|
||||
if (dip->at_ordering != ORD_row_major)
|
||||
{
|
||||
/* FIXME: Can gdb even handle column major arrays? */
|
||||
complain (¬_row_major, DIE_ID, DIE_NAME);
|
||||
complaint (&symfile_complaints,
|
||||
"DIE @ 0x%x \"%s\", array not row major; not handled correctly",
|
||||
DIE_ID, DIE_NAME);
|
||||
}
|
||||
if ((sub = dip->at_subscr_data) != NULL)
|
||||
{
|
||||
@ -1394,7 +1328,7 @@ dwarf_read_array_type (struct dieinfo *dip)
|
||||
{
|
||||
/* Double ick! Not only is a type already in our slot, but
|
||||
someone has decorated it. Complain and leave it alone. */
|
||||
complain (&dup_user_type_definition, DIE_ID, DIE_NAME);
|
||||
dup_user_type_definition_complaint (DIE_ID, DIE_NAME);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1492,7 +1426,7 @@ read_tag_string_type (struct dieinfo *dip)
|
||||
is a blank one. If not, complain and leave it alone. */
|
||||
if (TYPE_CODE (utype) != TYPE_CODE_UNDEF)
|
||||
{
|
||||
complain (&dup_user_type_definition, DIE_ID, DIE_NAME);
|
||||
dup_user_type_definition_complaint (DIE_ID, DIE_NAME);
|
||||
return;
|
||||
}
|
||||
}
|
||||
@ -1558,7 +1492,7 @@ read_subroutine_type (struct dieinfo *dip, char *thisdie, char *enddie)
|
||||
}
|
||||
else
|
||||
{
|
||||
complain (&dup_user_type_definition, DIE_ID, DIE_NAME);
|
||||
dup_user_type_definition_complaint (DIE_ID, DIE_NAME);
|
||||
}
|
||||
}
|
||||
|
||||
@ -1774,7 +1708,8 @@ read_func_scope (struct dieinfo *dip, char *thisdie, char *enddie,
|
||||
FIXME: Add code to handle AT_abstract_origin tags properly. */
|
||||
if (dip->at_name == NULL)
|
||||
{
|
||||
complain (&missing_at_name, DIE_ID);
|
||||
complaint (&symfile_complaints, "DIE @ 0x%x, AT_name tag missing",
|
||||
DIE_ID);
|
||||
return;
|
||||
}
|
||||
|
||||
@ -2208,10 +2143,14 @@ locval (struct dieinfo *dip)
|
||||
break;
|
||||
case OP_DEREF2:
|
||||
/* pop, deref and push 2 bytes (as a long) */
|
||||
complain (&op_deref2, DIE_ID, DIE_NAME, stack[stacki]);
|
||||
complaint (&symfile_complaints,
|
||||
"DIE @ 0x%x \"%s\", OP_DEREF2 address 0x%lx not handled",
|
||||
DIE_ID, DIE_NAME, stack[stacki]);
|
||||
break;
|
||||
case OP_DEREF4: /* pop, deref and push 4 bytes (as a long) */
|
||||
complain (&op_deref4, DIE_ID, DIE_NAME, stack[stacki]);
|
||||
complaint (&symfile_complaints,
|
||||
"DIE @ 0x%x \"%s\", OP_DEREF4 address 0x%lx not handled",
|
||||
DIE_ID, DIE_NAME, stack[stacki]);
|
||||
break;
|
||||
case OP_ADD: /* pop top 2 items, add, push result */
|
||||
stack[stacki - 1] += stack[stacki];
|
||||
@ -2661,8 +2600,8 @@ scan_partial_symbols (char *thisdie, char *enddie, struct objfile *objfile)
|
||||
temp = dbbase + di.at_sibling - dbroff;
|
||||
if ((temp < thisdie) || (temp >= enddie))
|
||||
{
|
||||
complain (&bad_die_ref, DIE_ID, DIE_NAME,
|
||||
di.at_sibling);
|
||||
bad_die_ref_complaint (DIE_ID, DIE_NAME,
|
||||
di.at_sibling);
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -3180,7 +3119,9 @@ decode_modified_type (char *modifiers, unsigned int modcount, int mtype)
|
||||
}
|
||||
break;
|
||||
default:
|
||||
complain (&botched_modified_type, DIE_ID, DIE_NAME, mtype);
|
||||
complaint (&symfile_complaints,
|
||||
"DIE @ 0x%x \"%s\", botched modified type decoding (mtype 0x%x)",
|
||||
DIE_ID, DIE_NAME, mtype);
|
||||
typep = dwarf_fundamental_type (current_objfile, FT_INTEGER);
|
||||
break;
|
||||
}
|
||||
@ -3198,16 +3139,22 @@ decode_modified_type (char *modifiers, unsigned int modcount, int mtype)
|
||||
typep = lookup_reference_type (typep);
|
||||
break;
|
||||
case MOD_const:
|
||||
complain (&const_ignored, DIE_ID, DIE_NAME); /* FIXME */
|
||||
complaint (&symfile_complaints,
|
||||
"DIE @ 0x%x \"%s\", type modifier 'const' ignored", DIE_ID,
|
||||
DIE_NAME); /* FIXME */
|
||||
break;
|
||||
case MOD_volatile:
|
||||
complain (&volatile_ignored, DIE_ID, DIE_NAME); /* FIXME */
|
||||
complaint (&symfile_complaints,
|
||||
"DIE @ 0x%x \"%s\", type modifier 'volatile' ignored",
|
||||
DIE_ID, DIE_NAME); /* FIXME */
|
||||
break;
|
||||
default:
|
||||
if (!(MOD_lo_user <= (unsigned char) modifier
|
||||
&& (unsigned char) modifier <= MOD_hi_user))
|
||||
{
|
||||
complain (&unknown_type_modifier, DIE_ID, DIE_NAME, modifier);
|
||||
complaint (&symfile_complaints,
|
||||
"DIE @ 0x%x \"%s\", unknown type modifier %u", DIE_ID,
|
||||
DIE_NAME, modifier);
|
||||
}
|
||||
break;
|
||||
}
|
||||
@ -3349,7 +3296,9 @@ decode_fund_type (unsigned int fundtype)
|
||||
typep = dwarf_fundamental_type (current_objfile, FT_INTEGER);
|
||||
if (!(FT_lo_user <= fundtype && fundtype <= FT_hi_user))
|
||||
{
|
||||
complain (&unexpected_fund_type, DIE_ID, DIE_NAME, fundtype);
|
||||
complaint (&symfile_complaints,
|
||||
"DIE @ 0x%x \"%s\", unexpected fundamental type 0x%x",
|
||||
DIE_ID, DIE_NAME, fundtype);
|
||||
}
|
||||
}
|
||||
|
||||
@ -3447,7 +3396,9 @@ basicdieinfo (struct dieinfo *dip, char *diep, struct objfile *objfile)
|
||||
if ((dip->die_length < SIZEOF_DIE_LENGTH) ||
|
||||
((diep + dip->die_length) > (dbbase + dbsize)))
|
||||
{
|
||||
complain (&malformed_die, DIE_ID, DIE_NAME, dip->die_length);
|
||||
complaint (&symfile_complaints,
|
||||
"DIE @ 0x%x \"%s\", malformed DIE, bad length (%ld bytes)",
|
||||
DIE_ID, DIE_NAME, dip->die_length);
|
||||
dip->die_length = 0;
|
||||
}
|
||||
else if (dip->die_length < (SIZEOF_DIE_LENGTH + SIZEOF_DIE_TAG))
|
||||
@ -3513,7 +3464,9 @@ completedieinfo (struct dieinfo *dip, struct objfile *objfile)
|
||||
diep += SIZEOF_ATTRIBUTE;
|
||||
if ((nbytes = attribute_size (attr)) == -1)
|
||||
{
|
||||
complain (&unknown_attribute_length, DIE_ID, DIE_NAME);
|
||||
complaint (&symfile_complaints,
|
||||
"DIE @ 0x%x \"%s\", unknown attribute length, skipped remaining attributes",
|
||||
DIE_ID, DIE_NAME);
|
||||
diep = end;
|
||||
continue;
|
||||
}
|
||||
@ -3670,7 +3623,7 @@ completedieinfo (struct dieinfo *dip, struct objfile *objfile)
|
||||
diep += strlen (diep) + 1;
|
||||
break;
|
||||
default:
|
||||
complain (&unknown_attribute_form, DIE_ID, DIE_NAME, form);
|
||||
unknown_attribute_form_complaint (DIE_ID, DIE_NAME, form);
|
||||
diep = end;
|
||||
break;
|
||||
}
|
||||
@ -3727,7 +3680,9 @@ target_to_host (char *from, int nbytes, int signextend, /* FIXME: Unused */
|
||||
rtnval = bfd_get_8 (objfile->obfd, (bfd_byte *) from);
|
||||
break;
|
||||
default:
|
||||
complain (&no_bfd_get_N, DIE_ID, DIE_NAME, nbytes);
|
||||
complaint (&symfile_complaints,
|
||||
"DIE @ 0x%x \"%s\", no bfd support for %d byte data object",
|
||||
DIE_ID, DIE_NAME, nbytes);
|
||||
rtnval = 0;
|
||||
break;
|
||||
}
|
||||
@ -3782,7 +3737,7 @@ attribute_size (unsigned int attr)
|
||||
nbytes = TARGET_FT_POINTER_SIZE (objfile);
|
||||
break;
|
||||
default:
|
||||
complain (&unknown_attribute_form, DIE_ID, DIE_NAME, form);
|
||||
unknown_attribute_form_complaint (DIE_ID, DIE_NAME, form);
|
||||
nbytes = -1;
|
||||
break;
|
||||
}
|
||||
|
Reference in New Issue
Block a user