This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [rfc] Eliminate write_register from solib-sunos.c
- From: Mark Kettenis <mark dot kettenis at xs4all dot nl>
- To: uweigand at de dot ibm dot com
- Cc: drow at false dot org, gdb-patches at sourceware dot org
- Date: Mon, 14 May 2007 17:15:24 +0200 (CEST)
- Subject: Re: [rfc] Eliminate write_register from solib-sunos.c
- References: <200705141500.l4EF0CH3027553@d12av02.megacenter.de.ibm.com>
> 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