I'm having a build problem with x86-64 when I tried to port the gcov-kernel patch to it, I think mainly due to the modified linker script stuff under arch/x86_64/ia32. Here's some output at the end with KBUILD_VERBOSE=1 turned on:
CHK include/linux/version.h make -f scripts/Makefile.build obj=scripts make -f scripts/Makefile.build obj=arch/x86_64/kernel arch/x86_64/kernel/asm-offsets.s make[1]: `arch/x86_64/kernel/asm-offsets.s' is up to date. mkdir -p .tmp_versions make -f scripts/Makefile.build obj=init CHK include/linux/compile.h make -f scripts/Makefile.build obj=usr make -f scripts/Makefile.build obj=arch/x86_64/kernel make -f scripts/Makefile.build obj=arch/x86_64/kernel/acpi make -f scripts/Makefile.build obj=arch/x86_64/kernel/mtrr make -f scripts/Makefile.build obj=arch/x86_64/mm make -f scripts/Makefile.build obj=arch/x86_64/ia32 gcc -Wp,-MD,arch/x86_64/ia32/.vsyscall.o.d -D__ASSEMBLY__ -D__KERNEL__ -Iinclude -nostdinc -iwithprefix include -m32 -c -o arch/x86_64/ia32/vsyscall.o arch/x86_64/ia32/vsyscall.S gcc -m32 -nostdlib -shared -s -Wl,-soname=linux-gate.so.1 \ -o arch/x86_64/ia32/vsyscall.so -Wl,-T,arch/x86_64/ia32/vsyscall.lds arch/x86_64/ia32/vsyscall.o gcc -Wp,-MD,arch/x86_64/ia32/.syscall32.o.d -D__KERNEL__ -Iinclude -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -mno-red-zone -mcmodel=kernel -pipe -fno-reorder-blocks -finline-limit=2000 -Wno-sign-compare -fno-asynchronous-unwind-tables -fomit-frame-pointer -fprofile-arcs -ftest-coverage -nostdinc -iwithprefix include -DKBUILD_BASENAME=syscall32 -DKBUILD_MODNAME=syscall32 -E -o arch/x86_64/ia32/syscall32.o arch/x86_64/ia32/syscall32.c && cd arch/x86_64/ia32/ && gcc -D__KERNEL__ -I/home/plars/kernel/linux-2.6.0-test1-gcov/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -mno-red-zone -mcmodel=kernel -pipe -fno-reorder-blocks -finline-limit=2000 -Wno-sign-compare -fno-asynchronous-unwind-tables -fomit-frame-pointer -fprofile-arcs -ftest-coverage -nostdinc -iwithprefix include -DKBUILD_BASENAME=syscall32 -DKBUILD_MODNAME=syscall32 -c -o syscall32.o syscall32.c && cd /home/plars/kernel/linux-2.6.0-test1-gcov {standard input}: Assembler messages: {standard input}:5: Error: file not found: arch/x86_64/ia32/vsyscall.so /bin/sh: line 1: arch/x86_64/ia32/.syscall32.o.tmp: No such file or directory make[1]: *** [arch/x86_64/ia32/syscall32.o] Error 1 make: *** [arch/x86_64/ia32] Error 2 Andi Kleen suggested that this particular file may not like being compiled with -fprofile-arcs -ftest-coverage, but there doesn't seem to be a clear way to remove the options. I think the problem is actually a little more than that though, because of other changes made to Makefile.build by the gcov-kernel patch (I attached the latest version). The kernel I've been trying this on is 2.6.0-test1. Do you have any ideas about how to fix this? I'm not on the list, so please include me directly in replies. Thanks, Paul Larson
gcov-2.6.0-test3.patch.gz
Description: GNU Zip compressed data