sof/lmdk
Guennadi Liakhovetski 2c450e69fa loadable module: don't define PHDR twice
Loadable modules are linked, using a linked script, built by a cmake
script. That linker script includes multiple existing linker script
fragments. Each of those fragments defines 1 or more sections and
respective PHDRs. However, some of those scripts, e.g.
common_rodata_linker_script.txt and data_linker_script.txt add
sections to the same rodata_phdr PHDR. This makes the linker
allocate sections in that PHDR twice in the resulting output file:
one copy is real and the other one is filled with zeros. Removing
one of the PHDR definitions solves the problem and removes about
60KiB of empty space from the output file.

Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
2023-12-15 09:46:37 +00:00
..
cmake loadable module: don't define PHDR twice 2023-12-15 09:46:37 +00:00
include
libraries/dummy module: module_adapter: lmdk: Improved module type detection 2023-11-28 16:45:15 +02:00
modules/dummy lmdk: Update dummy module example 2023-11-28 16:45:15 +02:00
README.md LMDK: fixed rimage and key paths and discovery 2023-05-16 14:04:32 +03:00

README.md

Loadable Modules Dev Kit

TODO: add link to the documentation repo!

To build dummy loadable library execute:

cd libraries/dummy
cmake -B build -G <Ninja/Makefile> -DRIMAGE_INSTALL_DIR="path/where/rimage/executable/is" -DSNIGNING_KEY="path/to/key"
cd --build build

Here RIMAGE_INSTALL_DIR is a path to directory where rimage executable is, SIGNING_KEY is a path to signing key for rimage. If RIMAGE_INSTALL_DIR is not provided, rimage will be searched for in the directory where SOF project installs it. Dummy module sets up toolchain file in the project file. However, in your library you can select toolchain file in the configure step command:

cmake -B build -G <Ninja/Makefile> --toolchain "../../cmake/xtensa-toolchain.cmake" -DSNIGNING_KEY="path/to/key"