diff mbox series

[pushed] Darwin, CTF, BTF: Do not run the DWARF debug link for BTF/CTF [PR101283].

Message ID E3FB99F2-EE6B-47AD-B2EC-2557F206CE75@sandoe.co.uk
State New
Headers show
Series [pushed] Darwin, CTF, BTF: Do not run the DWARF debug link for BTF/CTF [PR101283]. | expand

Commit Message

Iain Sandoe July 2, 2021, 2:52 p.m. UTC
Hi

Darwin uses an efficient two-stage process for debug linking.
The static linker (ld64) notes the inputs required but does not
link the debug.  When required / on demand the debug is linked
into a separate package by the debug linker (dsymutil).  At
present none of the Darwin tools consume or understand BTF/CTF.
The static linker silently accepts the sections (but will not
act on them as containing anything to be processed).

However, the debug linker produces a warning that it has been
presented with input with no [DWARF] debug content:
warning: no debug symbols in executable (-arch x86_64).

This causes several testsuite fails with excess errors.

fixed as attached.
tested on x86_64-darwin17, and 18.
pushed to master, thanks
Iain

Signed-off-by: Iain Sandoe <iain@sandoe.co.uk>

PR debug/101283 - Several tests fail on Darwin with -gctf/gbtf

	PR debug/101283

gcc/ChangeLog:

	* config/darwin.h (DSYMUTIL_SPEC): Do not try to run
	dsymutil for BTF/CTF.
---
 gcc/config/darwin.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
diff mbox series

Patch

diff --git a/gcc/config/darwin.h b/gcc/config/darwin.h
index 6840aebe794..5f119789973 100644
--- a/gcc/config/darwin.h
+++ b/gcc/config/darwin.h
@@ -250,10 +250,10 @@  extern GTY(()) int darwin_ms_struct;
 #define DSYMUTIL_SPEC \
    "%{!fdump=*:%{!fsyntax-only:%{!c:%{!M:%{!MM:%{!E:%{!S:\
     %{v} \
-    %{g*:%{!gstabs*:%{%:debug-level-gt(0): -idsym}}}\
+    %{g*:%{!gctf:%{!gbtf:%{!gstabs*:%{%:debug-level-gt(0): -idsym}}}}}\
     %{.c|.cc|.C|.cpp|.cp|.c++|.cxx|.CPP|.m|.mm|.s|.f|.f90|\
       .f95|.f03|.f77|.for|.F|.F90|.F95|.F03: \
-    %{g*:%{!gstabs*:%{%:debug-level-gt(0): -dsym}}}}}}}}}}}"
+    %{g*:%{!gctf:%{!gbtf:%{!gstabs*:%{%:debug-level-gt(0): -dsym}}}}}}}}}}}}}"
 
 #define LINK_COMMAND_SPEC LINK_COMMAND_SPEC_A DSYMUTIL_SPEC