I tried to build the in-progress port of EPICS for the uC5282 BSP last night
against a release build of RTEMS-5.1 with tools and BSP built using RSB. It
looks like the g++ cmath routines haven't been configured properly for this
target. It failed at the first C++ source file includes math.h (other BSPs such
as the beatnik and qoriq_e500 get further than this, and only the pc686 build
completely succeeds right now):
> /local/anj/RTEMS-5.1/rtems-5.1/bin/m68k-rtems5-g++
> -B/local/anj/RTEMS-5.1/rtems-5.1/m68k-rtems5/uC5282/lib/ -specs bsp_specs
> -qrtems -mcpu=5282 -D_GNU_SOURCE -D_DEFAULT_SOURCE
> -DUNIX -O2 -g -ffunction-sections -fdata-sections -Wall
> -DMY_DO_BOOTP=NULL -D__LINUX_ERRNO_EXTENSIONS__ -DHAVE_SOCKADDR_SA_LEN=1
> -I. -I../O.Common -I. -I../osi/compiler/gcc -I../osi/compiler/default -I.
> -I../osi/os/RTEMS-posix -I../osi/os/RTEMS -I../osi/os/posix
> -I../osi/os/default -I.. -I../as -I../bucketLib -I../calc -I../cvtFast
> -I../cppStd -I../cxxTemplates -I../dbmf -I../ellLib -I../env -I../error
> -I../fdmgr -I../flex -I../freeList -I../gpHash -I../iocsh -I../log
> -I../macLib -I../misc -I../osi -I../pool -I../ring -I../taskwd -I../timer
> -I../yacc -I../yacc -I../yajl -I../../../../include/compiler/gcc
> -I../../../../include/os/RTEMS -I../../../../include -c
> ../cxxTemplates/resourceLib.cpp
> In file included from
> /local/anj/RTEMS-5.1/rtems-5.1/lib/gcc/m68k-rtems5/7.5.0/include/c++/math.h:36:0,
> from ../cxxTemplates/resourceLib.h:38,
> from ../cxxTemplates/resourceLib.cpp:15:
> /local/anj/RTEMS-5.1/rtems-5.1/lib/gcc/m68k-rtems5/7.5.0/include/c++/cmath:1086:11:
> error: '::acoshl' has not been declared
> using ::acoshl;
> ^~~~~~
> /local/anj/RTEMS-5.1/rtems-5.1/lib/gcc/m68k-rtems5/7.5.0/include/c++/cmath:1090:11:
> error: '::asinhl' has not been declared
> using ::asinhl;
> ^~~~~~
> /local/anj/RTEMS-5.1/rtems-5.1/lib/gcc/m68k-rtems5/7.5.0/include/c++/cmath:1094:11:
> error: '::atanhl' has not been declared
> using ::atanhl;
> ^~~~~~
>
> ... many similar errors snipped ...
>
> /local/anj/RTEMS-5.1/rtems-5.1/lib/gcc/m68k-rtems5/7.5.0/include/c++/cmath:1220:11:
> error: '::tgammal' has not been declared
> using ::tgammal;
> ^~~~~~~
> /local/anj/RTEMS-5.1/rtems-5.1/lib/gcc/m68k-rtems5/7.5.0/include/c++/cmath:1224:11:
> error: '::truncl' has not been declared
> using ::truncl;
> ^~~~~~
There could very well have been errors building the BSP on my part as I had to
hand-create a uC5282.bset file for RSB to build it:
> tux% cat config/5/bsps/uC5282.bset
> %define mail_single_report 1
>
> %define with_rtems_bsp uC5282
> %define rtems_target m68k-rtems5
> %define rtems_host %{rtems_target}
>
> 5/rtems-m68k
> 5/rtems-kernel
> 5/rtems-libbsd
The libbsd line there might be wrong, but I wouldn’t expect that to affect the
availability of <cmath> functions to the C++ compiler.
Any suggestions?
Thanks,
- Andrew
--
Complexity comes for free, simplicity you have to work for.
_______________________________________________
users mailing list
[email protected]
http://lists.rtems.org/mailman/listinfo/users