rename debug_line fix flag and revert behavior

This commit is contained in:
Stan H 2023-04-04 09:33:02 +02:00
parent 5e572a91b9
commit 7b2372d922
3 changed files with 20 additions and 17 deletions

View File

@ -4323,10 +4323,10 @@ output_line_info ()
ASM_GENERATE_INTERNAL_LABEL (p1, LN_PROLOG_AS_LABEL, 0);
ASM_GENERATE_INTERNAL_LABEL (p2, LN_PROLOG_END_LABEL, 0);
if (flag_legacy_debug_info)
ASM_OUTPUT_DWARF_DATA (asm_out_file, size_of_line_info ());
else
if (flag_fixed_debug_line_info)
ASM_OUTPUT_DWARF_DELTA (asm_out_file, l2, l1);
else
ASM_OUTPUT_DWARF_DATA (asm_out_file, size_of_line_info ());
if (flag_debug_asm)
fprintf (asm_out_file, "\t%s Length of Source Line Info.",
@ -4334,7 +4334,8 @@ output_line_info ()
fputc ('\n', asm_out_file);
if (!flag_legacy_debug_info)
if (flag_fixed_debug_line_info)
/* start of .debug_line */
ASM_OUTPUT_LABEL(asm_out_file, l1);
ASM_OUTPUT_DWARF_DATA2 (asm_out_file, DWARF_VERSION);
@ -4343,17 +4344,18 @@ output_line_info ()
fputc ('\n', asm_out_file);
if (flag_legacy_debug_info)
ASM_OUTPUT_DWARF_DATA (asm_out_file, size_of_line_prolog ());
else
if (flag_fixed_debug_line_info)
ASM_OUTPUT_DWARF_DELTA (asm_out_file, p2, p1);
else
ASM_OUTPUT_DWARF_DATA (asm_out_file, size_of_line_prolog ());
if (flag_debug_asm)
fprintf (asm_out_file, "\t%s Prolog Length", ASM_COMMENT_START);
fputc ('\n', asm_out_file);
if (!flag_legacy_debug_info)
if (flag_fixed_debug_line_info)
/* start of .debug_line prologue */
ASM_OUTPUT_LABEL(asm_out_file, p1);
ASM_OUTPUT_DWARF_DATA1 (asm_out_file, DWARF_LINE_MIN_INSTR_LENGTH);
@ -4450,7 +4452,8 @@ output_line_info ()
ASM_OUTPUT_DWARF_DATA1 (asm_out_file, 0);
fputc ('\n', asm_out_file);
if (!flag_legacy_debug_info)
if (flag_fixed_debug_line_info)
/* end of .debug_line prologue */
ASM_OUTPUT_LABEL (asm_out_file, p2);
/* Set the address register to the first location in the text section */
@ -4769,8 +4772,8 @@ output_line_info ()
}
}
if (!flag_legacy_debug_info)
/* Output the marker for the end of the line number info. */
if (flag_fixed_debug_line_info)
/* end of .debug_line */
ASM_OUTPUT_LABEL (asm_out_file, l2);
}

View File

@ -451,6 +451,6 @@ extern enum graph_dump_types graph_dump_format;
/* Nonzero if ASM output should use hex instead of decimal. */
extern int flag_hex_asm;
/* Nonzero if generated DWARF debug info should match (buggy) original
GCC 2.95.x behavior. */
extern int flag_legacy_debug_info;
/* Nonzero if generated DWARF debug info should be corrected rather than
match the original (buggy) GCC 2.95.x output. */
extern int flag_fixed_debug_line_info;

View File

@ -586,7 +586,7 @@ int flag_instrument_function_entry_exit = 0;
int flag_hex_asm = 0;
/* Use old (buggy) DWARF line info generator. */
int flag_legacy_debug_info = 0;
int flag_fixed_debug_line_info = 0;
typedef struct
{
@ -727,8 +727,8 @@ lang_independent_options f_options[] =
"Instrument function entry/exit with profiling calls"},
{"hex-asm", &flag_hex_asm, 1,
"Use hex instead of decimal in assembly output"},
{"legacy-debug-line-info", &flag_legacy_debug_info, 1,
"Generate old (buggy) DWARF line info"},
{"fix-debug-line", &flag_fixed_debug_line_info, 1,
"Generate fixed DWARF line info"},
};
#define NUM_ELEM(a) (sizeof (a) / sizeof ((a)[0]))