Skip to content

Conversation

@lyakh
Copy link
Collaborator

@lyakh lyakh commented Jun 13, 2025

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.

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>
Copilot AI review requested due to automatic review settings June 13, 2025 07:38
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Aren't the other notif_msg_init() functions called from the llext modules?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

Copy link
Contributor

@ujfalusi ujfalusi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@lyakh, this is an amazing find!!!

Copy link
Member

@lgirdwood lgirdwood left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

llext should report an error for any unresolved symbols.

@kv2019i kv2019i merged commit 2e15fc5 into thesofproject:main Jun 13, 2025
43 of 48 checks passed
@lyakh
Copy link
Collaborator Author

lyakh commented Jun 13, 2025

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants