Skip to content

Commit 2df786e

Browse files
committed
smart-amp-test: add support for the Cadence toolchain
The Cadence Xtensa cross-toolchain cannot build shared libraries, when using it we build relocatable ELF objects instead. Update smart-amp-test to support both formats. Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
1 parent b3d2370 commit 2df786e

File tree

1 file changed

+12
-3
lines changed

1 file changed

+12
-3
lines changed

src/samples/audio/smart_amp_llext/CMakeLists.txt

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,16 @@ target_compile_options(${MODULE} PRIVATE
5353
-save-temps -O2
5454
)
5555

56+
if("${ZEPHYR_TOOLCHAIN_VARIANT}" STREQUAL "zephyr")
5657
set(MODULE_LINKER_PARAMS -nostdlib -nodefaultlibs)
58+
set(EXTRA_LINKED_PARAMS -shared)
59+
set(COPY_CMD ${CMAKE_STRIP} -R .xt.* -o ${MODULE}_out.so ${MODULE}_llext.so)
60+
else()
61+
set(MODULE_LINKER_PARAMS -nostdlib -nodefaultlibs -r)
62+
set(EXTRA_LINKED_PARAMS)
63+
set(COPY_CMD ${CMAKE_OBJCOPY} -R .xt.* ${MODULE}_llext.so ${MODULE}_out.so)
64+
endif()
65+
5766
target_link_options(${MODULE} PRIVATE
5867
${MODULE_LINKER_PARAMS}
5968
)
@@ -62,9 +71,9 @@ add_custom_command(OUTPUT lib${MODULE}_out.so
6271
DEPENDS ${MODULE}
6372
COMMAND ${SOF_BASE}scripts/llext_link_helper.py
6473
-f lib${MODULE}.so -t "0xa06ca000" ${CMAKE_C_COMPILER} --
65-
${MODULE_LINKER_PARAMS} -shared -fPIC
66-
-o lib${MODULE}_llext.so $<TARGET_OBJECTS:${MODULE}>
67-
COMMAND ${CMAKE_STRIP} -R .xt.* -o lib${MODULE}_out.so lib${MODULE}_llext.so
74+
${MODULE_LINKER_PARAMS} ${EXTRA_LINKED_PARAMS} -fPIC
75+
-o ${MODULE}_llext.so $<TARGET_OBJECTS:${MODULE}>
76+
COMMAND ${COPY_CMD}
6877
COMMAND_EXPAND_LISTS
6978
)
7079

0 commit comments

Comments
 (0)