sparc-rtems4.11-gcc for C++
Luca Cinquepalmi
cinquepalmi at planetek.it
Tue Oct 30 11:01:21 UTC 2012
Jiri only one question:
where $(ARCH) is set? which file? thanks
Luca
On 10/30/2012 10:43 AM, Jiri Freyvald wrote:
> 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/36790cdb/attachment-0001.html>
More information about the users
mailing list