Compiling GCC with C and C++ for an ARM platform

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

 



I am currently using the C compiler in GCC 4.2.2 to compile for the
arm-elf target platform.  I can build GCC successfully (only the C
compiler) on a linux x86_64 host for an arm-elf target.  I would like
to know if it is possibe to build a version of GCC with C++ for the
arm and is arm_elf the right target?  Would I be better off using
arm-none-eabi?  What is the difference?  Details of the error building
the compilers are shown below.

Thank you for all your help!   --Rob

For these $(TARGET) is arm-elf.

The C++ compiler will not build for arm-elf.  I am configuring the
build like so:

configure --prefix=$(PREFIX) --target=$(TARGET)
--enable-languages="c,c++" --with-gnu-ld --with-gnu-as

When I compile it get this error:

configure: error: No support for this host/target combination.
make[3]: *** [configure-target-libstdc++-v3] Error 1

Is this target just not complete or is it obselete?

The other constraint for building is that I must disable libssp when I
configure GCC.  Without disabling libssp the compile/config produces
these warnings and eventually fails:

checking limits.h usability... no
checking limits.h presence... yes
configure: WARNING: limits.h: present but cannot be compiled
configure: WARNING: limits.h:     check for missing prerequisite headers?
configure: WARNING: limits.h: see the Autoconf documentation
configure: WARNING: limits.h:     section "Present But Cannot Be Compiled"
configure: WARNING: limits.h: proceeding with the preprocessor's result
configure: WARNING: limits.h: in the future, the compiler will take precedence
configure: WARNING:     ## --------------------------------- ##
configure: WARNING:     ## Report this to the libssp lists.  ##
configure: WARNING:     ## --------------------------------- ##
checking for limits.h... yes


/home/rje/vc/trunk/firmware/arm_common/extern/build/gcc/./gcc/xgcc
-B/home/rje/vc/trunk/firmware/arm_common/extern/build/gcc/./gcc/
-B/home/rje/vc/trunk/firmware/arm_common/toolchain/arm-elf/bin/
-B/home/rje/vc/trunk/firmware/arm_common/toolchain/arm-elf/lib/
-isystem /home/rje/vc/trunk/firmware/arm_common/toolchain/arm-elf/include
-isystem /home/rje/vc/trunk/firmware/arm_common/toolchain/arm-elf/sys-include
-DHAVE_CONFIG_H -I. -I../../../../gcc/libssp -I. -Wall -O2 -g -O2 -MT
ssp.lo -MD -MP -MF .deps/ssp.Tpo -c ../../../../gcc/libssp/ssp.c -o
ssp.o
../../../../gcc/libssp/ssp.c: In function '__guard_setup':
../../../../gcc/libssp/ssp.c:70: warning: implicit declaration of
function 'open'
../../../../gcc/libssp/ssp.c:70: error: 'O_RDONLY' undeclared (first
use in this function)
../../../../gcc/libssp/ssp.c:70: error: (Each undeclared identifier is
reported only once
../../../../gcc/libssp/ssp.c:70: error: for each function it appears in.)
../../../../gcc/libssp/ssp.c:73: error: 'ssize_t' undeclared (first
use in this function)
../../../../gcc/libssp/ssp.c:73: error: expected ';' before 'size'
../../../../gcc/libssp/ssp.c:75: warning: implicit declaration of
function 'close'
../../../../gcc/libssp/ssp.c:76: error: 'size' undeclared (first use
in this function)
../../../../gcc/libssp/ssp.c: At top level:
../../../../gcc/libssp/ssp.c:89: error: expected declaration
specifiers or '...' before 'size_t'
../../../../gcc/libssp/ssp.c: In function 'fail':
../../../../gcc/libssp/ssp.c:100: error: 'O_WRONLY' undeclared (first
use in this function)
../../../../gcc/libssp/ssp.c:104: error: 'size_t' undeclared (first
use in this function)
../../../../gcc/libssp/ssp.c:104: error: expected ';' before 'progname_len'
../../../../gcc/libssp/ssp.c:107: error: 'progname_len' undeclared
(first use in this function)
../../../../gcc/libssp/ssp.c:107: warning: implicit declaration of
function 'strlen'
../../../../gcc/libssp/ssp.c:107: warning: incompatible implicit
declaration of built-in function 'strlen'
../../../../gcc/libssp/ssp.c:108: error: 'len' undeclared (first use
in this function)
../../../../gcc/libssp/ssp.c:108: error: 'msg1len' undeclared (first
use in this function)
../../../../gcc/libssp/ssp.c:109: warning: implicit declaration of
function 'alloca'
../../../../gcc/libssp/ssp.c:109: warning: incompatible implicit
declaration of built-in function 'alloca'
../../../../gcc/libssp/ssp.c:111: warning: implicit declaration of
function 'memcpy'
../../../../gcc/libssp/ssp.c:111: warning: incompatible implicit
declaration of built-in function 'memcpy'
../../../../gcc/libssp/ssp.c:119: error: 'ssize_t' undeclared (first
use in this function)
../../../../gcc/libssp/ssp.c:119: error: expected ';' before 'wrote'
../../../../gcc/libssp/ssp.c:120: error: 'wrote' undeclared (first use
in this function)
../../../../gcc/libssp/ssp.c:151: warning: implicit declaration of
function '_exit'
../../../../gcc/libssp/ssp.c:151: warning: incompatible implicit
declaration of built-in function '_exit'
../../../../gcc/libssp/ssp.c: In function '__stack_chk_fail':
../../../../gcc/libssp/ssp.c:161: warning: incompatible implicit
declaration of built-in function 'strlen'
../../../../gcc/libssp/ssp.c:161: warning: passing argument 2 of
'fail' makes pointer from integer without a cast
../../../../gcc/libssp/ssp.c:161: error: too many arguments to function 'fail'
../../../../gcc/libssp/ssp.c: In function '__chk_fail':
../../../../gcc/libssp/ssp.c:168: warning: incompatible implicit
declaration of built-in function 'strlen'
../../../../gcc/libssp/ssp.c:168: warning: passing argument 2 of
'fail' makes pointer from integer without a cast
../../../../gcc/libssp/ssp.c:168: error: too many arguments to function 'fail'
make[5]: *** [ssp.lo] Error 1
make[5]: Leaving directory
`/home/rje/vc/trunk/firmware/arm_common/extern/build/gcc/arm-elf/libssp'
make[4]: *** [all] Error 2
make[4]: Leaving directory
`/home/rje/vc/trunk/firmware/arm_common/extern/build/gcc/arm-elf/libssp'
make[3]: *** [all-target-libssp] Error 2
make[3]: Leaving directory
`/home/rje/vc/trunk/firmware/arm_common/extern/build/gcc'
make[2]: *** [all] Error 2
make[2]: Leaving directory
`/home/rje/vc/trunk/firmware/arm_common/extern/build/gcc'
make[1]: *** [arm-gcc] Error 2
make[1]: Leaving directory `/home/rje/vc/trunk/firmware/arm_common/extern'
make: *** [tools] Error 2

[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