This is the mail archive of the mailing list for the GCC project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: specs question.

On 13 Apr 2010, at 00:22, Ian Lance Taylor wrote:

IainS <> writes:

yeah .. we use it in Darwin's dsymutil spec.

   %{.c|.cc|.C|.cpp|.cp|.c++|.cxx|.CPP|.m|.mm: \
  %{gdwarf-2:%{!gstabs*:%{!g0: dsymutil %{o*:%*}%{!
   %{!A:%{!nostdlib:%{!nostartfiles:%E}}} %{T*} %{F*} }}}}}}}\n"

if you put "-lm" on the c/l dsymutil doesn't get called.

Note that in the specs language the %{.XXX: ...} is matched against the filename passed to the gcc driver. It doesn't know the source language of a .o file. So if you are linking, and passing .o files, then this approach won't work.

well, my first question to myself was 'why are there not ".o" and ".a" in the list?' ;))

There are two aspects to this ...
1/ the fact that this is probably not the right thing to do in that spec - easily solved by deleting it..

2/ The weird effect where putting -lm on the c/l causes the substitution to fail - which hints at a deeper problem.
FWIW I couldn't (quickly) find any other spec using that syntax - so perhaps it's not important.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]