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

Attachment: gcov-2.6.0-test3.patch.gz
Description: GNU Zip compressed data

Reply via email to