Commit 333b2f31 by Jakub Jelinek Committed by Jakub Jelinek

dwarf2out.c (output_fde, [...]): Use MAX_ARTIFICIAL_LABEL_BYTES as char array sizes for...

	* 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.

From-SVN: r240701
parent 0b787908
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> 2016-10-01 Richard Biener <rguenther@suse.de>
PR middle-end/77798 PR middle-end/77798
......
...@@ -567,7 +567,7 @@ output_fde (dw_fde_ref fde, bool for_eh, bool second, ...@@ -567,7 +567,7 @@ output_fde (dw_fde_ref fde, bool for_eh, bool second,
{ {
const char *begin, *end; const char *begin, *end;
static unsigned int j; 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, targetm.asm_out.emit_unwind_label (asm_out_file, fde->decl, for_eh,
/* empty */ 0); /* empty */ 0);
...@@ -722,7 +722,8 @@ output_call_frame_info (int for_eh) ...@@ -722,7 +722,8 @@ output_call_frame_info (int for_eh)
unsigned int i; unsigned int i;
dw_fde_ref fde; dw_fde_ref fde;
dw_cfi_ref cfi; 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; bool any_lsda_needed = false;
char augmentation[6]; char augmentation[6];
int augmentation_size; int augmentation_size;
...@@ -966,7 +967,7 @@ dwarf2out_do_cfi_startproc (bool second) ...@@ -966,7 +967,7 @@ dwarf2out_do_cfi_startproc (bool second)
if (crtl->uses_eh_lsda) if (crtl->uses_eh_lsda)
{ {
char lab[20]; char lab[MAX_ARTIFICIAL_LABEL_BYTES];
enc = ASM_PREFERRED_EH_DATA_FORMAT (/*code=*/0, /*global=*/0); enc = ASM_PREFERRED_EH_DATA_FORMAT (/*code=*/0, /*global=*/0);
ASM_GENERATE_INTERNAL_LABEL (lab, second ? "LLSDAC" : "LLSDA", ASM_GENERATE_INTERNAL_LABEL (lab, second ? "LLSDAC" : "LLSDA",
...@@ -4128,7 +4129,7 @@ AT_string (dw_attr_node *a) ...@@ -4128,7 +4129,7 @@ AT_string (dw_attr_node *a)
static void static void
set_indirect_string (struct indirect_string_node *node) set_indirect_string (struct indirect_string_node *node)
{ {
char label[32]; char label[MAX_ARTIFICIAL_LABEL_BYTES];
/* Already indirect is a no op. */ /* Already indirect is a no op. */
if (node->form == DW_FORM_strp || node->form == DW_FORM_GNU_str_index) if (node->form == DW_FORM_strp || node->form == DW_FORM_GNU_str_index)
{ {
...@@ -7076,7 +7077,7 @@ is_template_instantiation (dw_die_ref die) ...@@ -7076,7 +7077,7 @@ is_template_instantiation (dw_die_ref die)
static char * static char *
gen_internal_sym (const char *prefix) gen_internal_sym (const char *prefix)
{ {
char buf[256]; char buf[MAX_ARTIFICIAL_LABEL_BYTES];
ASM_GENERATE_INTERNAL_LABEL (buf, prefix, label_num++); ASM_GENERATE_INTERNAL_LABEL (buf, prefix, label_num++);
return xstrdup (buf); return xstrdup (buf);
...@@ -9382,7 +9383,7 @@ output_die (dw_die_ref die) ...@@ -9382,7 +9383,7 @@ output_die (dw_die_ref die)
case dw_val_class_fde_ref: case dw_val_class_fde_ref:
{ {
char l1[20]; char l1[MAX_ARTIFICIAL_LABEL_BYTES];
ASM_GENERATE_INTERNAL_LABEL (l1, FDE_LABEL, ASM_GENERATE_INTERNAL_LABEL (l1, FDE_LABEL,
a->dw_attr_val.v.val_fde_index * 2); a->dw_attr_val.v.val_fde_index * 2);
...@@ -10710,7 +10711,8 @@ output_one_line_info_table (dw_line_info_table *table) ...@@ -10710,7 +10711,8 @@ output_one_line_info_table (dw_line_info_table *table)
static void static void
output_line_info (bool prologue_only) 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. */ /* We don't support DWARFv5 line tables yet. */
int ver = dwarf_version < 5 ? dwarf_version : 4; int ver = dwarf_version < 5 ? dwarf_version : 4;
bool saw_one = false; bool saw_one = false;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment