This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] Fix gdb.arch/aarch64-dbreg-contents.exp build failures



> On 25 Feb 2020, at 13:15, Luis Machado <luis.machado@linaro.org> wrote:
> 
> I ran into the following failures when running tests under QEMU:
> 
> --
> 
> gdb compile failed, binutils-gdb/gdb/testsuite/gdb.arch/aarch64-dbreg-contents.c: In function 'set_watchpoint':
> binutils-gdb/gdb/testsuite/gdb.arch/aarch64-dbreg-contents.c:41:29: error: storage size of 'dreg_state' isn't known
>   struct user_hwdebug_state dreg_state;
>                             ^~~~~~~~~~
> In file included from /usr/include/aarch64-linux-gnu/bits/types/struct_iovec.h:23:0,
>                 from /usr/include/aarch64-linux-gnu/sys/uio.h:23,
>                 from binutils-gdb/gdb/testsuite/gdb.arch/aarch64-dbreg-contents.c:17:
> binutils-gdb/gdb/testsuite/gdb.arch/aarch64-dbreg-contents.c:69:18: error: invalid use of undefined type 'struct user_hwdebug_state'
>   iov.iov_len = (offsetof (struct user_hwdebug_state, dbg_regs)
>                  ^
> binutils-gdb/gdb/testsuite/gdb.arch/aarch64-dbreg-contents.c:74:5: warning: implicit declaration of function 'error'; did you mean 'errno'? [-Wimplicit-function-declaration]
>     error (1, errno, "PTRACE_SETREGSET: NT_ARM_HW_WATCH");
>     ^~~~~
>     errno
> binutils-gdb/gdb/testsuite/gdb.arch/aarch64-dbreg-contents.c: In function 'main':
> binutils-gdb/gdb/testsuite/gdb.arch/aarch64-dbreg-contents.c:87:3: warning: implicit declaration of function 'atexit'; did you mean '_Exit'? [-Wimplicit-function-declaration]
>   atexit (cleanup);
>   ^~~~~~
>   _Exit
> binutils-gdb/gdb/testsuite/gdb.arch/aarch64-dbreg-contents.c:89:11: warning: implicit declaration of function 'fork' [-Wimplicit-function-declaration]
>   child = fork ();
> 
>           ^~~~
> 
> --
> 
> The following patch fixes those by adding the necessary include files.
> 
> With that said, the test doesn't pass at present. I'll have to investigate it
> a bit more.
> 
> gdb/testsuite/ChangeLog:
> 
> 2020-02-25  Luis Machado  <luis.machado@linaro.org>
> 
> 	* gdb.arch/aarch64-dbreg-contents.c: Include stdlib.h, unistd,
> 	asm/ptrace.h and error.h.
> 
> Signed-off-by: Luis Machado <luis.machado@linaro.org>
> ---
> gdb/testsuite/gdb.arch/aarch64-dbreg-contents.c | 4 ++++
> 1 file changed, 4 insertions(+)
> 
> diff --git a/gdb/testsuite/gdb.arch/aarch64-dbreg-contents.c b/gdb/testsuite/gdb.arch/aarch64-dbreg-contents.c
> index 66ca76f847..ca690f63de 100644
> --- a/gdb/testsuite/gdb.arch/aarch64-dbreg-contents.c
> +++ b/gdb/testsuite/gdb.arch/aarch64-dbreg-contents.c
> @@ -9,13 +9,17 @@
>   freely.  */
> 
> #define _GNU_SOURCE 1
> +#include <stdlib.h>
> +#include <unistd.h>
> #include <sys/ptrace.h>
> +#include <asm/ptrace.h>

I get a little concerned when we have to include multiple sys, asm, bits etc
version of a header. However, saying that we include both of these in many
aarch64 gdb files (eg aarch64-linux-hw-point.c).

Ok to push.

> #include <assert.h>
> #include <sys/wait.h>
> #include <stddef.h>
> #include <errno.h>
> #include <sys/uio.h>
> #include <elf.h>
> +#include <error.h>
> 
> static pid_t child;
> 
> -- 
> 2.17.1
> 


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]