Skip to content

List exports TRIM_UNUSED_KSYMS kept in one build only as trimmed - #189

Merged
tamnd merged 1 commit into
mainfrom
symvers-trimmed
Oct 26, 2026
Merged

tamnd merged 1 commit into
mainfrom
symvers-trimmed

Conversation

@tamnd

@tamnd tamnd commented Oct 26, 2026

Copy link
Copy Markdown
Owner

With CONFIG_TRIM_UNUSED_KSYMS, which allmodconfig sets, the kernel keeps an export only when some module uses it. The 7.2.8 allmodconfig census has one export the gcc-14 build has and the rucc build does not, __x86_indirect_thunk_rbp. Both kernels define the thunk, but no rucc module calls through %rbp, so the rucc build trims the export. That follows register allocation and is not a lost export.

symvers-diff now reads .config on both sides. When both trim, an export only one build has, of a symbol both System.maps define as a global, is listed as trimmed and does not count as a difference. sections-diff leaves out .vmlinux.export.o, the object made from the export list, since its tables hold the same trimmed set and symvers-diff already compares it symbol by symbol.

On census 40199212017 symvers-diff is now clean, with the thunk listed as trimmed, and the three .vmlinux.export.o rows leave the sections report.

@tamnd tamnd added the area/rk The rk command line label Oct 26, 2026
@tamnd
tamnd merged commit c607168 into main Oct 26, 2026
@tamnd
tamnd deleted the symvers-trimmed branch October 26, 2026 17:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/rk The rk command line

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant