Re: [patch] modpost problem when symbols move from one module to another

From: Sam Ravnborg
Date: Thu Oct 18 2007 - 07:45:14 EST


On Thu, Oct 11, 2007 at 04:40:10PM -0700, Trent Piepho wrote:
> The v4l-dvb tree recently renamed a module and this caused some problems
> with modpost creating incorrect module dependencies. This patch fixes that
> problem. It should be explained thoroughly in the patch description.
> modpost: Fix problem with out of date Module.symvers
>
> When part of build an external module tree, modpost first reads in the
> kernel's and then the external tree's Module.symvers files. From these files
> it establishes a symbol => module mapping. When it later reads in each module
> built and processes the symbols it finds, it discovers the symbol=>module
> mapping from Module.symvers and leaves it as it is.
>
> The problem comes with a module has been re-named or a symbol has moved from
> one module to another, since the Module.symvers file was generated. modpost
> does not update the symbol=>module mapping when it finds the new location of
> the symbol when scanning the newly built modules. This results in the module
> containing incorrect dependency information and the new Module.symvers file
> written by modpost will also contain the incorrect mappings, perpetuating the
> problem to the next build, and so on.
>
> When building the out of kernel development tree for kernel subsystem, like
> v4l-dvb or ALSA, deleting the external Module.symvers file before building
> (which the kernel build system doesn't do and shouldn't be necessary anyway),
> won't fix the problem. modpost still reads the kernel's Module.symvers, and
> since we a building a kernel subsystem, it will define the same symbols as the
> external modules.
>
> Signed-off-by: Trent Piepho <xyzzy@xxxxxxxxxxxxx>

Thanks - applied,

Sam
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/