major upgrade to Xtensa port

Bob Wilson bwilson@tensilica.com
Fri Oct 8 00:44:00 GMT 2004


Bob Wilson wrote:
> This (huge) patch brings the Xtensa port up to date with Tensilica's 
> latest binutils code.  I apologize in advance for making such a big 
> change all at once.  I sincerely hope I never have to do anything like 
> this again.  Back when the original Xtensa port was contributed, 
> Tensilica had already begun work on a new release that was based on the 
> 2.11 branch.  I had no choice but to contribute code from an earlier 
> Xtensa release.  Now that the newer Tensilica code has been released, 
> I've finally found time to resolve the difference between it and the 
> latest binutils code.  I've spent the last several months sorting it all 
> out.

Darn.  I _really_ did not mean to hit <send> at that point.  Continuing where I 
left off....

I've tested this by running the built-in testsuites with xtensa-elf cross build, 
and by building glibc for an xtensa-linux-gnu target and using the result with a 
few standard tools (bash, ls, etc.) running on a board.  The testsuites for 
Xtensa are sorely lacking, so I hope to add more tests in the future.

I've committed these changes on the main branch.

It's hard to summarize all the changes here, so I will just list some highlights.

* Full support for the latest Xtensa LX processors, including Tensilica's 
"flexible" VLIW option, FLIX.

* More aggressive linker relaxation that can remove NOP instructions left over 
after optimizing assembler-generated longcall sequences.

* Better branch target alignment in the assembler.

* Improved and much more complete xtensa-isa files to access Xtensa processor 
configuration-specific parameters.

Also, to give appropriate credit, much of the assembler work was done by 
Sterling Augustine, and the linker work by David Heine.  (Both are Tensilica 
employees so their work is covered by our copyright assignment.)

If anyone takes the time to look over these changes, please let me know if you 
see anything that looks suspicious.  I've been extremely careful in merging 
these changes, but it would have been easy to mess up.

--Bob



More information about the Binutils mailing list