From 7e78cfda8219a0e7d95232e15fe49cb4de620134 Mon Sep 17 00:00:00 2001 From: David Edelsohn Date: Tue, 25 Jul 2017 13:11:37 +0000 Subject: dwarf2asm.c (dw2_asm_output_nstring): Encode double quote character for AIX. * dwarf2asm.c (dw2_asm_output_nstring): Encode double quote character for AIX. * dwarf2out.c (output_macinfo): Copy debug_line_section_label to dl_section_ref. On AIX, append an expression to subtract the size of the section length to dl_section_ref. From-SVN: r250516 --- gcc/dwarf2out.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'gcc/dwarf2out.c') diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c index 2010450..5231683 100644 --- a/gcc/dwarf2out.c +++ b/gcc/dwarf2out.c @@ -26975,6 +26975,7 @@ output_macinfo (void) macinfo_entry *ref; vec *files = NULL; macinfo_hash_type *macinfo_htab = NULL; + char dl_section_ref[MAX_ARTIFICIAL_LABEL_BYTES]; if (! length) return; @@ -26985,6 +26986,12 @@ output_macinfo (void) && (int) DW_MACINFO_start_file == (int) DW_MACRO_start_file && (int) DW_MACINFO_end_file == (int) DW_MACRO_end_file); + /* AIX Assembler inserts the length, so adjust the reference to match the + offset expected by debuggers. */ + strcpy (dl_section_ref, debug_line_section_label); + if (XCOFF_DEBUGGING_INFO) + strcat (dl_section_ref, DWARF_INITIAL_LENGTH_SIZE_STR); + /* For .debug_macro emit the section header. */ if (!dwarf_strict || dwarf_version >= 5) { @@ -26995,7 +27002,7 @@ output_macinfo (void) else dw2_asm_output_data (1, 2, "Flags: 32-bit, lineptr present"); dw2_asm_output_offset (DWARF_OFFSET_SIZE, - (!dwarf_split_debug_info ? debug_line_section_label + (!dwarf_split_debug_info ? dl_section_ref : debug_skeleton_line_section_label), debug_line_section, NULL); } -- cgit v1.1