llext: fix undefined symbols#10055
Conversation
The recently added xrun notification framework failed to export symbols to LLEXT modules. This might remain unnoticed until an xrun happens and a module attempts to send a notification, at which popint it will cause an exception. This might be the cause of recent CI failures. This commit adds the missing exports. Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
There was a problem hiding this comment.
Pull Request Overview
This PR fixes the issue of undefined symbols in LLEXT modules by exporting the missing notification functions.
- Added missing include for <rtos/symbol.h> to support symbol exporting.
- Added EXPORT_SYMBOL for ipc_notification_pool_get and mixer_underrun_notif_msg_init.
Reviewed Changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
| src/ipc/notification_pool.c | Added include for <rtos/symbol.h> and export for ipc_notification_pool_get. |
| src/ipc/ipc4/notification.c | Added include for <rtos/symbol.h> and export for mixer_underrun_notif_msg_init. |
Comments suppressed due to low confidence (2)
src/ipc/notification_pool.c:103
- The missing export for ipc_notification_pool_get has been correctly added. Please ensure that this symbol is intended for public use as part of the IPC notification API.
EXPORT_SYMBOL(ipc_notification_pool_get);
src/ipc/ipc4/notification.c:82
- The export for mixer_underrun_notif_msg_init is now added, which should help with the undefined symbol issue in LLEXT modules. Verify with testing that this change resolves the export requirements across modules.
EXPORT_SYMBOL(mixer_underrun_notif_msg_init);
| notif_data->event_data.mixer_underrun.data_mixed = data_mixed; | ||
| notif_data->event_data.mixer_underrun.expected_data_mixed = expected_data_mixed; | ||
| } | ||
| EXPORT_SYMBOL(mixer_underrun_notif_msg_init); |
There was a problem hiding this comment.
Aren't the other notif_msg_init() functions called from the llext modules?
There was a problem hiding this comment.
Aren't the other notif_msg_init() functions called from the llext modules?
@jsarha no, if they were, we'd get unresolved symbols for them too
lgirdwood
left a comment
There was a problem hiding this comment.
llext should report an error for any unresolved symbols.
@lgirdwood zephyrproject-rtos/zephyr#91560 It reports an error in the log already now, but I want to make LLEXT fail in such cases |
The recently added xrun notification framework failed to export symbols to LLEXT modules. This might remain unnoticed until an xrun happens and a module attempts to send a notification, at which popint it will cause an exception. This might be the cause of recent CI failures. This commit adds the missing exports.