m32r sim was Re: one week to gdb-7.6 release?

Joel Sherrill
2013-03-29T14:46:36Z

[-- Attachment #1: Type: text/plain, Size: 1974 bytes --]

On 3/29/2013 1:54 AM, Ralf Corsepius wrote:
> On 03/29/2013 02:59 AM, Joel Brobecker wrote:
>> I was wondering if this discussion was stalled, or if it was just
>> a matter of not finding the time to do the implementation.
> Sorry, in my case, it's simply lack of time.
>
>> I could
>> possibly take care of it tomorrow if you'd like. There is not real
>> rush, however, as I will be off next week, and thus unable to create
>> a release at least until Tue Apr 9th.
> I just did a test-rebuild with current gdb-7_6-branch (presuming Joel's
> new patches are in).
And Mike's.
> Using the same set of configuration options, I have been using for
> gdb-7.5.x, all targets build fine on Linux.
>
> However, there is a new breakdown for the m32r on mingw32-w64-{x86_64,i386}:
>
> ..../configure --build=i386-pc-linux-gnu \
> --host=x86_64-w64-mingw32 --target=m32r-rtems4.11
> --enable-sim [...] \
> ...
> checking how to recognize dependent libraries... configure: error:
> Sorry, but hardware support in this simulator unconditionally
> relies on dv-sockser.o which is unavailable for your host. Please fix
> this simulator.
> ...
>
> As gdb-7.5.x built fine with the same configuration, this to me
> qualifies as a regression - Or is this just a latent, so far silently
> accepted, but dysfunctional part being revealed by the new configuration
> magic?
Looking back at 7.5.91, I see that m32r unconditionally uses
dv-sockser.o and
I don't know how it built before.

The references to dv-sockser.o methods appear to be properly conditionalized
in the code. So it is the Makefile.in and our interpretation that the
simulated
hardware should be "always on" versus "yes enabled" by default.

Attached is an untested patch.

> Ralf
>

--
Joel Sherrill, Ph.D. Director of Research & Development
joel.sherrill@OARcorp.com On-Line Applications Research
Ask me about RTEMS: a free RTOS Huntsville AL 35805
Support Available (256) 722-9985

[-- Attachment #2: 0001-m32r-dv-sockser.o-is-not-always-used.patch --]
[-- Type: text/plain, Size: 3416 bytes --]

From b703563c73248c12f4832d85506d7a7b3574d58f Mon Sep 17 00:00:00 2001
From: Joel Sherrill <joel.sherrill@oarcorp.com>
Date: Fri, 29 Mar 2013 09:43:32 -0500
Subject: [PATCH] m32r: dv-sockser.o is not always used

2013-03-29 Joel Sherrill <joel.sherrill@oarcorp.com>

* configure.ac: Add m32r_extra_objs. Change simulator hardware
from always on to defaulting to yes it is enabled.
* Makefile.in: Conditionalize reference to dv-sockser.o.
* configure: Regenerated.
---
sim/m32r/Makefile.in | 5 +----
sim/m32r/configure | 16 ++++++----------
sim/m32r/configure.ac | 11 +++--------
3 files changed, 10 insertions(+), 22 deletions(-)

diff --git a/sim/m32r/Makefile.in b/sim/m32r/Makefile.in
index 89f1063..095ac9a 100644
--- a/sim/m32r/Makefile.in
+++ b/sim/m32r/Makefile.in
@@ -24,9 +24,6 @@ M32RX_OBJS = m32rx.o cpux.o decodex.o modelx.o mloopx.o
M32R2_OBJS = m32r2.o cpu2.o decode2.o model2.o mloop2.o
TRAPS_OBJ = @traps_obj@

-CONFIG_DEVICES = dv-sockser.o
-CONFIG_DEVICES =
-
SIM_OBJS = \
$(SIM_NEW_COMMON_OBJS) \
sim-cpu.o \
@@ -42,7 +39,7 @@ SIM_OBJS = \
$(M32R2_OBJS) \
$(TRAPS_OBJ) \
devices.o \
- $(CONFIG_DEVICES)
+ $(m32r_extra_objs)

# Extra headers included by sim-main.h.
SIM_EXTRA_DEPS = \
diff --git a/sim/m32r/configure b/sim/m32r/configure
index 376acfb..7f0c05a 100755
--- a/sim/m32r/configure
+++ b/sim/m32r/configure
@@ -601,6 +601,7 @@ ac_includes_default="\
ac_subst_vars='LTLIBOBJS
LIBOBJS
cgen_breaks
+m32r_extra_objs
SIM_DV_SOCKSER_O
sim_extra_cflags
traps_obj
@@ -12279,7 +12280,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 12282 "configure"
+#line 12283 "configure"
#include "confdefs.h"

#if HAVE_DLFCN_H
@@ -12385,7 +12386,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 12388 "configure"
+#line 12389 "configure"
#include "confdefs.h"

#if HAVE_DLFCN_H
@@ -13354,7 +13355,7 @@ fi

-if test x"always" != x"no"; then
+if test x"yes" != x"no"; then
enable_sim_hardware=yes
else
enable_sim_hardware=no
@@ -13385,7 +13386,7 @@ case ${enable_sim_hardware} in
esac

if test "$sim_hw_p" != yes; then
- if test "always" = "always"; then
+ if test "yes" = "always"; then
as_fn_error "Sorry, but this simulator requires that hardware support
be enabled. Please configure without --disable-hw-support." "$LINENO" 5
fi
@@ -13468,12 +13469,7 @@ fi
esac
fi

-
-if test -z "$SIM_DV_SOCKSER_O"; then
- as_fn_error "Sorry, but hardware support in this simulator unconditionally
-relies on dv-sockser.o which is unavailable for your host. Please fix this
-simulator." "$LINENO" 5
-fi
+m32r_extra_objs="$SIM_DV_SOCKSER_O"

diff --git a/sim/m32r/configure.ac b/sim/m32r/configure.ac
index f0422a2..76fed95 100644
--- a/sim/m32r/configure.ac
+++ b/sim/m32r/configure.ac
@@ -27,13 +27,8 @@ SIM_AC_OPTION_CGEN_MAINT
AC_SUBST(traps_obj)
AC_SUBST(sim_extra_cflags)

-SIM_AC_OPTION_HARDWARE(always,"","")
-
-if test -z "$SIM_DV_SOCKSER_O"; then
- AC_MSG_ERROR([Sorry, but hardware support in this simulator unconditionally
-relies on dv-sockser.o which is unavailable for your host. Please fix this
-simulator.])
-fi
-
+SIM_AC_OPTION_HARDWARE(yes,"","")
+m32r_extra_objs="$SIM_DV_SOCKSER_O"
+AC_SUBST(m32r_extra_objs)

SIM_AC_OUTPUT
--
1.7.1