(toppers-users 4074) asp_stbee_gccのmake dependとCodeSourceryの疑問

koizumi yoshiyuki koizumiyoshiyuki @ gmail.com
2013年 4月 14日 (日) 01:09:06 JST


 こいさんです

 Buildの環境を新しくしたところ疑問が出ました。(CygwinとCodeSourceryを最新に入れ替えた)

1 make dependで以下のメッセージが出ます

Generating Makefile.depend.
Use of "do" to call subroutines is deprecated at ../utils/makedep line 65.
Use of "do" to call subroutines is deprecated at ../utils/makedep line 91.
Use of "do" to call subroutines is deprecated at ../utils/makedep line 157.
Use of "do" to call subroutines is deprecated at ../utils/makedep line 162.
Use of "do" to call subroutines is deprecated at ../utils/makedep line 166.
Use of "do" to call subroutines is deprecated at ../utils/makedep line 178.
Legacy library getopt.pl will be removed from the Perl core distribution in
the
next major release. Please install it from the CPAN distribution
Perl4::CoreLibs
. It is being used at ../utils/makedep, line 43.
Use of "do" to call subroutines is deprecated at ../utils/makedep line 65.
Use of "do" to call subroutines is deprecated at ../utils/makedep line 91.
Use of "do" to call subroutines is deprecated at ../utils/makedep line 157.

utils\makedepの3箇所修正で回避できていますが良いのでしょうか。
a.
#require "getopt.pl"; 元のソース
use Getopt::Std; 修正分

b.
#Getopt("COTDR");
getopt("COTDR");
c. doの後を{}で括る
#@uname = do uname();
@uname = do { uname(); };
 doは他にも5箇所ほどあり。

メーリングリストに下記の情報があり、一度は議論された問題のように見えますが、関連があるのでしょうか。
(toppers-users 3568) Re: ASPのmakedepでuse POSIXしている理由は?


2.
CodeSourceryの新しいバージョンはツールプリフィックスがarm-none-eabiからarm-none-linux-gnueabiに変わっています

Makefile.targetのGCC_TARGETの修正でコンパイル通りますが、リンカでエラー(undefined reference to
`__aeabi_unwind_cpp_pr0')になります。

リンカのコマンドオプションに-nostartfiles を追加し、すでに2つ追加されている-nostdlibを削除することで回避できています。
GCCをCodeSourceryではなくGNU Tools ARM
Embeddedを使えば(こちらはarm-none-eabi)良いのですが、arm-none-linux-gnueabiは使ってはいけないのでしょうか。

 ツール周りなのでここに問い合わせるは違っているような気もしますが、ご存知の方が居られましたら宜しくお願いします。

 以上
-------------- next part --------------
HTMLの添付ファイルを保管しました...
URL: <http://www.toppers.jp/pipermail/users/attachments/20130414/f17fabde/attachment.html>