Messages in this thread | | | From | Segher Boessenkool <> | Subject | Re: [PATCH 0/7] gcov kernel support | Date | Fri, 23 May 2008 23:52:43 +0200 |
| |
>> Sounds like your toolchain was built without biarch support, but >> you're >> using it for the 32-bit parts of the kernel anyway. Which works as >> long >> as you're not using any libraries, but now you need libgcov.a . > > ok.. > >> What does >> >> /opt/crosstool/gcc-4.1.0-glibc-2.3.6/powerpc64-unknown-linux-gnu/bin/ >> powerpc64-unknown-linux-gnu-gcc -v >> >> say? > > y:/home/akpm> > /opt/crosstool/gcc-4.1.0-glibc-2.3.6/powerpc64-unknown-linux-gnu/bin/ > powerpc64-unknown-linux-gnu-gcc -v > Using built-in specs. > Target: powerpc64-unknown-linux-gnu > Configured with: > /home/axboe/crosstool-0.43/build/powerpc64-unknown-linux-gnu/gcc > -4.1.0-glibc-2.3.6/gcc-4.1.0/configure > --target=powerpc64-unknown-linux-gnu > --host=x86_64-host_unknown-linux-gnu > --prefix=/opt/crosstool/gcc-4.1.0-glibc-2.3.6/powerpc64-unknown-linux- > gnu
> --disable-multilib
That's the culprit. I believe 4.1.0 enables multilib by default on PowerPC compilers that target 64-bit by default (the patch for that is dated almost a full year before the 4.1.0 release). I have no idea why crosstool disables this support; perhaps there were some problems with some older GCC version (or this one, even; it's ancient as well).
>> Or, what does >> >> find >> /opt/crosstool/gcc-4.1.0-glibc-2.3.6/powerpc64-unknown-linux-gnu/ >> 4.1.0/ >> -name libgcov.a >> >> say? (It should usually find three versions: 64-bit, 32-bit, 32-bit >> no >> float). > > Only a single hit:
Right, as expected.
>> You *can* build with a non-biarch compiler, but then you need to point >> the kernel build system at a 32-bit toolchain to use for the 32-bit >> parts (via CROSS32_COMPILE). > > Jens built this one, using crosstool. It is > http://userweb.kernel.org/~akpm/cross-compilers/power64-cross.tar.bz2 > > It was all working happily until gcov came along :(
You were lucky, yes. If your compiler would have been just a little bit older it wouldn't have been able to build 32-bit at all.
Do you have a separate 32-bit PowerPC compiler? If so, just set CROSS32_COMPILE to it; if not, you'll need a new toolchain. In that case, it's probably worthwhile to upgrade to 4.1.2 at least...
Segher
| |