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