[rfc] Eliminate write_register from solib-sunos.c

Mark Kettenis mark.kettenis@xs4all.nl
Mon May 14 15:15:00 GMT 2007


> Date: Mon, 14 May 2007 17:00:12 +0200 (CEST)
> From: "Ulrich Weigand" <uweigand@de.ibm.com>
> 
> Daniel Jacobowitz wrote:
> > On Sat, May 12, 2007 at 02:31:13AM +0200, Ulrich Weigand wrote:
> > > Hello,
> > > 
> > > solib-sunos.c has a place where it adjusts the PC by DECR_PC_AFTER_BREAK.
> > > Unlike all other places to do so, it uses write_register (PC_REGNUM ...).
> > > 
> > > As I'm trying to eliminate write_register, I'd like to get rid of this.
> > > The following patch replaces the write_register call by write_pc.
> > > 
> > > Is this OK?
> > 
> > I noticed this call last week.  I'm not sure if any platform using
> > solib-sunos.c even triggers it... but if they do, I think it's
> > decrementing the PC twice.  Didn't infrun take care of it?
> 
> Hmm, good point.  I think infrun *should* take care of it; solib-sunos.c
> calls wait_for_inferior, which calls handle_inferior_event, which calls
> adjust_pc_after_break.
> 
> Interestingly enough, it would appear that none of the Solaris targets
> are actually using solib-sunos.o.  The only references I can find are
> in various bsd *native* target's .mh files.

This is the shared library support for the old SunOS 4.x (aka Solaris
1.x).  Solaris 2.x (aka SunOS 5.x) uses SVR4-style shared libraries.

> In fact, this is very weird as those same bsd targets have solib-svr4.o
> in their .mt files.  Which one is getting used in that case?  I'll try
> to find out what's going on here ...

There are some a.out BSD targets that use solib-sunos.o.  In
particular OpenBSD/m68k still uses it.  Interestingly enough, that
target sets DECR_PC_AFTER_BREAK to 2.  I'll fire up my Quadra 800 and
investigate somewhere later this week.

Mark



More information about the Gdb-patches mailing list