This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: Offloading compilers' support libraries
- From: Ilya Verbin <iverbin at gmail dot com>
- To: Thomas Schwinge <thomas at codesourcery dot com>, Jakub Jelinek <jakub at redhat dot com>
- Cc: Bernd Schmidt <bernds at codesourcery dot com>, gcc-patches at gcc dot gnu dot org, Kirill Yukhin <kirill dot yukhin at gmail dot com>
- Date: Thu, 26 Feb 2015 22:20:18 +0300
- Subject: Re: Offloading compilers' support libraries
- Authentication-results: sourceware.org; auth=none
- References: <20150217133206 dot GA62715 at msticlxl57 dot ims dot intel dot com> <20150217153918 dot GX1746 at tucnak dot redhat dot com> <alpine dot DEB dot 2 dot 10 dot 1502171619550 dot 19294 at digraph dot polyomino dot org dot uk> <20150217164033 dot GY1746 at tucnak dot redhat dot com> <54E5ACCE dot 7080502 at codesourcery dot com> <8761aydt4y dot fsf at schwinge dot name> <54E5D234 dot 9050209 at codesourcery dot com> <873862drj2 dot fsf at schwinge dot name> <20150220150501 dot GB56550 at msticlxl57 dot ims dot intel dot com> <20150220194852 dot GD56550 at msticlxl57 dot ims dot intel dot com>
On Fri, Feb 20, 2015 at 22:48:52 +0300, Ilya Verbin wrote:
> On Fri, Feb 20, 2015 at 18:05:01 +0300, Ilya Verbin wrote:
> > On Thu, Feb 19, 2015 at 13:17:37 +0100, Thomas Schwinge wrote:
> > > My asumption is that it is always safe to install non-native (that is
> > > cross) GCC installations into the same prefix. (Which would resolve this
> > > problem of clashing file names for target and offloading compilers for
> > > good.)
> > >
> > > So, the next question is, instead of this special handling, why can't we
> > > require the offloading compilers to always be configured as cross
> > > compilers? Or, why is it a requirement that the intelmic offloading
> > > compiler is configured as a native compiler?
> >
> > If I understand correctly, to build a cross compiler, we need to specify a path
> > to the target sysroot, even for x86_64-pc-linux-gnu to x86_64-intelmic-linux-gnu
> > cross. Or is it possible to build a cross compiler without --with-sysroot ?
>
> To be precise, for the cross compiler we need to specify a path to
> --with-build-time-tools (rather than --with-sysroot). The problem is that for
> Intel MIC there are no special as/ld/etc. So, is there an elegant way to build
> a cross compiler with host's build time tools?
Probably one can build an offloading cross compiler as:
configure --target=x86_64-intelmic-linux-gnu --enable-as-accelerator-for=x86_64-pc-linux-gnu --with-build-time-tools=/usr/bin/
?
But I'm getting errors for such configuration :(
In file included from ../../../gcc/libgcc/gthr.h:148:0,
from ../../../gcc/libgcc/libgcov-interface.c:27:
./gthr-default.h:35:21: fatal error: pthread.h: No such file or directory
compilation terminated.
make[2]: *** [_gcov_dump.o] Error 1
make[2]: Leaving directory `/build/x86_64-intelmic-linux-gnu/libgcc'
make[1]: *** [all-target-libgcc] Error 2
make[1]: Leaving directory `/build'
make: *** [all] Error 2
I really want to remove the intelmicemul target, since there is no difference in
the compiler between real and emulated compilation for Intel MIC. The only
difference is which libcoi_host.so is used by liboffloadmic_host.so at run-time.
Thanks,
-- Ilya