Toolchain Overlay File: Difference between revisions

From Linux/Xtensa
Jump to navigation Jump to search
(New page: == Introduction == The ''Overlay'' is a tar file that includes modified versions of processor configuration dependent files that are required by various toolchain tools, such as binutils,...)
 
m (Update conversion script)
 
(9 intermediate revisions by 4 users not shown)
Line 1: Line 1:
== Introduction ==
== Introduction ==


The ''Overlay'' is a tar file that includes modified versions of processor configuration dependent files that are required by various toolchain tools, such as binutils, gcc, and gdb. The overlay described here has a specific layout and is intended for toolchain generators, such as buildroot or crosstool-NG.  
The ''Overlay'' is a tar file that includes modified versions of processor configuration dependent files that are required by various toolchain tools, such as binutils, gcc, and gdb. The overlay described here has a specific layout and is intended for toolchain generators, such as buildroot, OpenADK or crosstool-NG.  


== Creating the overlay ==
== Creating the overlay ==


The overlay file shipped by Tensilica uses a flat directory structure, which is not suitable for buildroot or crosstool-NG at the moment. It is part of the generated processor package, and can be found in the XtDevTools directory:
The overlay file shipped by Tensilica uses a flat directory structure, which is not suitable for buildroot or crosstool-NG at the moment. The file is part of the generated processor package, and can be found in the XtDevTools directory:


  XtDevTools/install/build/$VERSION/$XTENSA_CORE/src/xtensa-config-overlay.tar.gz
  XtDevTools/install/build/$VERSION/$XTENSA_CORE/src/xtensa-config-overlay.tar.gz


The following script converts the directory structure of that file by creating a new overlay file, called xtensa-overlay.tgz, and extracting the necessary files from the Tensilica overlay. To run the script, simply provide hte path and name of the overlay provided by Tensilica:
The following script converts this file and writes the modified version to xtensa-overlay.tar. Simply provide the path and name of the overlay provided by Tensilica when running the script:


  ./script xtensa-config-overlay.tar.gz
  ./make-overlay.sh $XTENSA_CORE path/to/xtensa-config-overlay.tar.gz .


This will create the file xtensa-overlay.tgz required by buildroot or crosstool-NG. For more information how to configure these generators, please see [[Buildroot]] or [[crosstool-NG]].
The file xtensa_$XTENSA_CORE.tar.gz created by the script can now be used to build buildroot or crosstool-NG. For more information how to configure those generators, please see [[Buildroot]] or [[crosstool-NG]].
 
(Note that there is also a similar overlay file in the generated processor package provided by Tensilica, but it has a different directory layout and is not suitable for the script provided below. It can be found under .../$XTENSA_CORE/xtensa-elf/src/linux/misc/linux-overlay.tar.gz)


== Conversion Script ==
== Conversion Script ==


#!/bin/sh
https://github.com/foss-xtensa/xtensa-config/blob/master/make-overlay.sh
TMPDIR=`mktemp -d`
 
tar xzf $1 -C $TMPDIR
== Example Files ==
mkdir -p $TMPDIR/overlay/binutils/bfd $TMPDIR/overlay/binutils/ld \
 
          $TMPDIR/overlay/binutils/include $TMPDIR/overlay/gcc/include \
The following files are the original and generated overlay file for the DC_D_233L processor.
          $TMPDIR/overlay/gdb/bfd $TMPDIR/overlay/gdb/gdb/regformats \
 
          $TMPDIR/overlay/gdb/gdb/gdbserver $TMPDIR/overlay/gdb/include
* http://www.linux-xtensa.org/pub/xtensa-config-overlay.tar.gz - Original overlay file provided by Tensilica
mv $TMPDIR/src/binutils/xtensa-config.h $TMPDIR/overlay/binutils/include
* http://www.linux-xtensa.org/pub/xtensa-overlay.tgz - : Generated overlay file, applicable to buildroot and crosstool-NG
mv $TMPDIR/src/binutils/xtensa-modules.c $TMPDIR/overlay/binutils/bfd
 
mv $TMPDIR/src/gcc/xtensa-config.h $TMPDIR/overlay/gcc/include
== Ready to go overlay archives (can be used with buildroot and OpenADK) ==
mv $TMPDIR/src/gdb/xtensa-config.c $TMPDIR/overlay/gdb/gdb
 
mv $TMPDIR/src/gdb/xtensa-config.h $TMPDIR/overlay/gdb/include
https://github.com/jcmvbkbc/xtensa-toolchain-build/tree/master/overlays
mv $TMPDIR/src/gdb/xtensa-modules.c $TMPDIR/overlay/gdb/bfd
mv $TMPDIR/src/gdb/xtensa-regmap.c $TMPDIR/overlay/gdb/gdb/gdbserver
mv $TMPDIR/src/gdb/reg-xtensa.dat $TMPDIR/overlay/gdb/gdb/regformats
tar czf xtensa-overlay.tgz -C $TMPDIR/overlay/ binutils gcc gdb
rm -fr $TMPDIR

Latest revision as of 21:23, 26 July 2017

Introduction

The Overlay is a tar file that includes modified versions of processor configuration dependent files that are required by various toolchain tools, such as binutils, gcc, and gdb. The overlay described here has a specific layout and is intended for toolchain generators, such as buildroot, OpenADK or crosstool-NG.

Creating the overlay

The overlay file shipped by Tensilica uses a flat directory structure, which is not suitable for buildroot or crosstool-NG at the moment. The file is part of the generated processor package, and can be found in the XtDevTools directory:

XtDevTools/install/build/$VERSION/$XTENSA_CORE/src/xtensa-config-overlay.tar.gz

The following script converts this file and writes the modified version to xtensa-overlay.tar. Simply provide the path and name of the overlay provided by Tensilica when running the script:

./make-overlay.sh $XTENSA_CORE path/to/xtensa-config-overlay.tar.gz .

The file xtensa_$XTENSA_CORE.tar.gz created by the script can now be used to build buildroot or crosstool-NG. For more information how to configure those generators, please see Buildroot or crosstool-NG.

(Note that there is also a similar overlay file in the generated processor package provided by Tensilica, but it has a different directory layout and is not suitable for the script provided below. It can be found under .../$XTENSA_CORE/xtensa-elf/src/linux/misc/linux-overlay.tar.gz)

Conversion Script

https://github.com/foss-xtensa/xtensa-config/blob/master/make-overlay.sh

Example Files

The following files are the original and generated overlay file for the DC_D_233L processor.

Ready to go overlay archives (can be used with buildroot and OpenADK)

https://github.com/jcmvbkbc/xtensa-toolchain-build/tree/master/overlays