status of Darwin support

Tristan Gingold gingold@adacore.com
Mon Aug 10 09:41:00 GMT 2009


On Aug 6, 2009, at 1:13 PM, Christian Thalinger wrote:

> Joel Brobecker wrote:
>>> Joel would probably know. My best guess is that even if Darwin  
>>> support
>>> is much better now, the MI incompatibilities would mean that you
>>> wouldn't be able to drop FSF's GDB in place of Apple's for Xcode.
>>
>> Actually, I won't know that much more. Tristan is the one who looks
>> after that port. As far as I know, we're using it internally, to
>> debug GNAT for instance, and it seems to be working well.  Thiago
>> is right about the bunch of local additions that Apple made to GDB,
>> though.
>
> Hmm, I have problems with shared libraries.  One thing is that the
> shared library is only found when it's in the current directory,
> otherwise:
>
> (gdb) r
> Starting program: /Users/twisti/bsd-port/hotspot/build/bsd/ 
> bsd_i486_compiler2/jvmg/gamma
> dyld: Library not loaded: libjvm.dylib
>  Referenced from: /Users/twisti/bsd-port/hotspot/build/bsd/ 
> bsd_i486_compiler2/jvmg/gamma
>  Reason: image not found
>
> Even if the path to the library is in DYLD_LIBRARY_PATH.

Unknown issue.  Can you try to investigate by yourself (ie, check that  
your program can see DYLD_LIBRARY_PATH and is not setuid/setgid) ?

You may also post a tiny reproducer and I will look at this when I  
have spare time.


>  The other
> problem is that debugging symbols for shared libraries are not loaded.
> I can set a breakpoint in the main executable and debug it:
>
> (gdb) c
> Continuing.
>
> Breakpoint 2, CreateExecutionEnvironment (_argcp=0xbffff630,  
> _argvp=0xbffff634, jrepath=0xbffff194 "", so_jrepath=1024,  
> jvmpath=0xbfffed94 "", so_jvmpath=1024,
>    original_argv=0x1005c0) at /Users/twisti/bsd-port/hotspot/src/os/ 
> bsd/launcher/java_md.c:238
> 238	    char *execname = NULL;
> (gdb) bt
> #0  CreateExecutionEnvironment (_argcp=0xbffff630,  
> _argvp=0xbffff634, jrepath=0xbffff194 "", so_jrepath=1024,  
> jvmpath=0xbfffed94 "", so_jvmpath=1024, original_argv=0x1005c0)
>    at /Users/twisti/bsd-port/hotspot/src/os/bsd/launcher/java_md.c:238
> #1  0x00001ce6 in main (argc=2, argv=0xbffff654) at /Users/twisti/ 
> bsd-port/hotspot/src/os/bsd/launcher/java.c:250
>
> But an assert in the shared library gives:
>
> And yes, it has debugging symbols.  Anything I can do to change that?

I have just committed a patch that may fix this issue.

Do not hesitate to report issues also gdb for Darwin is not yet  
feature full.

Tristan.



More information about the Gdb mailing list