aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon Marchi <simon.marchi@efficios.com>2020-03-20 11:57:49 -0400
committerSimon Marchi <simon.marchi@efficios.com>2020-03-20 11:57:49 -0400
commitc884cc46193c98fd0b90ce8a79c081f6a1c18cc6 (patch)
tree4881f686ec5c7cd8f44ead22588fee7cc59f78c1
parent1ff700c202465275d1ca3aee4dd979db36274294 (diff)
downloadgdb-c884cc46193c98fd0b90ce8a79c081f6a1c18cc6.zip
gdb-c884cc46193c98fd0b90ce8a79c081f6a1c18cc6.tar.gz
gdb-c884cc46193c98fd0b90ce8a79c081f6a1c18cc6.tar.bz2
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.
-rw-r--r--gdb/ChangeLog8
-rw-r--r--gdb/config.in4
-rwxr-xr-xgdb/configure20
-rw-r--r--gdb/nat/gdb_ptrace.h8
-rw-r--r--gdb/ptrace.m46
-rw-r--r--gdbserver/ChangeLog5
-rw-r--r--gdbserver/config.in4
-rwxr-xr-xgdbserver/configure20
-rw-r--r--gdbsupport/ChangeLog5
-rw-r--r--gdbsupport/config.in4
-rwxr-xr-xgdbsupport/configure20
11 files changed, 19 insertions, 85 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 650b74b..393b0d2 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,11 @@
+2020-03-20 Simon Marchi <simon.marchi@efficios.com>
+
+ * 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.
+
2020-03-20 Kamil Rytarowski <n54@gmx.com>
* amd64-bsd-nat.c (gdb_ptrace): Change return type from `int' to
diff --git a/gdb/config.in b/gdb/config.in
index 7a34b85..118e424 100644
--- a/gdb/config.in
+++ b/gdb/config.in
@@ -109,10 +109,6 @@
don't. */
#undef HAVE_DECL_GETTHRDS
-/* Define to 1 if you have the declaration of `ptrace', and to 0 if you don't.
- */
-#undef HAVE_DECL_PTRACE
-
/* Define to 1 if you have the declaration of `snprintf', and to 0 if you
don't. */
#undef HAVE_DECL_SNPRINTF
diff --git a/gdb/configure b/gdb/configure
index 614f340..afafc2c 100755
--- a/gdb/configure
+++ b/gdb/configure
@@ -15000,26 +15000,6 @@ gdb_ptrace_headers='
# include <unistd.h>
#endif
'
-# There is no point in checking if we don't have a prototype.
-ac_fn_c_check_decl "$LINENO" "ptrace" "ac_cv_have_decl_ptrace" "$gdb_ptrace_headers
-"
-if test "x$ac_cv_have_decl_ptrace" = xyes; then :
- ac_have_decl=1
-else
- ac_have_decl=0
-fi
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_PTRACE $ac_have_decl
-_ACEOF
-if test $ac_have_decl = 1; then :
-
-else
-
- : ${gdb_cv_func_ptrace_ret='int'}
- : ${gdb_cv_func_ptrace_args='int,int,long,long'}
-
-fi
# Check return type. Varargs (used on GNU/Linux) conflict with the
# empty argument list, so check for that explicitly.
diff --git a/gdb/nat/gdb_ptrace.h b/gdb/nat/gdb_ptrace.h
index 9c2587f..1278246 100644
--- a/gdb/nat/gdb_ptrace.h
+++ b/gdb/nat/gdb_ptrace.h
@@ -121,14 +121,6 @@
# endif
#endif
-/* 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
-
/* Some systems, at least AIX and HP-UX have a ptrace with five
arguments. Since we never use the fifth argument, define a ptrace
macro that calls the real ptrace with the last argument set to
diff --git a/gdb/ptrace.m4 b/gdb/ptrace.m4
index 4cd7652..0fcd855 100644
--- a/gdb/ptrace.m4
+++ b/gdb/ptrace.m4
@@ -31,11 +31,7 @@ gdb_ptrace_headers='
# include <unistd.h>
#endif
'
-# There is no point in checking if we don't have a prototype.
-AC_CHECK_DECLS(ptrace, [], [
- : ${gdb_cv_func_ptrace_ret='int'}
- : ${gdb_cv_func_ptrace_args='int,int,long,long'}
-], $gdb_ptrace_headers)
+
# Check return type. Varargs (used on GNU/Linux) conflict with the
# empty argument list, so check for that explicitly.
AC_CACHE_CHECK([return type of ptrace], gdb_cv_func_ptrace_ret,
diff --git a/gdbserver/ChangeLog b/gdbserver/ChangeLog
index ea8a079..37e3861 100644
--- a/gdbserver/ChangeLog
+++ b/gdbserver/ChangeLog
@@ -1,3 +1,8 @@
+2020-03-20 Simon Marchi <simon.marchi@efficios.com>
+
+ * config.in: Re-generate.
+ * configure: Re-generate.
+
2020-03-17 Kamil Rytarowski <n54@gmx.com>
* regcache.cc (find_register_by_number): Update.
diff --git a/gdbserver/config.in b/gdbserver/config.in
index e627950..da1bdbe 100644
--- a/gdbserver/config.in
+++ b/gdbserver/config.in
@@ -50,10 +50,6 @@
*/
#undef HAVE_DECL_PERROR
-/* Define to 1 if you have the declaration of `ptrace', and to 0 if you don't.
- */
-#undef HAVE_DECL_PTRACE
-
/* Define to 1 if you have the declaration of `snprintf', and to 0 if you
don't. */
#undef HAVE_DECL_SNPRINTF
diff --git a/gdbserver/configure b/gdbserver/configure
index 55cf241..0de11f7 100755
--- a/gdbserver/configure
+++ b/gdbserver/configure
@@ -9413,26 +9413,6 @@ gdb_ptrace_headers='
# include <unistd.h>
#endif
'
-# There is no point in checking if we don't have a prototype.
-ac_fn_c_check_decl "$LINENO" "ptrace" "ac_cv_have_decl_ptrace" "$gdb_ptrace_headers
-"
-if test "x$ac_cv_have_decl_ptrace" = xyes; then :
- ac_have_decl=1
-else
- ac_have_decl=0
-fi
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_PTRACE $ac_have_decl
-_ACEOF
-if test $ac_have_decl = 1; then :
-
-else
-
- : ${gdb_cv_func_ptrace_ret='int'}
- : ${gdb_cv_func_ptrace_args='int,int,long,long'}
-
-fi
# Check return type. Varargs (used on GNU/Linux) conflict with the
# empty argument list, so check for that explicitly.
diff --git a/gdbsupport/ChangeLog b/gdbsupport/ChangeLog
index f62e440..7631b2d 100644
--- a/gdbsupport/ChangeLog
+++ b/gdbsupport/ChangeLog
@@ -1,3 +1,8 @@
+2020-03-20 Simon Marchi <simon.marchi@efficios.com>
+
+ * config.in: Re-generate.
+ * configure: Re-generate.
+
2020-03-17 Kamil Rytarowski <n54@gmx.com>
* common-defs.h: Include alloca.h if HAVE_ALLOCA_H is defined.
diff --git a/gdbsupport/config.in b/gdbsupport/config.in
index 6a6b0bc..94e90ec 100644
--- a/gdbsupport/config.in
+++ b/gdbsupport/config.in
@@ -43,10 +43,6 @@
/* Define to 1 if you have the declaration of `ffs', and to 0 if you don't. */
#undef HAVE_DECL_FFS
-/* Define to 1 if you have the declaration of `ptrace', and to 0 if you don't.
- */
-#undef HAVE_DECL_PTRACE
-
/* Define to 1 if you have the declaration of `snprintf', and to 0 if you
don't. */
#undef HAVE_DECL_SNPRINTF
diff --git a/gdbsupport/configure b/gdbsupport/configure
index 2ffe539..186cac6 100755
--- a/gdbsupport/configure
+++ b/gdbsupport/configure
@@ -10666,26 +10666,6 @@ gdb_ptrace_headers='
# include <unistd.h>
#endif
'
-# There is no point in checking if we don't have a prototype.
-ac_fn_c_check_decl "$LINENO" "ptrace" "ac_cv_have_decl_ptrace" "$gdb_ptrace_headers
-"
-if test "x$ac_cv_have_decl_ptrace" = xyes; then :
- ac_have_decl=1
-else
- ac_have_decl=0
-fi
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_PTRACE $ac_have_decl
-_ACEOF
-if test $ac_have_decl = 1; then :
-
-else
-
- : ${gdb_cv_func_ptrace_ret='int'}
- : ${gdb_cv_func_ptrace_args='int,int,long,long'}
-
-fi
# Check return type. Varargs (used on GNU/Linux) conflict with the
# empty argument list, so check for that explicitly.