gdb: sim: disable integration w/some multitarget configs [PR sim/13418]
Commit Message
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(+)
@@ -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"
@@ -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"