[0/9] Nios II port, introduction
Sandra Loosemore
sandra@codesourcery.com
Thu Jan 24 22:37:00 GMT 2013
On 01/24/2013 01:52 PM, Joseph S. Myers wrote:
> Could you describe how this port has been tested? In particular, do you
> get clean test results (for the binutils, gas and ld testsuites) for at
> least one Nios II target, for both 32-bit and 64-bit hosts? (It's common
> for assembler ports to have issues with e.g. sign-extension of operands
> that show up only for one of 32-bit and 64-bit hosts, hence it being a
> good idea to test any new port for both - as well as making sure it builds
> on both without any -Werror errors from recent GCC, since compiler
> warnings can also depend on whether the host is 32-bit or 64-bit.)
I tested the current set of patches using our internal build
configurations with the binutils component replaced to use a mainline
checkout instead of our internal development branch. It was
cross-compiled from x86 GNU/Linux host with an older (4.3.3) version of
32-bit host GCC. I did not realize that it was expected/required to
test with both 32-bit and 64-bit hosts, but I can do that, once I figure
out how. :-S Anyway, essentially the same set of patches on our
development branch has also been tested on a 32-bit x86 Windows host.
All of this applies to both the ELF and GNU/Linux targets. In both
cases the testing uses hardware targets rather than a simulator.
The gas and binutils test results are clean, but there are a handful of
failures remaining in the ld testsuite.
For the nios2-elf toolchain:
FAIL: ld-elf/merge
FAIL: LTO 6
FAIL: PR ld/12942 (3)
FAIL: LTO 3 symbol
FAIL: LTO 9 symbol
FAIL: S-records with constructors
For the nios2-linux-gnu toolchain:
FAIL: Common symbol override test
FAIL: ld-elf/merge
FAIL: PR ld/12982
FAIL: PR ld/12942 (3)
FAIL: S-records with constructors
As I noted in my comments for part 8 of the patch series, the LTO
failures in the ELF toolchain are due to the testcases assuming that the
default linker options provide a hosted configuration, which is not the
case for that target. I haven't yet had time to triage the remaining
failures, but I noted that the non-LTO-related ones also failed with the
old 2008-era patch set against binutils 2.17.50, so they've been around
approximately forever and don't seem very serious.
I've also tested these patches on the GCC, GDB, GLIBC, etc testsuites in
conjunction with the not-yet-posted ports for those components, and the
results seem comparable to those for other targets we routinely test;
there are some scattered bugs and bad test cases, but things generally
seem to work pretty well.
-Sandra
More information about the Binutils
mailing list