This is the mail archive of the gdb@sources.redhat.com 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]

Re: GDB on SGI Irix 6.5


|
|> From: Elena Zannoni <ezannoni@cygnus.com>
|> Date: Tue, 12 Jun 2001 16:03:49 -0400
|> 
|> Andrew Cagney writes:
|>  > [I'll take the liberty of adding Elena and Jim.  Might be useful to pose 
|>  > any follow on questions on gdb@]
|>  > 
|>  > > On Thu, 17 May 2001, David B Anderson wrote:
|>  > > 
|>  > > 
|>  > >> The 64bit dwarf2 that is read by read_initial_length is based on
|>  > >> dwarf 2.1, designed in 2000.  SGI 64bit dwarf2 was designed in
|>  > >> the early 1990's.  SGI made offsets etc 64bit in elf64
|>  > >> (and offsets etc 32bits in elf32).    
|>  > >> (basically we could not bring ourselves to limit dwarf 
|>  > >> offsets to 32 bits in an elf64 file...)
|>  > >> 
|>  > >> Anyway,  to be correct for IRIX6,  read_initial_length
|>  > >> needs to know it is IRIX elf64 and then
|>  > >> /* UNTESTED, NOT ALL THAT NEEDS TO BE DONE probably */
|>  > >> cu_header->initial_length_size = 8;
|>  > >> cu_header->offset_size = 8;
|>  > >> at least gives the right sizes.
|>  > > 
|>  > > 
|> 
|> Are these the only differences? Is anything SGI specific encoded in the
|> 'version' field of cu_header? Maybe that can be used. Is there somewhere 
|> in the debug info a field that tells that this is SGI's version?
|
|I don't see anything in the documents I got from Dave's site.  Dave,
|could you please answer these questions?
|
|Thanks for the other advice, I will look that up.

Hopefully already anwered. No, other field in dwarf2.

However, because IRIX is big-endian, and because no
compilation unit should have an
	initial-length
field with all zero bits,

A test for a dwarf2 CU (compilation unit) 
initial-length of zero followed 4 bytes
later by a correct version number for dwarf2
might suffice (in an elf64 big endian object) folowed by setting
up the initial_length_size and offset_size 
as above might suffice.

Whether this can be done sensibly multi-arch in gdb is not clear to me.

davea@sgi.com


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