This is the mail archive of the
binutils@sources.redhat.com
mailing list for the binutils project.
Re: arm-pe: Multiple inheritance problem w/C++
"Craig A. Vanderborgh" <craigv@voxware.com> writes:
> Apparently the problem resides in bfd/coff-arm.c. Another fellow
> arm-wince-pe sufferer pointed this out (at about line 237, coff-arm.c):
...
> Turning on ARM_COFF_BUGFIX corrects the C++ problem as demonstrated by
> CastTest. So yes, this is apparently a linker problem - via bfd.
Thanks for tracking it down. Technically I would describe this as a
generic linker problem which doesn't have anything in particular to do
with C++ constructors. That is, it should be entirely possible to
construct a test case which does not use C++ constructors but which
demonstrated this same problem.
It sounds like a valid patch would be to bfd/config.bfd, to add
-DARM_COFF_BUGFIX to targ_cflags in the arm-wince-pe configuration
section.
(Really this approach is wrong, because it means that the same BFD
target will have different behaviour. The proper approach would be to
use a different target somehow. But that is a larger fix which can
probably wait for another day.)
> This brings up the larger question - what can we (that is us, at this
> end..) to to help facilitate getting arm-wince-pe binutils fully
> operational? It is clear that the maintainers have little interest in
> Wince. I can't say I blame them. But we are interested (and have to
> be!!), and maybe we could help out somehow and get these kinds of
> problems found and fixed...
>
> We would be willing to run the testsuite. But on wince, we are unsure
> how you would even do it. Is there a way that we could set up the
> testsuite so that the tests could be run under the arm-wince-pe
> simulator? Can we submit patches somewhere that someone will pay
> attention to? We would welcome any advice you might have..
Well, you can test a binutils target without actually executing the
test. You do this by doing a link and then using objdump to examine
the result. There are many examples in the existing linker testsuite.
So in principle it should be possible to write tests for arm-wince-pe,
and then run the tests on a Unix system, or on a Windows system with
cygwin installed. In practice this is tedious, but it is doable and
it has been done for other targets.
Ian