bare metal C++

Michael N. Moran mike@mnmoran.org
Tue Nov 3 17:39:00 GMT 2009


Allen Curtis wrote:
> How do you create a bare metal cross compiler with C++ support? From the 
> reading I have done, it appears that you need newlib for the general C 
> functions and then you need glibc for the C++ stuff. Is this correct? 

No. I use GCC/newlib bare metal and C++ frequently. GLIBC
and Newlib have equivalent functionality. Newlib is intended
for embedded targets.

C++ support is part of GCC.

Here's an old script I used for building an powerpc-eabi
target. Note that it doesn't show the build for
binutils, and there are some hard coded paths for my
own convenience ;)

------------ script -----------------------

#!/bin/bash

# Note: need to set PATH to point at binutils powerpc-eabi/bin

rm -f ../gcc-3.3/newlib

ln -s ../../../newlib/1.11.0/newlib-1.11.0/newlib 
../gcc-3.3/newlib

BINUTILS_PATH=/tools/gnu/gcc/3.3/powerpc-eabi/bin

export PATH=$PATH:$BINUTILS_PATH

../gcc-3.3/configure \
     --target=powerpc-eabi \
     --prefix=/tools/gnu/gcc/3.3/powerpc-eabi \
     --with-newlib \
     --enable-languages="c c++"

make CFLAGS="-O2 -fomit-frame-pointer" > make.temp 2>&1

-----------------------------------------------

-- 
Michael N. Moran           (h) 770 516 7918
5009 Old Field Ct.         (c) 678 521 5460
Kennesaw, GA, USA 30144    http://mnmoran.org

"So often times it happens, that we live our lives in chains
  and we never even know we have the key."
"Already Gone" by Jack Tempchin (recorded by The Eagles)

The Beatles were wrong: 1 & 1 & 1 is 1

--
For unsubscribe information see http://sourceware.org/lists.html#faq



More information about the crossgcc mailing list