Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/espressif/xtensa-dynconfig

Configuration plugin generator for the GNU xtensa toolchain
https://github.com/espressif/xtensa-dynconfig

Last synced: 2 days ago
JSON representation

Configuration plugin generator for the GNU xtensa toolchain

Awesome Lists containing this project

README

        

This GCC/binutils/GDB plugin configures xtensa GCC, binutils and GDB for the
specific xtensa CPU. It will only load into GCC, binutils and GDB versions
that support such dynamic configuration. Without this plugin GCC and binutils
will produce code for the default xtensa core: the FSF one, or for the core
configured with the xtensa configuration overlay.

## Building

Install configuration overlays for the xtensa core targets into the directory
named `config` and run:

```
make
```

or specify config directory manually:

```
make CONF_DIR=
```

## Using

Set the environment variable XTENSA_GNU_CONFIG to the path of the
configuration shared object:

```
$ export XTENSA_GNU_CONFIG=`pwd`/.so
```

Run the compiler, assembler, linker, debugger or other binutils as usual.

Dynamic configuration works both for cross and native toolchain.
The following parts of the toolchain still need to be configured statically:
- target gdbserver needs proper include/xtensa-config.h
gdb/gdbserver/xtensa-config.c and gdb/gdbserver/xtensa-xtregs.c in the
binutils-gdb.

## Note

the GCC Runtime Library Exception
(https://www.gnu.org/licenses/gcc-exception-3.1.en.html) has rules that apply
here. If you want to distribute the binary produced by GCC using this plugin,
the plugin code (including the xtensa configuration overlay) must be available
under a GPL-compatible license. The people to whom you distribute the binary
produced by GCC must be able to themselves build the plugin used to create
the binary.