aboutsummaryrefslogtreecommitdiff
path: root/gcc/dwarf2asm.cc
diff options
context:
space:
mode:
authorMartin Liska <mliska@suse.cz>2022-09-07 11:47:40 +0200
committerMartin Liska <mliska@suse.cz>2022-09-07 14:18:04 +0200
commit7abcdb06e31d82d4933cb6e0a626c3ccb28fa0c3 (patch)
treeb4adf7a01fd9ced3a957dac3b46ea5e308b4e40e /gcc/dwarf2asm.cc
parenta262f969d6fd936f4fb5d9e1d5756b0dcbc925b2 (diff)
downloadgcc-7abcdb06e31d82d4933cb6e0a626c3ccb28fa0c3.zip
gcc-7abcdb06e31d82d4933cb6e0a626c3ccb28fa0c3.tar.gz
gcc-7abcdb06e31d82d4933cb6e0a626c3ccb28fa0c3.tar.bz2
Restore XCOFF for DWARF on AIX.
PR bootstrap/106855 gcc/ChangeLog: * collect2.cc (scan_prog_file): Restore if XCOFF_DEBUGGING_INFO. * config/rs6000/rs6000.cc (rs6000_option_override_internal): Restore usage of XCOFF_DEBUGGING_INFO. * config/rs6000/xcoff.h (XCOFF_DEBUGGING_INFO): Restore. * dwarf2asm.cc (XCOFF_DEBUGGING_INFO): Restore support for XCOFF_DEBUGGING_INFO. (dw2_asm_output_nstring): Likewise. (USE_LINKONCE_INDIRECT): Likewise. * dwarf2out.cc (XCOFF_DEBUGGING_INFO): Likewise. (HAVE_XCOFF_DWARF_EXTRAS): Likewise. (output_fde): Likewise. (output_call_frame_info): Likewise. (have_macinfo): Likewise. (add_AT_loc_list): Likewise. (add_AT_view_list): Likewise. (output_compilation_unit_header): Likewise. (output_pubnames): Likewise. (output_aranges): Likewise. (output_line_info): Likewise. (output_macinfo): Likewise. (dwarf2out_finish): Likewise. (dwarf2out_early_finish): Likewise.
Diffstat (limited to 'gcc/dwarf2asm.cc')
-rw-r--r--gcc/dwarf2asm.cc13
1 files changed, 10 insertions, 3 deletions
diff --git a/gcc/dwarf2asm.cc b/gcc/dwarf2asm.cc
index 7eac83f..274f574 100644
--- a/gcc/dwarf2asm.cc
+++ b/gcc/dwarf2asm.cc
@@ -35,6 +35,10 @@ along with GCC; see the file COPYING3. If not see
#include "emit-rtl.h"
#include "fold-const.h"
+#ifndef XCOFF_DEBUGGING_INFO
+#define XCOFF_DEBUGGING_INFO 0
+#endif
+
/* Output an unaligned integer with the given value and size. Prefer not
to print a newline, since the caller may want to add a comment. */
@@ -380,13 +384,16 @@ dw2_asm_output_nstring (const char *str, size_t orig_len,
if (flag_debug_asm && comment)
{
- fputs ("\t.ascii \"", asm_out_file);
+ if (XCOFF_DEBUGGING_INFO)
+ fputs ("\t.byte \"", asm_out_file);
+ else
+ fputs ("\t.ascii \"", asm_out_file);
for (i = 0; i < len; i++)
{
int c = str[i];
if (c == '\"')
- fputc ('\\', asm_out_file);
+ fputc (XCOFF_DEBUGGING_INFO ? '\"' : '\\', asm_out_file);
else if (c == '\\')
fputc ('\\', asm_out_file);
if (ISPRINT (c))
@@ -906,7 +913,7 @@ static GTY(()) hash_map<const char *, tree> *indirect_pool;
static GTY(()) int dw2_const_labelno;
#if defined(HAVE_GAS_HIDDEN)
-# define USE_LINKONCE_INDIRECT (SUPPORTS_ONE_ONLY)
+# define USE_LINKONCE_INDIRECT (SUPPORTS_ONE_ONLY && !XCOFF_DEBUGGING_INFO)
#else
# define USE_LINKONCE_INDIRECT 0
#endif