sparc-rtems4.11-gcc for C++

Jiri Freyvald jiri.freyvald at gmail.com
Tue Oct 30 09:43:10 UTC 2012


Hi,
as I suggested in my previous reply - use existing C++ example (with its 
makefile) as a c++ template for your project.
Anyway,
here is the output of my makefile (c++ example):

$ export PATH=/opt/rtems-4.11/bin:$PATH
$ export RTEMS_MAKEFILE_PATH=/opt/rtems-fw/sparc-rtems4.11/sis/

$make clean all
rm -f a.out core mon.out gmon.out
rm -f -r
rm -f -r  a.out *.o *.BAK Depends-o-optimize.tmp
rm -f -r o-optimize o-debug
test -d o-optimize || mkdir o-optimize
sparc-rtems4.11-gcc --pipe -B/opt/rtems-fw/sparc-rtems4.11/sis/lib/ 
-specs bsp_specs -qrtems   -g -Wall  -O2 -g -g    -mcpu=cypress     -c   
-o o-optimize/init.o init.c
sparc-rtems4.11-g++ -B/opt/rtems-fw/sparc-rtems4.11/sis/lib/ -specs 
bsp_specs -qrtems   -g -Wall  -g    -mcpu=cypress     -c -o 
o-optimize/main.o main.cc
sparc-rtems4.11-g++ -B/opt/rtems-fw/sparc-rtems4.11/sis/lib/ -specs 
bsp_specs -qrtems   -g -Wall  -g    -mcpu=cypress -mcpu=cypress   -o 
o-optimize/cxx_throw.exe  o-optimize/init.o o-optimize/main.o
sparc-rtems4.11-nm -g -n o-optimize/cxx_throw.exe > o-optimize/cxx_throw.num
sparc-rtems4.11-size o-optimize/cxx_throw.exe
    text       data        bss        dec        hex    filename
  212608       2740      22960     238308      3a2e4 
o-optimize/cxx_throw.exe
cp o-optimize/cxx_throw.exe o-optimize/cxx_throw.ralf

it should help you

Jiri


On 30/10/12 08:47, Luca Cinquepalmi wrote:
> Here I post a simple rtems C++ code (template.cc) which works if
> compiled as a C source file but not as a C++ file.
> I'm using sparc-rtems4.11-g++ compiler. Are there particular compilation
> flags I have to use? Is C++ template different from C one? Thanks a lot
>
>      Luca
> -------------------------------------------------------------------------------------------------------------------------
> #define CONFIGURE_INIT
> #include "system.h"
> #include <cstdlib>
>
>
> extern "C" {
>   rtems_task Init(
>     rtems_task_argument arg
>   );
> };
>
> /* Declare rtems tasks */
> rtems_task Init (rtems_task_argument argument); /* Declare entry point */
>
> #include "define.h"
> #include "leon.h"
> #include "utils.h"
> #include "printSerial.h"
>
> rtems_task Init (rtems_task_argument argument)
> {
>     printf("MY NAME IS LUCA!\n\r");
>     rtems_task_delete(RTEMS_SELF);
> }
> -------------------------------------------------------------------------------------------------------------------------
> My Makefile flags:
>
> CXX = sparc-rtems4.11-g++
> BSP_PATH = /opt/$(INSTALL_POINT)/sparc-$(CCOMP)/leon2/lib
> SPECS_PATH = $(BSP_PATH)/bsp_specs
>
> LD_LIBS += -lgcc -lm -msoft-float -lrtems++ -lstdc++
> LD_PATH += -I../../include/leon -I../include -B$(BSP_PATH) -specs 
> $(SPECS_PATH)
> LDFLAGS += -mcpu=v8 -qrtems
> CXXFLAGS += -msoft-float -mcpu=v8 $(LD_PATH) -Wno-write-strings
>
>
> _______________________________________________
> rtems-users mailing list
> rtems-users at rtems.org
> http://www.rtems.org/mailman/listinfo/rtems-users

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/users/attachments/20121030/5c069be4/attachment-0001.html>


More information about the users mailing list