mirror of https://github.com/thesofproject/sof.git
2c450e69fa
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> |
||
---|---|---|
.. | ||
cmake | ||
include | ||
libraries/dummy | ||
modules/dummy | ||
README.md |
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"