[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