On 21.12.2016 02:53, Jonathan Neuschäfer wrote:
Hi,
for a while now I've had problems using buildgcc on my Debian system, which runs Debian testing (aka. stretch or version 9) and GCC 6.2. When it fails, there is the following error in util/crossgcc/build-*-elf-GCC/config.log:
/usr/bin/ld: /home/jn/dev/coreboot/util/crossgcc/xgcc/lib/libgmp.a(fat_entry.o): relocation R_X86_64_32S against symbol `__gmpn_cpuvec' can not be used when making a shared object; recompile with -fPIC
That's known trouble due to their GCC using `-fpie/-pie` by default now. One way to work around is adding `-with-pic` to the configure step when building GMP.
We could do that automatically. I guess, there is something in `gcc -dumpspecs` that could be used. Can you provide that output for the failing GCC, please.
Nico
This error only happens when buildgcc uses gcc 6.2. When I select gcc 4.9, gcc 5.3, clang 3.8, or clang 3.9, like this, buildgcc succeeds[1]:
CC=gcc-5 CXX=g++-5 make CPUS=3 crossgcc
Regards, Jonathan Neuschäfer
[1]: You a little patch for buildgcc to accept $CC: https://review.coreboot.org/#/c/17931/