[Gta04-owner] Linux 3.2-rc3 on GTA04

Johannes Schauer j.schauer at email.de
Tue Nov 29 22:55:51 CET 2011


Hi Neil,

On Wed, Nov 30, 2011 at 07:46:32AM +1100, NeilBrown wrote:
> It is odd.
> 
> The version information is added by scripts/mod/modpost which is compiled
> from a .c file.
> 
> scripts/Makefile.modpost contains:
> 
> modpost = scripts/mod/modpost                    \
>  $(if $(CONFIG_MODVERSIONS),-m)                  \
>  $(if $(CONFIG_MODULE_SRCVERSION_ALL),-a,)       \
>  $(if $(KBUILD_EXTMOD),-i,-o) $(kernelsymfile)   \
>  $(if $(KBUILD_EXTMOD),-I $(modulesymfile))      \
>  $(if $(KBUILD_EXTRA_SYMBOLS), $(patsubst %, -e %,$(KBUILD_EXTRA_SYMBOLS))) \
>  $(if $(KBUILD_EXTMOD),-o $(modulesymfile))      \
>  $(if $(CONFIG_DEBUG_SECTION_MISMATCH),,-S)      \
>  $(if $(KBUILD_EXTMOD)$(KBUILD_MODPOST_WARN),-w) \
>  $(if $(cross_build),-c)
> 
> 
> The important part here is the '-m' which is added if CONFIG_MODVERSIONS.
> This tells modpost to add the __versions section.
> 
> It creates  g_ether.mod.c  which you can look at.
> I have in it:
> 
> static const struct modversion_info ____versions[]
> __used
> __attribute__((section("__versions"))) = {
>         { 0x4db2bff4, "module_layout" },
>         { 0x6bb8979e, "device_remove_file" },
>  
> So you can see the __versions section being created.
> 
> Which bit of that is going wrong, I cannot imagine.

Thank you for your explanations - I now know much more about the build
process and even figured out the problem:

what I did so far:

	make distclean && make gta04a3_defconfig && make modules -j 5 && make modules_install && make uImage -j 5

but this doesnt work - the uImage has to be built BEFORE the modules:

	make distclean && make gta04a3_defconfig && make uImage -j 5 && make modules -j 5 && make modules_install

I didnt know that :(

thanks again so much for investing time into this problem!

cheers, josch


More information about the Gta04-owner mailing list