This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB 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: [i386/fyi] small adjustment to i386 frame code


> FYI: I'm not at all sure I agree with your assertion of impossibility.
> But when I tried to debug native Windows code, my main problem was
> figuring out the starts of symbols.  The DLLs themselves don't have
> enough symbolic information in them.  Things that look like a single
> function are actually often many functions in a row, only one of which
> was exported.

Humpf, that could indeed mess things up. We've seen this on IRIX as well
IIRC (static symbols not beeing part of the symbol table after the link).

> Symbolic info files are available automatically from Microsoft, but it
> seems like a serious hassle to auto-download them.  And if you want to
> get a lot of useful information out of them you need a DLL (which is
> freely distributable) but also its header (which isn't; it's part of
> the commercial Visual Studio offerings only).  That's where I gave up.
> 
> It should be possible to do this very nicely.  I was considering a
> standalone program, not part of GDB, which would generate separate
> symbol files in a non-Microsoft format that GDB could understand
> (maybe Dwarf).  As long as you don't redistribute the result I
> think that's OK by the MS licensing.  I just didn't have time to work
> on it myself.

This is very interesting information, thanks!  Just some thoughts...

It looks like a very nice project for a Windows lover (I'm the
opposite). I wonder what the implications would be in terms of
licensing if we used the header.

Here's what I'm thinking: Make the header optional during compile
time. If found, then use it. Then make the DLL optional during
runtime. If found, then load it, and then use it. That way,
users that download the sources can build with extra support.
Companies like us who provide binaries should be able to use
the header file just during the build, and would not need to
distribute.

Actually, I'm not sure about making the DLL optional at link time.
My experience with libunwind use in GDB tells me that it might be
better to link the DLL in at build time.

-- 
Joel


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