summaryrefslogtreecommitdiff
path: root/kernel
diff options
context:
space:
mode:
authorKai Germaschewski <kai@tp1.ruhr-uni-bochum.de>2003-01-24 09:54:04 -0600
committerKai Germaschewski <kai@tp1.ruhr-uni-bochum.de>2003-01-24 09:54:04 -0600
commitdcc38eae49e06d798497373771ae03f5508a2ec7 (patch)
tree5f2ea4f7f329bff12bc4c1d2da2f5186344c452b /kernel
parente4ccd604a353b3d4e61e99d04ac9a2bdd8b66ec4 (diff)
kbuild/modules: Record versions for unresolved symbols
In the case of CONFIG_MODVERSIONING, the build step will only generate preliminary <module>.o objects, and an additional postprocessing step is necessary to record the versions of the unresolved symbols and add them into the final <module>.ko The version information for unresolved symbols is again recorded into a special section, "__versions", which contains an array of symbol name strings and checksum (struct modversion_info). Size is here not an issue, since this section will not be stored permanently in kernel memory. Makefile.modver takes care of the following steps: o Collect the version information for all exported symbols from vmlinux and all modules which export symbols. o For each module, generate a C file which contains the modversion information for all unresolved symbols in that module. o For each module, compile that C file to an object file o Finally, link the <module>.ko using the preliminary <module.o> + the version information above. The first two steps are currently done by not very efficient scripting, so there's room for performance improvement using some helper C code.
Diffstat (limited to 'kernel')
0 files changed, 0 insertions, 0 deletions