Re: [gdb-7.5.91] mips sim fails to build on mingw32

Ralf Corsepius
2013-03-17T04:16:58Z

On 03/16/2013 04:08 PM, Joel Sherrill wrote:
> On 3/16/2013 1:52 AM, Ralf Corsepius wrote:
>> On 03/16/2013 05:33 AM, Ralf Corsepius wrote:
>>> On 03/15/2013 07:37 PM, Joel Sherrill wrote:
>>>> My recollection is that it did not link on CentOS 6 and was missing
>>>> these symbols. Disabling it again should make it obvious.
>>> Reverting your patch lets build mips-rtems*gdb-7.5.91 build
>>> successfully on all hosts I am build gdb on [1]
>>>
>>> This is not surprising to me, as reverting the patch pushes
>>> mips*gdb-7.5.91's configuration into a similar state as gdb-7.5.1 was,
>>> which built for all of my build hosts.
>>>
>>>> But I didn't build in any particularly special way and it failed.
>>> I am suspecting you were building mipstx39-rtems-gdb.
>> OK, I found the original thread:
>> http://www.sourceware.org/ml/gdb-patches/2012-09/msg00030.html
>>
>> All I can say, I can not reproduce the issue you were reporting with
>> gdb-7.5.1 and gdb-7.5.91. Reverting this change brings back
>> mingw32-w64/gdb-7.5.91.
> It is still there if you configure correctly.
"Correctly" is a bold term!

> On a completely up to date
> CentOS 6.x install. I reversed the patch locally and configured like this:
>
> ../gdb-7.5.91/configure --target=mips-rtems4.11 \
> --prefix=/home/joel/test-gdb/install/ --enable-sim \
> --enable-sim-hardware --enable-timebase --enable-sim-trace &&
> make
>
> And the build failed like this:
>
> -o run \
> nrun.o libsim.a ../../bfd/libbfd.a ../../opcodes/libopcodes.a
> ../../libiberty/libiberty.a -lm -lm -lz -lnsl
> libsim.a(interp.o): In function `sim_open':
> /home/joel/test-gdb/b-gdb/sim/mips/../../../gdb-7.5.91/sim/mips/interp.c:552:
> undefined reference to `sockser_addr'

This fails on all hosts for me.

But ... this provides further insights:

I configure using "default" simulator flags:
--enable-sim

You configure using "exotic" simulator flags:
--enable-sim --enable-sim-hardware --enable-timebase --enable-sim-trace

Why you're using them, I don't know.

Further trial and error with your patch reversed shows:
--enable-sim-hardware triggers the link-error your reported on all hosts.
All other permutations of --enable-sim --enable-sim-{timebase,sim-trace}
build.

I conclude from this:
sim/mips only needs dv-sockser.o for tx39* targets or when
--enable-sim-hardware is used.

=> The patch is wrong and should be reverted. The configuration magic to
pull in dv-socksers.o should be reworked and likely needs to be keyed to
-enable-sim-hardware.

Ralf