Kernel: Increase the ksyms section size to 8 MiB #25692
Merged
+1
−1
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The x86 kernel.map is 6.1 MiB big when building with GCC and ENABLE_EXTRA_KERNEL_DEBUG_SYMBOLS is enabled.
I had this patch applied locally for quite a long time now and didn't want to upstream it.
But solving this properly (instead of hardcoding the size) isn't very easy, since calculating the size needed for the symbol table is a chicken and egg problem.
We could maybe link the kernel multiple times: First with an empty symbol table, then with the symbol table from the first linked kernel and finally replace the section contents with the real symbol table.
But the linker could potentially move things around and cause the symbol table to grow too much.