This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
[PATCH] gdb: sim: disable integration w/some multitarget configs [PR sim/13418]
- From: Mike Frysinger <vapier at gentoo dot org>
- To: gdb-patches at sourceware dot org
- Date: Sat, 2 Jan 2016 03:42:33 -0500
- Subject: [PATCH] gdb: sim: disable integration w/some multitarget configs [PR sim/13418]
- Authentication-results: sourceware.org; auth=none
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(+)
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"
--
2.6.2