Messages in this thread | | | Date | Tue, 9 Jan 2007 22:55:27 +0100 | From | Luca Tettamanti <> | Subject | Re: .version keeps being updated |
| |
Jean Delvare <khali@linux-fr.org> ha scritto: > Hi all,
Hi Jean,
> Since 2.6.20-rc1 or so, running "make" always builds a new kernel with > an incremented version number, whether there has actually been any > change done to the code or configuration or not. This increases the > build time quite a bit. > > I've tracked it down to include/linux/compile.h always being updated, > and this is because .version is updated. I couldn't find what is > causing .version to be updated each time though. Can anybody help > there? Was this change made on purpose or is this a bug which we should > fix?
kronos:~/src/linux-2.6.git$ cat ../linux-build-git/include/linux/compile.h /* This file is auto generated, version 14 */ /* SMP PREEMPT */ #define UTS_MACHINE "i386" #define UTS_VERSION "#14 SMP PREEMPT Tue Jan 9 22:45:18 CET 2007" #define LINUX_COMPILE_TIME "22:45:18" #define LINUX_COMPILE_BY "kronos" #define LINUX_COMPILE_HOST "dreamland.darkstar.lan" #define LINUX_COMPILE_DOMAIN "darkstar.lan" #define LINUX_COMPILER "gcc version 4.1.2 20061115 (prerelease) (Debian 4.1.1-20)"
LINUX_COMPILE_TIME and UTS_VERSION differs at each rebuild. UTS_VERSION is responsible of rebuilding fs/proc/proc_misc.o; init/main.o uses just about everything, init/version.o requires UTS_VERSION.
I don't think it's a regression from earlier kernels though, is it?
kronos:~/src/linux-2.6.git$ make -j3 V=2 O=../linux-build-git/ GEN /home/kronos/src/linux-build-git/Makefile CHK include/linux/version.h CHK include/linux/compile.h CHK include/linux/utsrelease.h Using /home/kronos/src/linux-2.6.git as source for kernel UPD include/linux/compile.h CC init/main.o - due to: include/linux/compile.h CC init/version.o - due to: include/linux/compile.h LD init/built-in.o - due to: init/main.o init/version.o CC fs/proc/proc_misc.o - due to: include/linux/compile.h LD fs/proc/proc.o - due to: fs/proc/proc_misc.o LD fs/proc/built-in.o - due to: fs/proc/proc.o LD fs/built-in.o - due to: fs/proc/built-in.o GEN .version - due to: init/built-in.o fs/built-in.o LD .tmp_vmlinux1 - due to: init/built-in.o fs/built-in.o KSYM .tmp_kallsyms1.S - due to: .tmp_vmlinux1 AS .tmp_kallsyms1.o - due to: .tmp_kallsyms1.S LD .tmp_vmlinux2 - due to: init/built-in.o fs/built-in.o .tmp_kallsyms1.o KSYM .tmp_kallsyms2.S - due to: .tmp_vmlinux2 AS .tmp_kallsyms2.o - due to: .tmp_kallsyms2.S LD vmlinux - due to: init/built-in.o fs/built-in.o .tmp_kallsyms2.o SYSMAP System.map SYSMAP .tmp_System.map MODPOST vmlinux - due to vmlinux not in $(targets) Building modules, stage 2. AS arch/i386/boot/setup.o - due to: include/linux/compile.h OBJCOPY arch/i386/boot/compressed/vmlinux.bin - due to: vmlinux GZIP arch/i386/boot/compressed/vmlinux.bin.gz - due to: arch/i386/boot/compressed/vmlinux.bin MODPOST 130 modules - due to target is PHONY LD arch/i386/boot/compressed/piggy.o - due to: arch/i386/boot/compressed/vmlinux.bin.gz LD arch/i386/boot/compressed/vmlinux - due to: arch/i386/boot/compressed/piggy.o LD arch/i386/boot/setup - due to: arch/i386/boot/setup.o OBJCOPY arch/i386/boot/vmlinux.bin - due to: arch/i386/boot/compressed/vmlinux BUILD arch/i386/boot/bzImage - due to: arch/i386/boot/setup arch/i386/boot/vmlinux.bin Root device is (254, 0) Boot sector 512 bytes. Setup is 6959 bytes. System is 1567 kB Kernel: arch/i386/boot/bzImage is ready (#16)
Luca -- La somma dell'intelligenza sulla terra e` una costante. La popolazione e` in aumento. - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |