backport: dwarf2asm.c (dw2_asm_output_nstring): Encode double quote character for AIX.
Backport from mainline 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. From-SVN: r250663
This commit is contained in:
parent
c2ca7b74ce
commit
fc626ac32f
|
@ -1,3 +1,14 @@
|
|||
2017-07-28 David Edelsohn <dje.gcc@gmail.com>
|
||||
|
||||
Backport from mainline
|
||||
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-28 Bin Cheng <bin.cheng@arm.com>
|
||||
|
||||
Backport from mainline r250496
|
||||
|
|
|
@ -345,7 +345,9 @@ dw2_asm_output_nstring (const char *str, size_t orig_len,
|
|||
for (i = 0; i < len; i++)
|
||||
{
|
||||
int c = str[i];
|
||||
if (c == '\"' || c == '\\')
|
||||
if (c == '\"')
|
||||
fputc (XCOFF_DEBUGGING_INFO ? '\"' : '\\', asm_out_file);
|
||||
else if (c == '\\')
|
||||
fputc ('\\', asm_out_file);
|
||||
if (ISPRINT (c))
|
||||
fputc (c, asm_out_file);
|
||||
|
|
|
@ -27076,6 +27076,7 @@ output_macinfo (void)
|
|||
macinfo_entry *ref;
|
||||
vec<macinfo_entry, va_gc> *files = NULL;
|
||||
macinfo_hash_type *macinfo_htab = NULL;
|
||||
char dl_section_ref[MAX_ARTIFICIAL_LABEL_BYTES];
|
||||
|
||||
if (! length)
|
||||
return;
|
||||
|
@ -27086,6 +27087,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)
|
||||
{
|
||||
|
@ -27096,7 +27103,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);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue