+2016-10-02 Jakub Jelinek <jakub@redhat.com>
+
+ * dwarf2out.c (output_fde, output_call_frame_info,
+ dwarf2out_do_cfi_startproc, set_indirect_string,
+ gen_internal_sym, output_die, output_line_info): Use
+ MAX_ARTIFICIAL_LABEL_BYTES as char array sizes for
+ ASM_GENERATE_INTERNAL_LABEL output.
+
2016-10-01 Richard Biener <rguenther@suse.de>
PR middle-end/77798
{
const char *begin, *end;
static unsigned int j;
- char l1[20], l2[20];
+ char l1[MAX_ARTIFICIAL_LABEL_BYTES], l2[MAX_ARTIFICIAL_LABEL_BYTES];
targetm.asm_out.emit_unwind_label (asm_out_file, fde->decl, for_eh,
/* empty */ 0);
unsigned int i;
dw_fde_ref fde;
dw_cfi_ref cfi;
- char l1[20], l2[20], section_start_label[20];
+ char l1[MAX_ARTIFICIAL_LABEL_BYTES], l2[MAX_ARTIFICIAL_LABEL_BYTES];
+ char section_start_label[MAX_ARTIFICIAL_LABEL_BYTES];
bool any_lsda_needed = false;
char augmentation[6];
int augmentation_size;
if (crtl->uses_eh_lsda)
{
- char lab[20];
+ char lab[MAX_ARTIFICIAL_LABEL_BYTES];
enc = ASM_PREFERRED_EH_DATA_FORMAT (/*code=*/0, /*global=*/0);
ASM_GENERATE_INTERNAL_LABEL (lab, second ? "LLSDAC" : "LLSDA",
static void
set_indirect_string (struct indirect_string_node *node)
{
- char label[32];
+ char label[MAX_ARTIFICIAL_LABEL_BYTES];
/* Already indirect is a no op. */
if (node->form == DW_FORM_strp || node->form == DW_FORM_GNU_str_index)
{
static char *
gen_internal_sym (const char *prefix)
{
- char buf[256];
+ char buf[MAX_ARTIFICIAL_LABEL_BYTES];
ASM_GENERATE_INTERNAL_LABEL (buf, prefix, label_num++);
return xstrdup (buf);
case dw_val_class_fde_ref:
{
- char l1[20];
+ char l1[MAX_ARTIFICIAL_LABEL_BYTES];
ASM_GENERATE_INTERNAL_LABEL (l1, FDE_LABEL,
a->dw_attr_val.v.val_fde_index * 2);
static void
output_line_info (bool prologue_only)
{
- char l1[20], l2[20], p1[20], p2[20];
+ char l1[MAX_ARTIFICIAL_LABEL_BYTES], l2[MAX_ARTIFICIAL_LABEL_BYTES];
+ char p1[MAX_ARTIFICIAL_LABEL_BYTES], p2[MAX_ARTIFICIAL_LABEL_BYTES];
/* We don't support DWARFv5 line tables yet. */
int ver = dwarf_version < 5 ? dwarf_version : 4;
bool saw_one = false;