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.

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


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