Offloading compilers' support libraries

Ilya Verbin iverbin@gmail.com
Thu Feb 26 19:35:00 GMT 2015


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



More information about the Gcc-patches mailing list