[PATCH] gdb/hurd: pass memory_tagged as false to find_memory_region_ftype

Enze Li enze.li@hotmail.com
Sun Jul 24 03:59:55 GMT 2022


On Fri, 2022-07-22 at 15:47 +0100, Luis Machado wrote:
> Hi,
> 
> 
> On 7/22/22 15:11, Enze Li via Gdb-patches wrote:
> > I tried building GDB on GNU/Hurd, and ran into this error:
> > 
> >    CXX    gnu-nat.o
> > gnu-nat.c: In member function ‘virtual int
> > gnu_nat_target::find_memory_regions(find_memory_region_ftype,
> > void*)’:
> > gnu-nat.c:2620:21: error: too few arguments to function
> >   2620 |             (*func) (last_region_address,
> >        |             ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
> >   2621 |                      last_region_end -
> > last_region_address,
> >        |                     
> > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> >   2622 |                      last_protection & VM_PROT_READ,
> >        |                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> >   2623 |                      last_protection & VM_PROT_WRITE,
> >        |                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> >   2624 |                      last_protection & VM_PROT_EXECUTE,
> >        |                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> >   2625 |                      1, /* MODIFIED is unknown, pass it as
> > true.  */
> >        |                     
> > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> >   2626 |                      data);
> >        |                      ~~~~~
> > gnu-nat.c:2635:13: error: too few arguments to function
> >   2635 |     (*func) (last_region_address, last_region_end -
> > last_region_address,
> >        |    
> > ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> > ~
> >   2636 |              last_protection & VM_PROT_READ,
> >        |              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> >   2637 |              last_protection & VM_PROT_WRITE,
> >        |              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> >   2638 |              last_protection & VM_PROT_EXECUTE,
> >        |              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> >   2639 |              1, /* MODIFIED is unknown, pass it as true. 
> > */
> >        |             
> > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> >   2640 |              data);
> >        |              ~~~~~
> > make[2]: *** [Makefile:1926: gnu-nat.o] Error 1
> > 
> > This is because in this commit:
> > 
> >    commit 68cffbbd4406b4efe1aa6e18460b1d7ca02549f1
> >    Date:   Thu Mar 31 11:42:35 2022 +0100
> > 
> >        [AArch64] MTE corefile support
> > 
> > Added a new argument to find_memory_region_ftype, but did not pass
> > it to
> > the function in gnu-nat.c.  Fix this by passing memory_tagged as
> > false.
> > 
> > Tested by rebuilding on GNU/Hurd.
> > ---
> >   gdb/gnu-nat.c | 2 ++
> >   1 file changed, 2 insertions(+)
> > 
> > diff --git a/gdb/gnu-nat.c b/gdb/gnu-nat.c
> > index 72314824278..5dd4d148c76 100644
> > --- a/gdb/gnu-nat.c
> > +++ b/gdb/gnu-nat.c
> > @@ -2623,6 +2623,7 @@ gnu_nat_target::find_memory_regions
> > (find_memory_region_ftype func,
> >                      last_protection & VM_PROT_WRITE,
> >                      last_protection & VM_PROT_EXECUTE,
> >                      1, /* MODIFIED is unknown, pass it as true. 
> > */
> > +                    false, /* No memory tags in the object file. 
> > */
> >                      data);
> >           last_region_address = region_address;
> >           last_region_end = region_address += region_length;
> > @@ -2637,6 +2638,7 @@ gnu_nat_target::find_memory_regions
> > (find_memory_region_ftype func,
> >              last_protection & VM_PROT_WRITE,
> >              last_protection & VM_PROT_EXECUTE,
> >              1, /* MODIFIED is unknown, pass it as true.  */
> > +            false, /* No memory tags in the object file.  */
> >              data);
> >   
> >     return 0;
> 
> Sorry for the breakage. I should have spotted those invocations.
> 

Hi Luis,

> fbsd-nat.c and netbsd-nat.c will require similar fixes I suppose.

I'm with you on that, but I did not have these development environments
at the time and could not test them.  Fortunately, I just now set up
the FreeBSD and NetBSD test environments and reproduced the issue.

I've sent the v2 of this patch to the gdb-patch@list[1].

[1] https://sourceware.org/pipermail/gdb-patches/2022-July/191034.html

Best Regards,
Enze

> 
> It would be nice to use this opportunity to add hurd/fbsd/netbsd
> builders to the sourceware buildbot so these issues show up earlier,
> potentially before a commit.



More information about the Gdb-patches mailing list