(toppers-users 4076) Re: asp_stbee_gccのmake dependとCodeSourceryの疑問
Shinya Honda
honda @ ertl.jp
2013年 4月 14日 (日) 11:01:55 JST
こいさん
本田です.
最新版の CodeSourcery を使われているとのことですが,バージョンは幾つで
しょうか.
先ほど最新版と思われる以下のバーションの"ARM EABI"をダウンロードしてビル
ドしたところ,特に変更なくビルドは通りました.
gcc version 4.7.2 (Sourcery CodeBench Lite 2012.09-63)
ツールプリフィックスは,arm-non-eabi でした.
以上,よろしくお願いします.
(2013/04/14 1:09), koizumi yoshiyuki wrote:
> こいさんです
>
> 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は使ってはいけないのでしょうか。
>
> ツール周りなのでここに問い合わせるは違っているような気もしますが、ご存知の方が居られましたら宜しくお願いします。
>
> 以上
>