gdb: sim: disable integration w/some multitarget configs [PR sim/13418]

Message ID 1451724153-23316-1-git-send-email-vapier@gentoo.org
State Superseded
Delegated to: Mike Frysinger
Headers

Commit Message

Mike Frysinger Jan. 2, 2016, 8:42 a.m. UTC
  Multitarget builds currently fail when:
(1) simulator support is enabled
(2) powerpc is included in the target list
(3) powerpc is not the main/default target

This is because the powerpc sim provides a non-standard API function
sim_spr_register_name which the powerpc gdb utilizes.  Since the sim
does not yet support multitarget, only the sim for the main target
(if one exists) is built.  When that target isn't powerpc, this func
is not available leading to linking errors.

Since multitarget support is going to take a while, and specifically
the powerpc target is going to take even longer, disable sim support
automatically when the aforementioned conditions are met.

2016-01-02  Mike Frysinger  <vapier@gentoo.org>

	PR sim/13418
	* configure.ac: Set gdb_sim= when target is not powerpc*, and
	all_targets is true or rs6000-tdep.o is in TARGET_OBS.
	* configure: Regenerate.
---
 gdb/configure    | 14 ++++++++++++++
 gdb/configure.ac | 13 +++++++++++++
 2 files changed, 27 insertions(+)
  

Patch

diff --git a/gdb/configure b/gdb/configure
index 5afdbbc..57c1ea7 100755
--- a/gdb/configure
+++ b/gdb/configure
@@ -15840,6 +15840,20 @@  fi
 SIM=
 SIM_OBS=
 if test "${ignore_sim}" = "false"; then
+  # The ppc gdb/sim only works when it's the main target.  PR sim/13418
+  case $target in
+  powerpc*-*-*) ;;
+  *)
+    case "${all_targets}: ${TARGET_OBS} " in
+    true:*|*" rs6000-tdep.o "*)
+      { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Disabling sim integration for multitarget powerpc configs" >&5
+$as_echo "$as_me: WARNING: Disabling sim integration for multitarget powerpc configs" >&2;}
+      gdb_sim=
+      ;;
+    esac
+    ;;
+  esac
+
   if test x"${gdb_sim}" != x ; then
     SIM="${gdb_sim}"
     SIM_OBS="remote-sim.o"
diff --git a/gdb/configure.ac b/gdb/configure.ac
index 5b618c9..458605f 100644
--- a/gdb/configure.ac
+++ b/gdb/configure.ac
@@ -2256,6 +2256,19 @@  fi
 SIM=
 SIM_OBS=
 if test "${ignore_sim}" = "false"; then
+  # The ppc gdb/sim only works when it's the main target.  PR sim/13418
+  case $target in
+  powerpc*-*-*) ;;
+  *)
+    case "${all_targets}: ${TARGET_OBS} " in
+    true:*|*" rs6000-tdep.o "*)
+      AC_MSG_WARN([Disabling sim integration for multitarget powerpc configs])
+      gdb_sim=
+      ;;
+    esac
+    ;;
+  esac
+
   if test x"${gdb_sim}" != x ; then
     SIM="${gdb_sim}"
     SIM_OBS="remote-sim.o"