On Sat, Mar 15, 2008 at 08:46:50AM +0000, Bjoern A. Zeeb wrote: > Hi, > > if I just do a make right after buildkernel finished successfully > linux.ko is rebuild (even though nothing was touched). > I have to admit I am doing make in obj/.../sys/KERNCONF/ but to > my understanding that should not matter. > > ... > ===> linsysfs (all) > ===> linux (all) > ln -sf > /local/building/freebsd/obj/local/building/freebsd/RELENG_7/sys/DOPT/opt_apic.h opt_apic.h > cc -c -O2 -fno-strict-aliasing -pipe -DCOMPAT_IA32 -DCOMPAT_LINUX32 > -D_KERNEL -DKLD_MODULE -std=c99 -nostdinc -DHAVE_KERNEL_OPTION_HEADERS > -include > /local/building/freebsd/obj/local/building/freebsd/RELENG_7/sys/DOPT/opt_global.h -I. -I_at_ -I_at_/contrib/altq -finline-limit=8000 --param inline-unit-growth=100 --param large-function-growth=1000 -g -fno-omit-frame-pointer -I/local/building/freebsd/obj/local/building/freebsd/RELENG_7/sys/DOPT -mcmodel=kernel -mno-red-zone -mfpmath=387 -mno-sse -mno-sse2 -mno-mmx -mno-3dnow -msoft-float -fno-asynchronous-unwind-tables -ffreestanding -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual -Wundef -Wno-pointer-sign -fformat-extensions _at_/amd64/amd64/genassym.c > sh _at_/kern/genassym.sh genassym.o > assym.s > cc -c -x assembler-with-cpp -DLOCORE -O2 -fno-strict-aliasing -pipe > -DCOMPAT_IA32 -DCOMPAT_LINUX32 -D_KERNEL -DKLD_MODULE -std=c99 -nostdinc > -DHAVE_KERNEL_OPTION_HEADERS -include > /local/building/freebsd/obj/local/building/freebsd/RELENG_7/sys/DOPT/opt_global.h -I. -I_at_ -I_at_/contrib/altq -finline-limit=8000 --param inline-unit-growth=100 --param large-function-growth=1000 -fno-common -g -fno-omit-frame-pointer -I/local/building/freebsd/obj/local/building/freebsd/RELENG_7/sys/DOPT -mcmodel=kernel -mno-red-zone -mfpmath=387 -mno-sse -mno-sse2 -mno-mmx -mno-3dnow -msoft-float -fno-asynchronous-unwind-tables -ffreestanding -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual -Wundef -Wno-pointer-sign -fformat-extensions /local/building/freebsd/RELENG_7/sys/modules/linux/../../amd64/linux32/linux32_support.s -o linux32_support.o > as -o assym.o assym.s > ld -d -warn-common -r -d -o linux.ko.debug linux32_locore.o > linux32_support.o linux32_dummy.o linux_emul.o linux_file.o linux_futex.o > linux_getcwd.o linux_ioctl.o linux_ipc.o linux32_machdep.o linux_mib.o > linux_misc.o linux_signal.o linux_socket.o linux_stats.o linux_sysctl.o > linux32_sysent.o linux32_sysvec.o linux_uid16.o linux_util.o linux_time.o > assym.o > echo linux_emul_path linux_get_osname linux_get_osrelease linux_ifname > linux_ioctl_register_handler linux_ioctl_unregister_handler > export_syms > awk -f > /local/building/freebsd/RELENG_7/sys/modules/linux/../../conf/kmod_syms.awk > linux.ko.debug export_syms | xargs -J% objcopy % linux.ko.debug > objcopy --only-keep-debug linux.ko.debug linux.ko.symbols > objcopy --strip-debug --add-gnu-debuglink=linux.ko.symbols linux.ko.debug > linux.ko > ===> lmc (all) > ... I want to say first that I do not know why, and I am interesting myself in the reason. Some time ago I tried to understand this, but did not come to any conclusion. The points I observed are below: 1. On i386, the acpi module (absent on the amd64) also often rebuilds without obvious reason. 2. Both linux and acpi depend on the assym.s. It seems that these are the only modules that depend on it. For instance, svr4 depends on svr4_genassym and does not rebuild. I did not saw anything obvious in the web of the rules to handle *assym. BTW, it usually tends to stabilize after several remakes.
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:28 UTC