Commit c7a52e72 by Iain Sandoe Committed by Iain Sandoe

Darwin does not support gsplit-dwarf.

2018-08-18  Iain Sandoe  <iain@sandoe.co.uk>

gcc/

	* config/darwin.c (darwin_override_options): If -gsplit-dwarf is set,
	emit a diagnostic that it is not supported and reset the option.
	* config/darwin.h (DRIVER_SELF_SPECS): Note that gsplit-dwarf is not
	supported and consume the option.  (ASM_FINAL_SPEC): New.

gcc/testsuite

	* g++.dg/debug/dwarf2/pr85302.C: Skip unsupported split DWARF
	test on Darwin.
	* g++.dg/debug/dwarf2/pr85302.C: Likewise.
	* gcc.dg/lto/pr83719_0.c: Likewise.

From-SVN: r263645
parent 2ed3a817
2018-08-18 Iain Sandoe <iain@sandoe.co.uk>
* config/darwin.c (darwin_override_options): If -gsplit-dwarf is set,
emit a diagnostic that it is not supported and reset the option.
* config/darwin.h (DRIVER_SELF_SPECS): Note that gsplit-dwarf is not
supported and consume the option. (ASM_FINAL_SPEC): New.
2018-08-17 Segher Boessenkool <segher@kernel.crashing.org> 2018-08-17 Segher Boessenkool <segher@kernel.crashing.org>
* doc/md.texi (Patterns): Use @ref instead of @xref in the middle of * doc/md.texi (Patterns): Use @ref instead of @xref in the middle of
......
...@@ -3176,6 +3176,14 @@ darwin_override_options (void) ...@@ -3176,6 +3176,14 @@ darwin_override_options (void)
if (!global_options_set.x_dwarf_version) if (!global_options_set.x_dwarf_version)
dwarf_version = 2; dwarf_version = 2;
if (global_options_set.x_dwarf_split_debug_info)
{
inform (input_location,
"-gsplit-dwarf is not supported on this platform, ignored");
dwarf_split_debug_info = 0;
global_options_set.x_dwarf_split_debug_info = 0;
}
/* Do not allow unwind tables to be generated by default for m32. /* Do not allow unwind tables to be generated by default for m32.
fnon-call-exceptions will override this, regardless of what we do. */ fnon-call-exceptions will override this, regardless of what we do. */
if (generating_for_darwin_version < 10 if (generating_for_darwin_version < 10
......
...@@ -122,7 +122,9 @@ extern GTY(()) int darwin_ms_struct; ...@@ -122,7 +122,9 @@ extern GTY(()) int darwin_ms_struct;
"%{gfull:-g -fno-eliminate-unused-debug-symbols} %<gfull", \ "%{gfull:-g -fno-eliminate-unused-debug-symbols} %<gfull", \
"%{gused:-g -feliminate-unused-debug-symbols} %<gused", \ "%{gused:-g -feliminate-unused-debug-symbols} %<gused", \
"%{fapple-kext|mkernel:-static}", \ "%{fapple-kext|mkernel:-static}", \
"%{shared:-Zdynamiclib} %<shared" "%{shared:-Zdynamiclib} %<shared", \
"%{gsplit-dwarf:%ngsplit-dwarf is not supported on this platform } \
%<gsplit-dwarf"
#define DARWIN_CC1_SPEC \ #define DARWIN_CC1_SPEC \
"%{findirect-virtual-calls: -fapple-kext} %<findirect-virtual-calls " \ "%{findirect-virtual-calls: -fapple-kext} %<findirect-virtual-calls " \
...@@ -421,6 +423,8 @@ extern GTY(()) int darwin_ms_struct; ...@@ -421,6 +423,8 @@ extern GTY(()) int darwin_ms_struct;
debugging data. */ debugging data. */
#define ASM_DEBUG_SPEC "%{g*:%{%:debug-level-gt(0):%{!gdwarf*:--gstabs}}}" #define ASM_DEBUG_SPEC "%{g*:%{%:debug-level-gt(0):%{!gdwarf*:--gstabs}}}"
#define ASM_FINAL_SPEC \
"%{gsplit-dwarf:%ngsplit-dwarf is not supported on this platform } %<gsplit-dwarf"
/* We still allow output of STABS if the assembler supports it. */ /* We still allow output of STABS if the assembler supports it. */
#ifdef HAVE_AS_STABS_DIRECTIVE #ifdef HAVE_AS_STABS_DIRECTIVE
......
2018-08-18 Iain Sandoe <iain@sandoe.co.uk>
* g++.dg/debug/dwarf2/pr85302.C: Skip unsupported split DWARF
test on Darwin.
* g++.dg/debug/dwarf2/pr85302.C: Likewise.
* gcc.dg/lto/pr83719_0.c: Likewise.
2018-08-17 Martin Sebor <msebor@redhat.com> 2018-08-17 Martin Sebor <msebor@redhat.com>
PR testsuite/86996 PR testsuite/86996
......
// PR debug/85302 // PR debug/85302
// { dg-do compile } // { dg-do compile }
// { dg-skip-if "split DWARF unsupported" { *-*-darwin* } }
// { dg-options "-std=c++11 -gsplit-dwarf -O1" } // { dg-options "-std=c++11 -gsplit-dwarf -O1" }
// { dg-additional-options "-fPIE" { target pie } } // { dg-additional-options "-fPIE" { target pie } }
......
/* { dg-lto-do assemble } */ /* { dg-lto-do assemble } */
/* { dg-skip-if "split DWARF unsupported" { *-*-darwin* } } */
/* { dg-lto-options { { -flto -g -gsplit-dwarf } } } */ /* { dg-lto-options { { -flto -g -gsplit-dwarf } } } */
/* Empty. */ /* Empty. */
/* { dg-do compile } */ /* { dg-do compile } */
/* { dg-skip-if "split DWARF unsupported" { *-*-darwin* } } */
/* { dg-options "-g -O2 -fno-var-tracking-assignments -gsplit-dwarf" } */ /* { dg-options "-g -O2 -fno-var-tracking-assignments -gsplit-dwarf" } */
/* This used to fail with location views (implicitly) enabled, because /* This used to fail with location views (implicitly) enabled, because
......
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