Latest working kernel version: Earliest failing kernel version: 2.6.26-rc1 Distribution: Hardware Environment: Software Environment: gcc -v: Using built-in specs. Target: i486-linux-gnu Configured with: ../src/configure -v --enable-languages=c,c++,fortran,objc,obj-c ++,treelang --prefix=/usr --enable-shared --with-system-zlib --libexecdir=/usr/l ib --without-included-gettext --enable-threads=posix --enable-nls --with-gxx-inc lude-dir=/usr/include/c++/4.2 --program-suffix=-4.2 --enable-clocale=gnu --enabl e-libstdcxx-debug --enable-objc-gc --enable-mpfr --enable-targets=all --enable-c hecking=release --build=i486-linux-gnu --host=i486-linux-gnu --target=i486-linux -gnu Thread model: posix gcc version 4.2.3 (Ubuntu 4.2.3-2ubuntu7) Problem Description: Build failure with Linux 2.6.26-rc1 Steps to reproduce: 1. git pull git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git I used make xconfig in order to set kernel options. You can see .config as an attachment. Kernel build process failed with these error messages: LD vmlinux.o MODPOST vmlinux.o WARNING: modpost: Found 2 section mismatch(es). To see full details build your kernel with: 'make CONFIG_DEBUG_SECTION_MISMATCH=y' GEN .version CHK include/linux/compile.h UPD include/linux/compile.h CC init/version.o LD init/built-in.o LD .tmp_vmlinux1 drivers/built-in.o: In function `xc2028_get_reg': tuner-xc2028.c:(.text+0xbe9f3): undefined reference to `i2c_transfer' drivers/built-in.o: In function `load_firmware': tuner-xc2028.c:(.text+0xbf686): undefined reference to `i2c_transfer' drivers/built-in.o: In function `generic_set_freq': tuner-xc2028.c:(.text+0xc0208): undefined reference to `i2c_transfer' tuner-xc2028.c:(.text+0xc028b): undefined reference to `i2c_transfer' tuner-xc2028.c:(.text+0xc030a): undefined reference to `i2c_transfer' drivers/built-in.o:tuner-xc2028.c:(.text+0xc05e9): more undefined references to `i2c_transfer' follow drivers/built-in.o: In function `simple_set_params': tuner-simple.c:(.text+0xc2432): undefined reference to `i2c_clients_command' tuner-simple.c:(.text+0xc245f): undefined reference to `i2c_transfer' tuner-simple.c:(.text+0xc2574): undefined reference to `i2c_clients_command' tuner-simple.c:(.text+0xc261d): undefined reference to `i2c_transfer' tuner-simple.c:(.text+0xc27e2): undefined reference to `i2c_transfer' tuner-simple.c:(.text+0xc28a5): undefined reference to `i2c_transfer' tuner-simple.c:(.text+0xc2992): undefined reference to `i2c_transfer' tuner-simple.c:(.text+0xc2bcc): undefined reference to `i2c_transfer' drivers/built-in.o:tuner-simple.c:(.text+0xc2c3a): more undefined references to `i2c_transfer' follow drivers/built-in.o: In function `v4l2_i2c_drv_detach_legacy': tuner-core.c:(.text+0xd1d7e): undefined reference to `i2c_detach_client' drivers/built-in.o: In function `v4l2_i2c_drv_probe_legacy': tuner-core.c:(.text+0xd1dd8): undefined reference to `i2c_probe' drivers/built-in.o: In function `v4l2_i2c_drv_attach_legacy': tuner-core.c:(.text+0xd1dfd): undefined reference to `v4l2_i2c_attach' drivers/built-in.o: In function `set_type': tuner-core.c:(.text+0xd30b3): undefined reference to `i2c_master_send' tuner-core.c:(.text+0xd30d4): undefined reference to `i2c_master_send' tuner-core.c:(.text+0xd314f): undefined reference to `i2c_master_send' drivers/built-in.o: In function `tuner_probe': tuner-core.c:(.text+0xd395e): undefined reference to `i2c_master_recv' drivers/built-in.o: In function `v4l2_i2c_drv_init': tuner-core.c:(.init.text+0x7097): undefined reference to `i2c_register_driver' tuner-core.c:(.init.text+0x70e0): undefined reference to `i2c_register_driver' tuner-core.c:(.init.text+0x70f0): undefined reference to `i2c_del_driver' drivers/built-in.o: In function `v4l2_i2c_drv_cleanup': tuner-core.c:(.exit.text+0x7a9): undefined reference to `i2c_del_driver' tuner-core.c:(.exit.text+0x7b3): undefined reference to `i2c_del_driver' make: *** [.tmp_vmlinux1] Error 1 Next, I did: make CONFIG_DEBUG_SECTION_MISMATCH=y Here are section mismatch reports: CC arch/x86/kernel/k8.o LD arch/x86/kernel/built-in.o WARNING: arch/x86/kernel/built-in.o(.text+0x140b1): Section mismatch in reference from the function cpu_exit_clear() to the function .cpuinit.text:cpu_uninit() The function cpu_exit_clear() references the function __cpuinit cpu_uninit(). This is often because cpu_exit_clear lacks a __cpuinit annotation or the annotation of cpu_uninit is wrong. LD vmlinux.o MODPOST vmlinux.o WARNING: vmlinux.o(.text+0x153c1): Section mismatch in reference from the function cpu_exit_clear() to the function .cpuinit.text:cpu_uninit() The function cpu_exit_clear() references the function __cpuinit cpu_uninit(). This is often because cpu_exit_clear lacks a __cpuinit annotation or the annotation of cpu_uninit is wrong. WARNING: vmlinux.o(.text+0x371689): Section mismatch in reference from the function pci_scan_bus_on_node() to the function .devinit.text:pci_scan_bus_parented() The function pci_scan_bus_on_node() references the function __devinit pci_scan_bus_parented(). This is often because pci_scan_bus_on_node lacks a __devinit annotation or the annotation of pci_scan_bus_parented is wrong.
Created attachment 16019 [details] .config file
that`s probably a kconfig dependency issue. see http://marc.info/?l=linux-kernel&m=114894435616506&w=2 try setting CONFIG_I2C_.... options as a workaround
did that work for you ?
No response, closing