This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Gold: Testsuite


Viktor Kutuzov <vkutuzov@accesssoftek.com> writes:

> I'm looking at the configure.ac. The idea is to have a set of asm
> files and "correct" obj dumps to compare the result with (I'd prefer
> to keep all dependencies inside binutils as much as reasonable).

To be clear, I do not want to follow the pattern of comparing against
precise objdump results.  My experience with the gas testsuite, which
works that way, is that far too often unrelated changes to the tools
require the testsuite to change.  That makes these tests poor ways to
test functionality.  Developers wind up automatically adjusting the
tests to match the tool output, rather than using the test to actually
verify that the tool output is correct.

In my opinion, a test which can be run in a program is by far the best
approach.  That tests that the tool actually generates working output.
That is why basic_test.cc, and indeed much of the linker testsuite, is
written the way it is.  Of course, that approach only works for a native
linker.

For a cross-linker, testing the output with readelf (not objdump!) is
going to be the only reasonable approach.  But it's important to not try
to match the readelf output precisely, but to instead grep the readelf
output for the necessary output.  Ideally the input would be C/C++ code,
so that the same test can be reused for multiple targets.  Of course in
some cases the input must be assembler code.


> Is there a "standard" directory structure for the platform specific
> filees?  Should I create a new "arm" directory under the
> gold/testsuite and place everything there?

For cases where assembler input is required, that seems reasonable.

Ian


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]