My cross compiler isn't able to compile testglue.c when running libstdc++ regression test.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

I buit a cross compiler for arm-none-eabi on x86 Ubuntu. The "make
check" for GCC works fine and the testglue.c can be compiled. But when
run "make check" for libstdc++, things go wrong. My gcc isn't able to
compile testglue.c. I use newlib as c library. The error message is:

Executing on host:
/home/build/work/jenkins-daily-build/build-linux/gcc-final/gcc/xgcc
-B/home/build/work/jenkins-daily-build/build-linux/gcc-final/gcc/   -w
-fexceptions  -c    -mthumb -mcpu=cortex-m0 -O2 -o
/home/build/work/jenkins-daily-build/build-linux/gcc-final/arm-none-eabi/libstdc++-v3/testsuite/testglue.o
/usr/share/dejagnu/testglue.c    (timeout = 300)
/usr/share/dejagnu/testglue.c:1:19: fatal error: stdio.h: No such file
or directory^M
compilation terminated.^M
compiler exited with status 1
output is:
/usr/share/dejagnu/testglue.c:1:19: fatal error: stdio.h: No such file
or directory^M
compilation terminated.^M

My configuration is:

Configured with:
/home/build/work/jenkins-daily-build/src/gcc/configure
--build=i686-linux-gnu --host=i686-linux-gnu --target=arm-none-eabi
--enable-extra-multilibs --enable-languages=c,c++ --enable-lto
--enable-threads --enable-plugin --disable-decimal-float
--disable-libffi --disable-libgomp --disable-libmudflap
--disable-libquadmath --disable-libssp --disable-libstdcxx-pch
--disable-nls --disable-shared --with-gnu-as --with-gnu-ld
--with-newlib --prefix=/home/build/work/jenkins-daily-build/install-linux
--with-headers=yes
--with-sysroot=/home/build/work/jenkins-daily-build/install-linux/arm-none-eabi
--with-gmp=/home/build/work/jenkins-daily-build/build-linux/host-libs/usr
--with-mpfr=/home/build/work/jenkins-daily-build/build-linux/host-libs/usr
--with-mpc=/home/build/work/jenkins-daily-build/build-linux/host-libs/usr
--with-ppl=/home/build/work/jenkins-daily-build/build-linux/host-libs/usr
--with-cloog=/home/build/work/jenkins-daily-build/build-linux/host-libs/usr
--with-libelf=/home/build/work/jenkins-daily-build/build-linux/host-libs/usr
--with-host-libstdcxx='-static-libgcc -Wl,-Bstatic,-lstdc++,-Bdynamic
-lm'

>From the message, it seems that the xgcc cannot find the header files
path. But in fact, the header files are in path specified by
--with-sysroot. So if GCC would get header files information from
configuration, what's the right way to specify the configuration
arguments?

I also noticed that gcc/testsuite/gcc/site.exp has a line "set
TEST_GCC_EXEC_PREFIX
"/home/build/work/jenkins-daily-build/install-linux/lib/gcc/". If I
put this line into libstdc++-v3/testsuite/site.exp, the testglue.c can
be compiled and the libstdc++ regression test works fine. I know the
"GCC_EXEC_PREFIX" is used in an unusual way in finding the directories
to search for header files. So what's the reason we don't define it in
libstdc++-v3/testsuite/site.exp just like what GCC does?

Finally I also tried to pass arguments like "-isystem...." to xgcc
through "wrap_compile_flags" in Dejagnu board description file and
failed.

This issue really makes me crazy. Could anybody please help me out of
it. Thanks very much in advance.

Best regards,
Terry



[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux