(toppers-etrobo 58) base-workspace/loader: 新しいGNUARMでのビルドエラーの修正

Masanori Ogino masanoriogino @ gmail.com
2016年 5月 21日 (土) 11:54:59 JST


はじめまして。
荻野と申します。

EV3RT Beta 6-2において、新しいGNUARM(5.3 2016q1で確認)を使用した場合にbase-workspaceでmake
app=loaderを実施するとビルドエラーが発生します。
原因は新しいnewlibでfopencookie(3)および関連する型と関数の宣言がデフォルトで非公開となったことです。
これらの宣言は_GNU_SOURCEマクロを定義することで公開されます。

以下の変更を適用したコードをGNUARM 5.3 2016q1および4.8 2014q3でコンパイルできることを確認しました。

diff -ur hrp2.orig/base-workspace/loader/zmodem/src/zmodem-toppers.c
hrp2/base-workspace/loader/zmodem/src/zmodem-toppers.c
--- hrp2.orig/base-workspace/loader/zmodem/src/zmodem-toppers.c 2016-03-17
08:45:02.000000000 +0900
+++ hrp2/base-workspace/loader/zmodem/src/zmodem-toppers.c      2016-05-21
11:28:12.920304300 +0900
@@ -1,3 +1,4 @@
+#define _GNU_SOURCE /* for cookie_io_functions_t and related functions */
 #include <kernel.h>
 #include <itron.h>
 #include <t_syslog.h>

添付したパッチは以上の変更を含みます。
ご確認よろしくお願いします。
-- 
Masanori Ogino
-------------- next part --------------
HTML$B$NE:IU%U%!%$%k$rJ]4I$7$^$7$?(B...
URL: <http://www.toppers.jp/pipermail/etrobo/attachments/20160521/6ff830c3/attachment.html>
-------------- next part --------------
$B%F%-%9%H7A<00J30$NE:IU%U%!%$%k$rJ]4I$7$^$7$?(B...
$B%U%!%$%kL>(B: ev3rt-loader-gcc53.patch
$B7?(B:         application/octet-stream
$B%5%$%:(B:     473 $B%P%$%H(B
$B @ bL@(B:       $BL5$7(B
URL:        <http://www.toppers.jp/pipermail/etrobo/attachments/20160521/6ff830c3/attachment.obj>