Unfortunately, there really is no middle ground.  THe only option is to ask 
Apple to fix -g to mean -gstabs on OS X.  I'm cross compiling from one version 
to another, so running an executable won't work.  Looking at the three or four 
ways that you can specify a target version won't work (especially since at 
least in 10.4, you could change them without command line or environment 
variables).

Sorry, there's no middle ground - this patch broke a use case that used to 
work.  I know you guys didn't know about -gstabs.  That doesn't make it right 
to do evil things.

Brian

On Jul 27, 2010, at 3:47 PM, Ralph Castain wrote:

> Can I offer a middle ground? I believe we have been burned enough with the -g 
> vs -gstabs situation on OSX that it merits defaulting "appropriately". So...
> 
> Can we detect if gstabs is actually supported by the OS vs the compiler?
> 
> If not, can we add logic that checks the OS target version and "does the 
> right thing"?
> 
> My concern here is that our users are no more informed than Jeff or I were, 
> and will almost certainly specify -g when what they really mean is "I want a 
> debuggable executable". Unfortunately, as we all know, that isn't what you 
> get on OSX once you hit 10.4 and above.
> 
> 
> 
> On Jul 27, 2010, at 3:29 PM, Barrett, Brian W wrote:
> 
>> On Jul 27, 2010, at 3:13 PM, Jeff Squyres wrote:
>> 
>>> On Jul 27, 2010, at 5:02 PM, Barrett, Brian W wrote:
>>> 
>>>> Yes, but say I'm using a custom built version of gcc that doesn't do 
>>>> -gstabs quite right.  Now you've screwed me.  
>>> 
>>> The configure test checks to see if -gstabs+ is accepted by the compiler.
>> 
>> Yes, but acceptance and usefulness are not the same thing.
>> 
>> If the TARGET_VERSION is 10.3, the compiler will accept -gstabs, but the 
>> executable won't be debugable on 10.3, because 10.3 didn't use gstabs.  So I 
>> really, really want -g and you've just prevented me from doing what I want.  
>> That's not just bad, it's awful.
>> 
>>>> I'm a firm believer that our configure script should do what the user 
>>>> says, as exactly as possible.  Changing AC behavior a little bit is a gray 
>>>> area, but one I'm almost ok with (since AC_PROG_CC will add -g if CFLAGS 
>>>> is empty).
>>> 
>>> We override that, though -- we take out that -g if CFLAGS was empty.
>>> 
>>> I understand what you're saying, and in general I agree -- that we should 
>>> add as little as possible to what the user said.  But I don't quite know 
>>> how to balance:
>>> 
>>> * adding as few flags as possible
>>> * making debugging symbols work for those of us who aren't familiar enough 
>>> with OSX to know that you need the special/secret -gstabs+ flag (and just 
>>> expect -g to be enough)
>>> 
>>> I've been developing POSIX software on a Mac for several years (i.e., not 
>>> Mac-specific software, so I never dived into the details of Mac-specific 
>>> functionality) and fell into the 2nd category until about a week ago.
>>> 
>>> Got any suggestions?
>> 
>> Yes, don't cause problems - if the user specified -g, assume he meant -g.  I 
>> understand what you're saying, but I'm against changing what the user 
>> specified because we know better.  We usually don't, and in this case, there 
>> are known use cases where that's true.
>> 
>> Brian
>> 
>> --
>> Brian W. Barrett
>> Dept. 1423: Scalable System Software
>> Sandia National Laboratories
>> 
>> 
>> 
>> 
>> 
>> _______________________________________________
>> devel mailing list
>> de...@open-mpi.org
>> http://www.open-mpi.org/mailman/listinfo.cgi/devel
> 
> 
> _______________________________________________
> devel mailing list
> de...@open-mpi.org
> http://www.open-mpi.org/mailman/listinfo.cgi/devel
> 

--
  Brian W. Barrett
  Dept. 1423: Scalable System Software
  Sandia National Laboratories





Reply via email to