[Bug target/43751] dsymutil is not called for fortran and, under some circumstances not for other FEs.

iains at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Sat Nov 27 09:55:00 GMT 2010


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43751

--- Comment #6 from Iain Sandoe <iains at gcc dot gnu.org> 2010-11-27 09:29:24 UTC ---
(In reply to comment #5)

Firstly, the patch mentioned at comment #2 is withdrawn - it's no longer
functional.

> 1. for Fortran, one can effect a fix by altering the dsymutil spec in
> config/darwin.h and config/darwin9.h thus:
> 
> .c|.cc|.C|.cpp|.cp|.c++|.cxx|.CPP|.m|.mm|.s|.f|.f90|.f95|.f03|.f77|.for|.F|.F90|.F95|.F03:
> 
> 2. The generic 'failing' is that the spec is looking at only the last item on
> the c/l -- if that happens to be a source file, the dSYM will be generated.  
> There isn't a generic facility to recognize *any* source file and post a flag
> (perhaps something worth considering in 4.7).
> 
> So, you need to make at least one of your source files the last entry on the
> c/l

Well this used to work, but no longer does.
The recent change to append the libgfortran.spec to the c/l means that one can
no longer do this.

we need a purpose-made capability to flag (any) source file present on the
command line [any language].

> 3. To avoid the need for the dSYM at all -- if all you want to do is to debug
> locally -- just use "-save-temps".

this is the only current work-around for exes built from source in a single
c/l.

(NOTE: when the objects are built and linked in separate stages, the dSYM is
not required in any event - since the objects are present in the build dir and
not deleted until the user does so.)



More information about the Gcc-bugs mailing list