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
This commit is contained in:
parent
0b7879085e
commit
333b2f3146
@ -1,3 +1,11 @@
|
|||||||
|
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,
|
|||||||
{
|
{
|
||||||
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)
|
|||||||
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)
|
|||||||
|
|
||||||
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)
|
|||||||
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)
|
|||||||
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)
|
|||||||
|
|
||||||
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)
|
|||||||
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;
|
||||||
|
Loading…
Reference in New Issue
Block a user