Commit 7e78cfda by David Edelsohn Committed by David Edelsohn

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
parent 8595f67b
2017-07-25 David Edelsohn <dje.gcc@gmail.com>
* 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.
2017-07-25 Segher Boessenkool <segher@kernel.crashing.org> 2017-07-25 Segher Boessenkool <segher@kernel.crashing.org>
* configure.ac: If any of the config.* scripts fail, exit 1. * configure.ac: If any of the config.* scripts fail, exit 1.
......
...@@ -345,7 +345,9 @@ dw2_asm_output_nstring (const char *str, size_t orig_len, ...@@ -345,7 +345,9 @@ dw2_asm_output_nstring (const char *str, size_t orig_len,
for (i = 0; i < len; i++) for (i = 0; i < len; i++)
{ {
int c = str[i]; int c = str[i];
if (c == '\"' || c == '\\') if (c == '\"')
fputc (XCOFF_DEBUGGING_INFO ? '\"' : '\\', asm_out_file);
else if (c == '\\')
fputc ('\\', asm_out_file); fputc ('\\', asm_out_file);
if (ISPRINT (c)) if (ISPRINT (c))
fputc (c, asm_out_file); fputc (c, asm_out_file);
......
...@@ -26975,6 +26975,7 @@ output_macinfo (void) ...@@ -26975,6 +26975,7 @@ output_macinfo (void)
macinfo_entry *ref; macinfo_entry *ref;
vec<macinfo_entry, va_gc> *files = NULL; vec<macinfo_entry, va_gc> *files = NULL;
macinfo_hash_type *macinfo_htab = NULL; macinfo_hash_type *macinfo_htab = NULL;
char dl_section_ref[MAX_ARTIFICIAL_LABEL_BYTES];
if (! length) if (! length)
return; return;
...@@ -26985,6 +26986,12 @@ output_macinfo (void) ...@@ -26985,6 +26986,12 @@ output_macinfo (void)
&& (int) DW_MACINFO_start_file == (int) DW_MACRO_start_file && (int) DW_MACINFO_start_file == (int) DW_MACRO_start_file
&& (int) DW_MACINFO_end_file == (int) DW_MACRO_end_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. */ /* For .debug_macro emit the section header. */
if (!dwarf_strict || dwarf_version >= 5) if (!dwarf_strict || dwarf_version >= 5)
{ {
...@@ -26995,7 +27002,7 @@ output_macinfo (void) ...@@ -26995,7 +27002,7 @@ output_macinfo (void)
else else
dw2_asm_output_data (1, 2, "Flags: 32-bit, lineptr present"); dw2_asm_output_data (1, 2, "Flags: 32-bit, lineptr present");
dw2_asm_output_offset (DWARF_OFFSET_SIZE, 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_skeleton_line_section_label),
debug_line_section, NULL); debug_line_section, NULL);
} }
......
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