]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commit
gdb: remove HAVE_DECL_PTRACE
authorSimon Marchi <simon.marchi@efficios.com>
Fri, 20 Mar 2020 15:57:49 +0000 (11:57 -0400)
committerSimon Marchi <simon.marchi@efficios.com>
Fri, 20 Mar 2020 15:57:49 +0000 (11:57 -0400)
commitc884cc46193c98fd0b90ce8a79c081f6a1c18cc6
tree4881f686ec5c7cd8f44ead22588fee7cc59f78c1
parent1ff700c202465275d1ca3aee4dd979db36274294
gdb: remove HAVE_DECL_PTRACE

I stumbled on this snippet in nat/gdb_ptrace.h:

    /* Some systems, in particular DEC OSF/1, Digital Unix, Compaq Tru64
       or whatever it's called these days, don't provide a prototype for
       ptrace.  Provide one to silence compiler warnings.  */

    #ifndef HAVE_DECL_PTRACE
    extern PTRACE_TYPE_RET ptrace();
    #endif

I believe this is unnecessary today and should be removed.  First, the
comment only mentions OSes we don't support (and to be honest, I had
never even heard of).

But most importantly, in C++, a declaration with empty parenthesis
declares a function that accepts no arguments, unlike in C.  So if this
declaration was really used, GDB wouldn't build, since all ptrace call
sites pass some arguments.  Since we haven't heard anything about this
causing some build failures since we have transitioned to C++, I
conclude that it's not used.

This patch removes it as well as the corresponding configure check.

gdb/ChangeLog:

* ptrace.m4: Don't check for ptrace declaration.
* config.in: Re-generate.
* configure: Re-generate.
* nat/gdb_ptrace.h: Don't declare ptrace if HAVE_DECL_PTRACE is
not defined.

gdbserver/ChangeLog:

* config.in: Re-generate.
* configure: Re-generate.

gdbsupport/ChangeLog:

* config.in: Re-generate.
* configure: Re-generate.
gdb/ChangeLog
gdb/config.in
gdb/configure
gdb/nat/gdb_ptrace.h
gdb/ptrace.m4
gdbserver/ChangeLog
gdbserver/config.in
gdbserver/configure
gdbsupport/ChangeLog
gdbsupport/config.in
gdbsupport/configure