configure: Re-disable building cross-gdbserver

Message ID alpine.LFD.2.21.2002081532520.18621@redsun52.ssa.fujisawa.hgst.com
State Superseded
Headers

Commit Message

Maciej W. Rozycki Feb. 8, 2020, 4:21 p.m. UTC
  Correct fallout from commit 919adfe84092 ("Move gdbserver to top level") 
and revert to not building `gdbserver' in a cross-configuration, that is 
where host != target, matching the documented behaviour.  We have no way 
to support non-native `gdbserver', and native `gdbserver' is usually of 
no use with cross-GDB of the chosen host.

	* configure.ac: Do not build `gdbserver' if $is_cross_compiler.
	* configure: Regenerate.
---
Hi,

 Verified with a native build, a crossed build of a native configuration 
and a build of a cross-debugger; Canadian Cross not checked.  OK to apply?

 NB I have noticed that the gdbserver(1) man page is still being built and 
installed (as ${target_alias}-gdbserver.1, if building a cross-debugger), 
even if `gdbserver' itself is not (and it is not built if only `gdbserver' 
is while GDB is not).  Obviously this is due to the man page still living 
under gdb/doc/, and I presume it will be addressed sometime soon, by 
moving the man page somewhere under gdbserver/, right?

 Also there are currently a number of mismatches in configure.ac between 
the gcc and the binutils-gdb repositories; what is the plan to eliminate 
them?

  Maciej
---
 configure    |    5 +++--
 configure.ac |    5 +++--
 2 files changed, 6 insertions(+), 4 deletions(-)

gdbserver-no-cross.diff
  

Comments

Tom Tromey Feb. 11, 2020, 3:24 p.m. UTC | #1
>>>>> "Maciej" == Maciej W Rozycki <macro@wdc.com> writes:

Maciej> Correct fallout from commit 919adfe84092 ("Move gdbserver to top level") 
Maciej> and revert to not building `gdbserver' in a cross-configuration, that is 
Maciej> where host != target, matching the documented behaviour.  We have no way 
Maciej> to support non-native `gdbserver', and native `gdbserver' is usually of 
Maciej> no use with cross-GDB of the chosen host.

Pedro had a different way to do this, that keeps the decision under
gdbserver's control:

https://sourceware.org/ml/gdb-patches/2020-02/msg00383.html

Also note that I haven't sent the top-level configury patches upstream
to gcc yet.  I am going to do this all at once, at the end.  I think
there's one more patch that will be needed, once gdbserver depends on
the top-level gdbsupport.

Tom
  

Patch

Index: binutils-gdb/configure
===================================================================
--- binutils-gdb.orig/configure
+++ binutils-gdb/configure
@@ -3538,12 +3538,13 @@  case "${target}" in
     ;;
 esac
 
-# Only allow gdbserver on some systems.
+# Only allow native gdbserver and then only on some systems.
 if test -d ${srcdir}/gdbserver; then
     if test x$enable_gdbserver = x; then
 	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for gdbserver support" >&5
 $as_echo_n "checking for gdbserver support... " >&6; }
-	if (srcdir=${srcdir}/gdbserver; \
+	if test x${is_cross_compiler} = xyes \
+	    || (srcdir=${srcdir}/gdbserver; \
 		. ${srcdir}/configure.srv; \
 		test -n "$UNSUPPORTED")
 	then
Index: binutils-gdb/configure.ac
===================================================================
--- binutils-gdb.orig/configure.ac
+++ binutils-gdb/configure.ac
@@ -782,11 +782,12 @@  case "${target}" in
     ;;
 esac
 
-# Only allow gdbserver on some systems.
+# Only allow native gdbserver and then only on some systems.
 if test -d ${srcdir}/gdbserver; then
     if test x$enable_gdbserver = x; then
 	AC_MSG_CHECKING([for gdbserver support])
-	if (srcdir=${srcdir}/gdbserver; \
+	if test x${is_cross_compiler} = xyes \
+	    || (srcdir=${srcdir}/gdbserver; \
 		. ${srcdir}/configure.srv; \
 		test -n "$UNSUPPORTED")
 	then