This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: New ELF linker code added to GNU binutils
- From: "Joseph S. Myers" <joseph at codesourcery dot com>
- To: Ian Lance Taylor <iant at google dot com>
- Cc: binutils at sourceware dot org
- Date: Tue, 25 Mar 2008 22:30:15 +0000 (UTC)
- Subject: Re: New ELF linker code added to GNU binutils
- References: <m38x0bpqwq.fsf@google.com>
Some random observations:
I notice the testsuite isn't using DejaGnu. No doubt this is convenient
for initial implementation, but DejaGnu tests support several features of
value in practice. In particular:
* Testing an installed toolchain through creating a site.exp file and
running runtest with appropriate options, rather than testing in the build
directory, so you can test the (relocatable) tools in exactly the
arrangements in which they will be distributed and used, or compare two
different tool versions on the same testsuite version.
(Long term, I hope all toolchain testing will be installed testing, with
build-tree testing installing first to a staging directory within the
build tree. That way, testsuites (and DejaGnu itself) will no longer need
to know details of how to locate bits of build trees and pass long series
of -B and other special options; they can just use tools as they will be
used when installed, relying on the toolchain's relocatability. Note, for
example, that all code looking for ld/ld-new won't work with gold: but
such code shouldn't really need to exist, either in testsuites or in
unified tree support, with staged installs.)
* Testing tools running on a remote host, with runtest --host_board, which
has worked OK in binutils since the patch
<http://sourceware.org/ml/binutils/2007-08/msg00382.html>.
(That patch may seem complicated, but I'd hope a new testsuite could keep
things simpler by defining more common infrastructure used by all tests
from the start, rather than having so much special Tcl code as in the
present binutils testsuites. Perhaps gold should eventually be able to
run the existing ld testsuite, as modified for cases where gold generates
different but correct output - but those modifications are probably big
enough that tests would need to be copied over rather than shared.)
* If you should wish to have tests executing programs on the target (and
some features are most easily tested that way, rather than trying to
verify dumps for large GOTs by hand, for example), then all the target
board support from DejaGnu becomes of use as well.
The --version output is a bit strange:
GNU gold (GNU binutils (GNU Binutils) 2.18.50.20080325) version 1.4
(note the "GNU binutils (GNU Binutils)"). BFD_VERSION_STRING includes
both the package version ("(GNU Binutils)" by default, possibly overridden
by --with-pkgversion) and a version number - it's not expected for
binutils components to have their own independent version numbers such as
"1.4". The word "version" isn't part of the standard --version output.
The --help output doesn't include the bug-reporting URL (REPORT_BUGS_TO in
bfdver.h).
--
Joseph S. Myers
joseph@codesourcery.com