Status of the Xtensa Port

From Linux/Xtensa
Revision as of 03:01, 6 January 2008 by Chris (Talk | contribs)

Jump to: navigation, search


Xtensa Support in Open Source Software

Unlike applications that are mostly written architecture-independent, development tools and operating systems must be ported to a new processor architecture. Support for the Xtensa architecture has already been integrated to most Open Source software. More information can be found below.


Although development continues in the Open Source repositories ('top of trunk'), it is sometimes desirable to support additional features or to provide bug-fixes for older versions. These changes are provided as patches and are located under

The patches follow the following naming convention:


  • name: the name of the tool or application,
  • version: the version number,
  • seqno: a sequential patch number,
  • descriptive-text': short description of the patch.

For example: gcc-4.1.1-p3-add-tls-support-for-xtensa.patch. The name describes a patch for the compiler gcc version 4.1.1. It is the third patch of a series of patches and needs to be applied after p1 and p2 have been applied. The description reveals that this patch adds TLS (Thread Local Storage) support for the Xtensa architecture.

The patches for a particular package and version must be applied sequentially in order of the incremental patch number.


Compiler (GCC) and various binary utilities (binutils)

The GNU compiler (GCC) and binutils (assembler, linker, etc.) are maintained in OpenSource and can be downloaded from the respective locations. Support for the Native Posix Thread Library (NTPL), however, hasn't been submitted yet.

Debugger (GDB)

Generic support for Xtensa has been integrated in GDB v6.7 but lacks support for Linux.

C-Libraries GLIBC and uClibc

Support for Xtensa has been included in uClibc as of December'07 and will be included in the next release (0.9.30). Because GLIBC requires support for NPTL, a patch has not been released yet.

Linux kernel

Support for Xtensa has been integrated into the Linux kernel in 2.6.13. For the latest version, see also Internet_Resources