-
Notifications
You must be signed in to change notification settings - Fork 350
llext: remove superfluous symbol exports #10506
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
There was a problem hiding this 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 removes unnecessary symbol exports (EXPORT_SYMBOL macros) that are not used by LLEXT modules, cleaning up the API surface to only expose what is actually needed.
Changes:
- Removed 32 EXPORT_SYMBOL macros across 8 files for functions that are not used by LLEXT modules
- Removed
rtos/symbol.hincludes from 3 files that no longer have any symbol exports - Cleaned up trailing whitespace where EXPORT_SYMBOL macros were removed
Reviewed changes
Copilot reviewed 8 out of 8 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| src/lib/dma.c | Removed 4 DMA-related symbol exports and the symbol.h include |
| src/ipc/ipc4/helper.c | Removed 1 audio format conversion symbol export |
| src/debug/debug_stream/debug_stream_text_msg.c | Removed debug message symbol export |
| src/audio/module_adapter/module_adapter_ipc4.c | Removed 7 module adapter IPC4 function exports |
| src/audio/module_adapter/module_adapter.c | Removed 13 module adapter function exports and the symbol.h include |
| src/audio/module_adapter/module/generic.c | Removed 2 generic module function exports |
| src/audio/drc/drc_log.c | Removed 3 DRC logging-related symbol exports and the symbol.h include |
| src/audio/component.c | Removed component registration symbol export |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
lgirdwood
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
build test will confirm none are needed.
@lgirdwood nnno, build doesn't check that. Only run-time. And actually even then mostly only if those functions happen to get called. So, say, if function |
ok, but the CI will have full coverage here which is good. |
I've checked all the external symbols in currently built LLEXT modules and probe and compared them to all the exported symbols. This commit removes most of needlessly exported symbols, except mathematics functions. Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
@lgirdwood actually also not quite, sorry. We don't test all the LLEXT modules. So if I by chance remove an exported symbol that's needed by another module, that we aren't testing in CI, it won't be caught. But the probability is low and even if we do break something, fixing it would be simple because these errors are printed explicitly in the log when a symbol is missing. |
I've checked all the external symbols in currently built LLEXT modules and probe and compared them to all the exported symbols. This commit removes most of needlessly exported symbols, except mathematics functions.