Andreas Schwab <schwab@xxxxxxxxxxxxxx> writes: > Bjørn Mork <bjorn@xxxxxxx> writes: > >> AFAIK (which admittedly is not much wrt cross building) there is no way >> we can make the host built file2alias know the proper aligment for the >> structure in the target built modules. That's the background for this >> fix: >> >> commit 4ce6efed48d736e3384c39ff87bda723e1f8e041 >> Author: Sam Ravnborg <sam@xxxxxxxxxxxxxxxxxxx> >> Date: Sun Mar 23 21:38:54 2008 +0100 >> >> kbuild: soften modpost checks when doing cross builds > > This is not a fix in any sense of the word. modpost can only work > properly if its view of the device_id structures matches *exactly* that > of the target. You are absolutely correct, of course. I am starting to believe Greg is correct. Cross building works mostly by pure luck :-) I found that the reason the change I referred to above didn't kick in was because CONFIG_DEBUG_SECTION_MISMATCH was set, causing modpost to be called from scripts/Makefile.build without the "-c" option: # Do section mismatch analysis for each module/built-in.o ifdef CONFIG_DEBUG_SECTION_MISMATCH cmd_secanalysis = ; scripts/mod/modpost $@ endif But as you point out: The whole "soften modpost check" concept is bogus. It just cannot work. And I just verified it doing a m68k allmodconfig build without CONFIG_DEBUG_SECTION_MISMATCH. modpost will bail out unless host and target aligment matches: scripts/mod/modpost -m -a -o /usr/local/src/build-tmp/linux/Module.symvers -S -c -s drivers/media/video/gspca/gspca_sunplus: struct usb_device_id is 24 bytes. The last of 55 is: 0x04 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 FATAL: drivers/media/video/gspca/gspca_sunplus: struct usb_device_id is not terminated with a NULL entry! make[1]: *** [__modpost] Error 1 make: *** [modules] Error 2 So the prosed fix from Greg is certainly the correct one, until someone rewrites modpost to be completely cross build safe. Bjørn -- To unsubscribe from this list: send the line "unsubscribe linux-next" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html