[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