Re: gdb 11.1: struct inf lacks two members
Simon Marchi via Gdb <[email protected]>
| Newsgroups | gmane.comp.gdb.devel |
|---|---|
| Message-ID | <[email protected]> |
On 2021-11-02 19:11, Andrea Monaco via Gdb wrote: > > Hello, > > > after a successful configure, gdb 11.1 fails to make in my GNU/Hurd > system with the following errors: > > > CXX gnu-nat.o > gnu-nat.c: In member function 'virtual void gnu_nat_target::create_inferior(const char*, const string&, char**, int)': > gnu-nat.c:2117:13: error: 'struct inf' has no member named 'target_is_pushed' > 2117 | if (!inf->target_is_pushed (this)) > | ^~~~~~~~~~~~~~~~ > gnu-nat.c:2118:10: error: 'struct inf' has no member named 'push_target' > 2118 | inf->push_target (this); > | ^~~~~~~~~~~ > > > and some others follow. I found out that struct inf (from gnu-nat.c) is > only defined in the GNU/Hurd target, but it lacks the target_is_pushed > and push_target members which are part of class inferior (from > inferior.h). Is this a syntax error? > > > > Let me know, > > Andrea Monaco > Oh, my bad I think. This should use the "inferior" variable, not inf. As you mentioned, there's a "struct inf" type only defined in gnu-nat, and I got confused with the two similar variables. The change below should fix it, can you confirm? diff --git a/gdb/gnu-nat.c b/gdb/gnu-nat.c index 54838347f947..13afb3ed8b01 100644 --- a/gdb/gnu-nat.c +++ b/gdb/gnu-nat.c @@ -2108,8 +2108,8 @@ gnu_nat_target::create_inferior (const char *exec_file, inf_debug (inf, "creating inferior"); - if (!inf->target_is_pushed (this)) - inf->push_target (this); + if (!inferior->target_is_pushed (this)) + inferior->push_target (this); pid = fork_inferior (exec_file, allargs, env, gnu_ptrace_me, NULL, NULL, NULL, NULL);