[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