This is the mail archive of the gcc-patches@gcc.gnu.org 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: [Patch, target] Sort out some issues in config{,/*}/darwin*.h


On 14 Apr 2010, at 18:44, Peter O'Gorman wrote:

o macro-ized DSYMUTIL so that we can change it without editing the specs.
o Provided a wrapper for the system-supplied dsymutil that allows us to edit out bogus warnings.
this is installed in $(libexecdir) . The initial version filters the message that gives us problems
like PR43254.

I think this is not such a bad idea. People building linux -> darwin
cross compilers (At least, I think they exist) currently may have to
edit the specs so that dsymutil is not called, because it is not an open
source project at Apple.

well.. they would have to provide a dummy dsymutil or some configury stuff to edit that out of the script.
(but that's a pretty easy thing to do).


Since your wrapper always exits successfully
they shouldn't need to do that anymore... Are you sure that the wrapper
should always exit successfully?

tricky one that...
the problem is detecting a case which is should fail but is not the case we wish to edit
specifically, there could be more than one error message so editing ours out is not sufficient proof there are no more.


I reconciled this internally by saying to myself :
A. this is the last phase - it will not mislead the User into thinking the compile succeeded if it didn't.
B. Any other messages from dsymutil will still be presented - and therefore cause testsuite fails - or alert the end user.


(a) Always runs when we are generating an exe - IMO this is more intuitive to the end user - and
it side-steps the problem with the existing spec.

I don't actually agree with this, but don't feel that strongly about it
either.


o Filter out -lm and re-apply it where needed. [I've provided a bolt-hole for anyone who wants to
force -lm (-force_lm) at least until we confirm that this is not an issue.]

There are multpile libraries that are just symlinks to libSystem (libc,
libinfo, libpthread, libdl, for example). It seems odd to treat libm
specially here. If the original problem was a test suite failure, why
not fix the test suite to not add -lm on darwin? Sorry, I know this will
drive you nuts, but I don't get from the PR why you chose this
workaround. If memory serves correctly libm has always been a symlink to
libSystem (or the System framework in 10.0). There is no need to treat
different darwin versions differently here.

Well, I think that compiler cognoscenti will easily understand why we run dsymutil in the case of temp files .. .
... but it ain't so obvious to a non-compiler-thinking end user why he doesn't get a dSYM file from his make output.


o fixed darwin10 not to provide no_compact_unwind when building for <10.6.
Was this actually causing a problem?

I don't think we have metrics on this one way or the other - I am merely preserving the code-generation status quo.
If one is targeting 10.4 from a 10.6 system - it could conceivably be an issue.


Sorry, I didn't spend much time looking at the PRs, I will look more
closely this evening.

thanks, all input is appreciated.


Iain


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