This is the mail archive of the gdb-patches@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]
Other format: [Raw text]

Re: [PATCH]: gdb/769 - segv fault on "info shared" on GDB 5.2.1 HPUX64 11.00


> On Oct 9,  5:42pm, Josh Martin wrote:
> 
> > Here's the ChangeLog entry that I forgot to post.  Unfortunately I cannot 
get 
> > expect to work on my system, so I can neither create a test case for this 
bug, 
> > nor verify other tests after this patch.
> > 
> >  - Josh Martin
> >  
> > 2002-09-28  Josh Martin  <timeslice@iname.com>
> >  
> > 	* solib.c (info_sharedlibrary_command): Added catch for potential
> > 	dereference of NULL pointer (current_target_so_ops).
> > 	Fix PR gdb/769.
> >  	
> > > For platforms that aren't covered by the gdb/solib-foo.c files and the 
gdbarch
> > > platform dependancy files the "info sharedlibrary" command will cause a 
> > > segmentation fault by dereferencing a NULL pointer (current_target_so_ops) 
in 
> > > gdb/solib.c:update_solib_list.  The patch checks if current_target_so_ops 
is 
> > > NULL, and if so it responds with a "command not implemented" message.
> > > 
> > > What I really wanted to do was to implement support for HPUX 11.00 64-bit 
> > w/GCC. 
> > > It shouldn't be too difficult as 64-bit GCC in HPUX 11.00 uses GNU ld and 
the 
> > > "standard" elf64hppa object format. Unfortunately I had no idea how to 
proceed 
> > > or where to find the neccesary information, thus I stuck with this 
"band-aid" 
> > > patch.
>
> Date: Thu, 5 Dec 2002 17:54:05 -0700
> From: Kevin Buettner <kevinb@redhat.com>
> 
> I've been thinking about this patch some more.
> 
> What I'm wondering is why your hpux target uses solib.o without defining
> an appropriate solib-hpux.c (or whatever) file?
> 
> Anyway, with regard to catching potential dereferences to a NULL
> current_target_so_ops, I'm inclined to handle this either via
> a gdb_assert() or an explicit check (perhaps in the TARGET_SO_* macros)
> with a call to internal_error().  Because that's really what it is.  We
> shouldn't be in solib.c at all if an appropriate backend hasn't been
> defined.
> 
> Kevin

I'm not involved with the HPUX maintainance/port of GDB, so I'm not completely 
sure, but I think there already is a backend for the HPUX libarary format (which 
is in 32-bit), but on a 64-bit HP platform the libraries are written in a 64-bit 
ELF format, at least with gcc and GNU ld, which goes through pa64solib.c.  I 
also noticed that GDB isn't reading the core files properly, it is still trying 
to open them in the 32-bit format, but I'm not sure if this is a problem with 
GDB, or the BFD libraries.

 - Josh Martin


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