(toppers-etrobo 134) 【β7以降】GCC ARM:ETロボコン動作確認バージョンでuImageビルドエラー

Takayuki TOGOU ishidai @ mbr.nifty.com
2018年 7月 29日 (日) 11:47:31 JST


ETロボコン2018実行委員の都甲です。

今回はβ7-1でよく聞く「モータ暴走」について確認しようとuImageをビルドする中で発見したエラーを報告します。

環境は
OS: Windows7 + Cygwin最新版
GCC ARM: gcc-arm-none-eabi-4_8-2014q3-20140805-win32.exe
TOPPERS/EV3RT: β7-1

TOPPERS/EV3RT公式Tracの「サンプルアプリケーションのビルドと実行」で紹介されているとおり

cd $(HRP2)/base-workspace
make app=loader

と実行すると、以下のログ(前略)を表示してエラー停止します。

>   LINK    cfg2_out.exe
> ../../modules/mbed-on-toppers/build\libmbed.a(Thread.o): In function `rtos::Thread::start(mbed::Callback<void ()>)':
> Thread.cpp:(.text+0x1b0): undefined reference to `__cxa_throw_bad_array_new_length'
> ../../modules/mbed-on-toppers/build\libmbed.a(nsapi_dns.o): In function `nsapi_dns_query_multiple(NetworkStack*, char const*, SocketAddress*, unsigned int, nsapi_version)':
> nsapi_dns.cpp:(.text+0x634): undefined reference to `__cxa_throw_bad_array_new_length'
> collect2.exe: error: ld returned 1 exit status
> make[1]: *** [Makefile:374: kernel_mem3.c] エラー 1
> make: *** [Makefile:41: app] エラー 2

コンパイラを例えば gcc-arm-none-eabi-5_4-2016q3-20160926-win32.exe 
に差し替えるとこのエラーは出なくなります。

とりあえず報告まで。