[1/1] Adjust fallback definition of DBREG_DRX for netbsd

Message ID 20170605120737.GA13182@SDF.ORG
State New, archived
Headers

Commit Message

coypu June 5, 2017, 12:07 p.m. UTC
  This was originally inteded for freebsd~=5. freebsd has since moved
to the definition here, including the rename dr0->dr.

netbsd now uses the same definitions as freebsd, including the use
of dr instead of dr0, but doesn't provide this macro.
---
 gdb/x86-bsd-nat.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)
  

Comments

John Baldwin June 6, 2017, 5:43 p.m. UTC | #1
On Monday, June 05, 2017 12:07:37 PM coypu wrote:
> This was originally inteded for freebsd~=5. freebsd has since moved
> to the definition here, including the rename dr0->dr.
> 
> netbsd now uses the same definitions as freebsd, including the use
> of dr instead of dr0, but doesn't provide this macro.
> ---
>  gdb/x86-bsd-nat.c | 5 ++---
>  1 file changed, 2 insertions(+), 3 deletions(-)
> 
> diff --git a/gdb/x86-bsd-nat.c b/gdb/x86-bsd-nat.c
> index 2ff661c1..81bd0ad1 100644
> --- a/gdb/x86-bsd-nat.c
> +++ b/gdb/x86-bsd-nat.c
> @@ -51,10 +51,9 @@ x86bsd_mourn_inferior (struct target_ops *ops)
>    super_mourn_inferior (ops);
>  }
>  
> -/* Not all versions of FreeBSD/i386 that support the debug registers
> -   have this macro.  */
> +/* NetBSD doesn't provide a definition of this macro */
>  #ifndef DBREG_DRX
> -#define DBREG_DRX(d, x) ((&d->dr0)[x])
> +#define DBREG_DRX(d,x)  ((d)->dr[(x)])
>  #endif
>  
>  static unsigned long

This is fine with me in that I don't think it's worth providing the alternate
definition for really-old FreeBSD that used dr0.
  
coypu June 23, 2017, 1:37 a.m. UTC | #2
On Tue, Jun 06, 2017 at 10:43:24AM -0700, John Baldwin wrote:
> On Monday, June 05, 2017 12:07:37 PM coypu wrote:
> > This was originally inteded for freebsd~=5. freebsd has since moved
> > to the definition here, including the rename dr0->dr.
> > 
> > netbsd now uses the same definitions as freebsd, including the use
> > of dr instead of dr0, but doesn't provide this macro.
> > ---
> >  gdb/x86-bsd-nat.c | 5 ++---
> >  1 file changed, 2 insertions(+), 3 deletions(-)
> > 
> > diff --git a/gdb/x86-bsd-nat.c b/gdb/x86-bsd-nat.c
> > index 2ff661c1..81bd0ad1 100644
> > --- a/gdb/x86-bsd-nat.c
> > +++ b/gdb/x86-bsd-nat.c
> > @@ -51,10 +51,9 @@ x86bsd_mourn_inferior (struct target_ops *ops)
> >    super_mourn_inferior (ops);
> >  }
> >  
> > -/* Not all versions of FreeBSD/i386 that support the debug registers
> > -   have this macro.  */
> > +/* NetBSD doesn't provide a definition of this macro */
> >  #ifndef DBREG_DRX
> > -#define DBREG_DRX(d, x) ((&d->dr0)[x])
> > +#define DBREG_DRX(d,x)  ((d)->dr[(x)])
> >  #endif
> >  
> >  static unsigned long
> 
> This is fine with me in that I don't think it's worth providing the alternate
> definition for really-old FreeBSD that used dr0.
> 

I can't commit. if it's ok, can someone do it?

Thanks.
  
coypu June 29, 2017, 3:37 p.m. UTC | #3
On Tue, Jun 06, 2017 at 10:43:24AM -0700, John Baldwin wrote:
> On Monday, June 05, 2017 12:07:37 PM coypu wrote:
> > This was originally inteded for freebsd~=5. freebsd has since moved
> > to the definition here, including the rename dr0->dr.
> > 
> > netbsd now uses the same definitions as freebsd, including the use
> > of dr instead of dr0, but doesn't provide this macro.
> > ---
> >  gdb/x86-bsd-nat.c | 5 ++---
> >  1 file changed, 2 insertions(+), 3 deletions(-)
> > 
> > diff --git a/gdb/x86-bsd-nat.c b/gdb/x86-bsd-nat.c
> > index 2ff661c1..81bd0ad1 100644
> > --- a/gdb/x86-bsd-nat.c
> > +++ b/gdb/x86-bsd-nat.c
> > @@ -51,10 +51,9 @@ x86bsd_mourn_inferior (struct target_ops *ops)
> >    super_mourn_inferior (ops);
> >  }
> >  
> > -/* Not all versions of FreeBSD/i386 that support the debug registers
> > -   have this macro.  */
> > +/* NetBSD doesn't provide a definition of this macro */
> >  #ifndef DBREG_DRX
> > -#define DBREG_DRX(d, x) ((&d->dr0)[x])
> > +#define DBREG_DRX(d,x)  ((d)->dr[(x)])
> >  #endif
> >  
> >  static unsigned long
> 
> This is fine with me in that I don't think it's worth providing the alternate
> definition for really-old FreeBSD that used dr0.
> 

so... ping x2? why not commit it? I don't have commit access

dealing with gnu's patch mailing lists is making me want to quit being
involved with open source.
  
Pedro Alves July 6, 2017, 12:13 a.m. UTC | #4
> On Tue, Jun 06, 2017 at 10:43:24AM -0700, John Baldwin wrote:

>> This is fine with me in that I don't think it's worth providing the alternate
>> definition for really-old FreeBSD that used dr0.

John, since we have no active/official maintainer for any
other BSD flavor, I think you should fell free to push changes
in these BSD-related areas, after some reasonable period
for comments.  (I think we've waited enough already.)

Thanks,
Pedro Alves
  

Patch

diff --git a/gdb/x86-bsd-nat.c b/gdb/x86-bsd-nat.c
index 2ff661c1..81bd0ad1 100644
--- a/gdb/x86-bsd-nat.c
+++ b/gdb/x86-bsd-nat.c
@@ -51,10 +51,9 @@  x86bsd_mourn_inferior (struct target_ops *ops)
   super_mourn_inferior (ops);
 }
 
-/* Not all versions of FreeBSD/i386 that support the debug registers
-   have this macro.  */
+/* NetBSD doesn't provide a definition of this macro */
 #ifndef DBREG_DRX
-#define DBREG_DRX(d, x) ((&d->dr0)[x])
+#define DBREG_DRX(d,x)  ((d)->dr[(x)])
 #endif
 
 static unsigned long