Status of the Xtensa Port: Difference between revisions

From Linux/Xtensa
Jump to navigation Jump to search
(Update status information and some rearrangement.)
No edit summary
Line 1: Line 1:
== Xtensa Support in Open Source Software ==
== Xtensa Support in OpenSource Software ==


Unlike applications that are mostly written architecture-independent,
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. Development trees that feed to the respective mainline repository and for new development can be found in local [http://git.linux-xtensa.org GIT repositories]
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.


=== Toolchain: Compiler (GCC) and various binary utilities (binutils) ===


== Back-porting ==
GNU toolchain tools are maintained in OpenSource and can be downloaded from the respective locations.


Although development continues in the Open Source repositories ('top of trunk'), it is sometimes
=== C-Libraries: GLIBC and uClibc ===
desirable to support additional features or to provide bug-fixes for older versions. These changes
are provided as patches and are located under http://www.linux-xtensa.org/pub/patches.


The patches follow the following naming convention:
Xtensa has long been part of uClibc, however, there are a lot of bug fixes pending the next release (0.9.33.3). Support for the Native Posix Thread Library (NTPL) is under development and is expected to be part of the following release. Development for Glibc with NPTL (older thread libraries are not supported by Glibc anymore) is also current under way. A development branch can be found in local [http://git.linux-xtensa.org GIT repositories].


''name''-''version''-p''seqno''-''descriptive-text''.patch
=== Debugging ===


* ''name'': the name of the tool or application,
GDB is also maintained in OpenSource and can be downloaded from [[http://www.gnu.org/software/gdb/]]. Support for other debugging tools (strace, ltrace, oprofile, etc.) has not been pushed to their respective main repository. Patches have been included in local buildroot repositories.
* ''version'': the version number,
* ''seqno'': a sequential patch number,
* ''descriptive-text': short description of the patch.


For example: <code>gcc-4.1.1-p3-add-tls-support-for-xtensa.patch</code>. The
=== Linux kernel ===
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
Support for Xtensa has been integrated into the Linux kernel in 2.6.13. For the latest version, see also [[Internet_Resources]]
in order of the incremental patch number.
 
 
== Status ==
 
=== 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 ===
=== Toolchain and root-fs generators: crosstool-NG, buildroot ===


Support for Xtensa has been integrated into the Linux kernel in 2.6.13. For the latest version, see also [[Internet_Resources]]
Xtensa is supported by buildroot and can be downloaded from [[http://www.buildroot.net]]. Support for crosstool-NG has not been pushed into the official tree yet. A version can be downloaded from local [http://git.linux-xtensa.org GIT repositories]

Revision as of 00:26, 11 March 2013

Xtensa Support in OpenSource 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. Development trees that feed to the respective mainline repository and for new development can be found in local GIT repositories

Toolchain: Compiler (GCC) and various binary utilities (binutils)

GNU toolchain tools are maintained in OpenSource and can be downloaded from the respective locations.

C-Libraries: GLIBC and uClibc

Xtensa has long been part of uClibc, however, there are a lot of bug fixes pending the next release (0.9.33.3). Support for the Native Posix Thread Library (NTPL) is under development and is expected to be part of the following release. Development for Glibc with NPTL (older thread libraries are not supported by Glibc anymore) is also current under way. A development branch can be found in local GIT repositories.

Debugging

GDB is also maintained in OpenSource and can be downloaded from [[1]]. Support for other debugging tools (strace, ltrace, oprofile, etc.) has not been pushed to their respective main repository. Patches have been included in local buildroot repositories.

Linux kernel

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

Toolchain and root-fs generators: crosstool-NG, buildroot

Xtensa is supported by buildroot and can be downloaded from [[2]]. Support for crosstool-NG has not been pushed into the official tree yet. A version can be downloaded from local GIT repositories