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>
|
2017-07-28 Bin Cheng <bin.cheng@arm.com>
|
||||||
|
|
||||||
Backport from mainline r250496
|
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++)
|
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);
|
||||||
|
|
|
@ -27076,6 +27076,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;
|
||||||
|
@ -27086,6 +27087,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)
|
||||||
{
|
{
|
||||||
|
@ -27096,7 +27103,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);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue