re PR target/82005 (Early lto debug not implemented on Darwin)
authorRichard Biener <rguenther@suse.de>
Fri, 2 Mar 2018 07:42:58 +0000 (07:42 +0000)
committerRichard Biener <rguenth@gcc.gnu.org>
Fri, 2 Mar 2018 07:42:58 +0000 (07:42 +0000)
2018-03-02  Richard Biener  <rguenther@suse.de>

PR target/82005
* config/darwin.c (saved_debug_info_level): New static global.
(darwin_asm_lto_start): Disable debug info generation for LTO out.
(darwin_asm_lto_end): Restore debug info generation settings.

From-SVN: r258123

gcc/ChangeLog
gcc/config/darwin.c

index ff97b4b..1b06b3e 100644 (file)
@@ -1,3 +1,10 @@
+2018-03-02  Richard Biener  <rguenther@suse.de>
+
+       PR target/82005
+       * config/darwin.c (saved_debug_info_level): New static global.
+       (darwin_asm_lto_start): Disable debug info generation for LTO out.
+       (darwin_asm_lto_end): Restore debug info generation settings.
+
 2018-03-01  Martin Liska  <mliska@suse.cz>
 
        PR sanitizer/82484
index 8dc2b9d..3a08aea 100644 (file)
@@ -1933,6 +1933,7 @@ static GTY (()) vec<darwin_lto_section_e, va_gc> *lto_section_names;
    in darwin_end_file.  */
 static FILE *lto_asm_out_file, *saved_asm_out_file;
 static char *lto_asm_out_name;
+static enum debug_info_levels saved_debug_info_level;
 
 /* Prepare asm_out_file for LTO output.  For darwin, this means hiding
    asm_out_file and switching to an alternative output file.  */
@@ -1941,6 +1942,8 @@ darwin_asm_lto_start (void)
 {
   gcc_assert (! saved_asm_out_file);
   saved_asm_out_file = asm_out_file;
+  saved_debug_info_level = debug_info_level;
+  debug_info_level = DINFO_LEVEL_NONE;
   if (! lto_asm_out_name)
     lto_asm_out_name = make_temp_file (".lto.s");
   lto_asm_out_file = fopen (lto_asm_out_name, "a");
@@ -1959,6 +1962,7 @@ darwin_asm_lto_end (void)
   fclose (lto_asm_out_file);
   asm_out_file = saved_asm_out_file;
   saved_asm_out_file = NULL;
+  debug_info_level = saved_debug_info_level;
 }
 
 static void