Hi Andrew, No, this '-fno-pic' flag does not help. Like the "-fPIC" flag, I have tried this with just for x86/cstart64.o and for all files with configure. Non of them can work. Thanks On Wed, Dec 21, 2016 at 8:36 PM, Andrew Jones <drjones@xxxxxxxxxx> wrote: > On Wed, Dec 21, 2016 at 08:08:45PM +0800, Po-Hsu Lin wrote: >> Hello, >> >> I found this compilation issue on an Ubuntu Yakkety (kernel 4.8.0-30) >> x86_64 system. >> >> When running "make" till the following step: >> gcc -mno-red-zone -m64 -O1 -g -MMD -MF x86/.vmexit.d -Wall -Werror >> -fno-omit-frame-pointer -Wno-frame-address -nostdlib -o >> x86/vmexit.elf -Wl,-T,x86/flat.lds x86/vmexit.o x86/cstart64.o >> lib/libcflat.a /usr/lib/gcc/x86_64-linux-gnu/6/libgcc.a >> >> It will return: >> /usr/bin/ld: x86/cstart64.o: relocation R_X86_64_32 against `.data' >> can not be used when making a shared object; recompile with -fPIC >> >> This issue won't go away even with x86/cstart64.o recompiled with the >> -fPIC flag: >> gcc -fPIC -mno-red-zone -m64 -O1 -g -MMD -MF x86/.cstart64.d -Wall >> -Werror -fno-omit-frame-pointer -Wno-frame-address -std=gnu99 >> -ffreestanding -I lib -I lib/x86 -c -nostdlib -o x86/cstart64.o >> x86/cstart64.S >> >> The head of the kvm-unit-test repository is 1bde9127da4c >> >> I think maybe it's because the source is assembly code, making the >> -fPIC flag useless for it? >> >> System spec >> - CPU: Intel i3-4010U >> - Kernel version: 4.8.0-30-generic #32 >> - GCC version: gcc (Ubuntu 6.2.0-5ubuntu12) 6.2.0 20161005 >> >> Compilation works fine with Ubuntu Xenial (4.4 kernel, gcc Ubuntu >> 5.4.0-6ubuntu1~16.04.4 5.4.0 20160609), even with 4.8 kernel on >> Xenial, so I think this is more related to the compiler or something. >> > > Does adding '-fno-pic' help? > > Thanks, > drew -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html