(toppers-users 4220) Re: [質問]SafeG 1.0 sample/fmp/sample1/trustのビルド失敗について

Shinya Honda honda @ ertl.jp
2014年 3月 18日 (火) 12:43:58 JST


みつださん

本田です.

(2014/03/18 11:57), MITSUDA, Ken-ichiro wrote:
> 今回使用したコンフィギュレータは以下のとおりです。
> 
> 64bit:(結果、make dependでNG)
> 2.TOPPERSのwebからソースを入手してビルドしたもの
> (コンフィギュレータ Release 1.9.3)
> 尚、ビルドに必要なboostは以下のコマンドで導入しました。
>  sudo apt-get install libboost-all-dev
> 
> 32bit:(結果、成功)
> 1.TOPPERSのwebからダウンロードしたバイナリ(cfg-linux-static-1_9_3.gz)
情報ありがとうございます.お手数をおけしてすみません.

Webにありますように,cfgに関しては64bit対応について問題があります.まと
めると次の通りです.

32bit Linux
  ・ソースのからのビルド,
  ・TOPPERSから公開しているプリビルドバイナリ(cfg-linux-static-1_9_3.gz)
 共に問題なし.

64bit Linux
  ・64bitのboostライブラリに問題あり.そのため,
    ・ソースからのビルド
    ・32bit Linux でビルドしたバイナリ(ダイナミックリンク)
  は動作しません.
  ・TOPPERSから公開しているプリビルドバイナリ(cfg-linux-static-1_9_3.gz)
  はboostライブラリ等をスタティックリンクしているため動作します.

cfgの公開ページの説明が正しくないため,以下のように変更することにします.

-----------------------------------
また、64bitのLinux用のboostライブラリに現状問題があるため,64bitのLinux
でビルドしたcfgは正しく動作しません.64bitのLinuxでcfgを使用する場合は,
下記の32bit Linux用バイナリを使用するか,32bitのLinuxでソースからビルド
してスタティックリンクしたバイナリを使用下さい.
-----------------------------------

以上,よろしくお願いします.

> 
> 以上です.
> よろしくお願いします.
> 
> 
> (2014年03月17日 21:30), Shinya Honda wrote:
>> みつださん
>>
>> 本田です.
>>
>> お手数をおかけしてすみません.
>>
>> 32bit環境で動作したとのことですが,64bit/32bit環境のそれぞれで使われた
>> cfgは,
>>
>>   1.TOPPERSのwebからダウンロードしたバイナリ(cfg-linux-static-1_9_3.gz)
>>   2.TOPPERSのwebからソースを入手してビルドしたもの
>>
>> のどちらを使われたのでしょうか.
>>
>> 以上,よろしくお願いします.
>>
>> (2014/03/17 21:25), MITSUDA, Ken-ichiro wrote:
>>> TO:TO:SafeG/fmp(zynq) 識者の皆様
>>>
>>> みつだ@ISPと申します。
>>>
>>> 本日お尋ねした、SafeG 1.0で fmpのsample1がビルドできない件ですが、
>>> ビルド環境を 32bitに変更することで解決いたしました。
>>>
>>> TOPPERS新世代カーネル用コンフィギュレータの下記制約事項
>>> 「64bitのLinuxでは、コンフィギュレータが正常に動作しないことが分かってい
>>> ます。」
>>> を見逃しておりました。
>>>
>>> お騒がせして申し訳ありません。
>>>
>>> (2014/03/17 15:34), MITSUDA, Ken-ichiro wrote:
>>>> TO:SafeG/fmp(zynq) 識者の皆様
>>>>
>>>> みつだ@ISPと申します。
>>>>
>>>> SafeG 1.0を用いて、Xilinx Zynq(ZedBoard)をターゲットに
>>>> 以下の構成を試してみようとしています。
>>>>
>>>> Trust : fmp (sample1)、Non-Trust : linux
>>>>
>>>> 今、fmp:(fmp_zynq_gcc-20131203.tar.gz + コンフィギュレータ Release 1.9.3)
>>>> で sample1のビルドを試しているのですが、ビルド手順の
>>>>
>>>> $cd <SAFEG_PACKAGE>/sample/fmp/sample1/trust/
>>>> $make depend
>>>>
>>>> で以下のようなエラーになってしまい、ビルドができません
>>>>
>>>> make: *** [kernel_cfg.timestamp] Segmentation fault (コアダンプしました)
>>>>
>>>> 尚、ビルド環境は以下のとおりです。
>>>> ・Xilinx製ツール
>>>> ・Xilinx_SDK_2013.2_0616_1
>>>>
>>>> ・ホスト PC :
>>>> ubuntu 12.04 LTS (64bit)
>>>>
>>>> 本現象の解決手段について、コメントいただければ幸です.
>>>> オープンな質問で申し訳有りませんが、よろしくお願いいたします.
>>>>
>>>>
>>>> <<以下、buildのメッセージ全体>>
>>>> $make depend
>>>> if ! [ -f Makefile.depend ]; then \
>>>> rm -f kernel_cfg.timestamp kernel_cfg.c kernel_cfg.h ; \
>>>> rm -f cfg1_out.c cfg1_out.o cfg1_out.elf cfg1_out.syms cfg1_out.srec; \
>>>> rm -f makeoffset.s offset.h; \
>>>> fi
>>>> rm -f Makefile.depend
>>>> ../../../../../fmp/cfg/cfg/cfg --pass 1 --kernel fmp -I.
>>>> -I../../../../../fmp/include -I../../../../../fmp/arch
>>>> -I../../../../../fmp -I../../../../../fmp/target/zynq_gcc
>>>> -I../../../../../fmp/arch/arm_gcc/mpcore
>>>> -I../../../../../fmp/arch/arm_gcc/common -I../../../../monitor/libsafeg/
>>>> -I../ --api-table ../../../../../fmp/kernel/kernel_api.csv
>>>> --cfg1-def-table ../../../../../fmp/kernel/kernel_def.csv
>>>> --cfg1-def-table ../../../../../fmp/arch/arm_gcc/mpcore/chip_def.csv
>>>> --cfg1-def-table ../../../../../fmp/arch/arm_gcc/common/core_def.csv
>>>> ../sample1.cfg
>>>> arm-none-eabi-gcc -c -mlittle-endian -mcpu=cortex-a9 -g -Wall -O2
>>>> -DTOPPERS_SAFEG_SECURE -DG_SYSLOG -DTARGET_CORE0_NS_START_ADDR=0x8000
>>>> -DENABLE_NMFI -DUSE_GIC_CPULOCK -DBASE_ADDR=0x1c100000 -DCA9_PRIVATE_WDT
>>>> -D__TARGET_ARCH_ARM=7 -DG_SYSLOG -I. -I../../../../../fmp/include
>>>> -I../../../../../fmp/arch -I../../../../../fmp
>>>> -I../../../../../fmp/target/zynq_gcc
>>>> -I../../../../../fmp/arch/arm_gcc/mpcore
>>>> -I../../../../../fmp/arch/arm_gcc/common -I../../../../monitor/libsafeg/
>>>> -I../ -DALLFUNC -I../../../../../fmp/kernel cfg1_out.c
>>>> arm-none-eabi-gcc -c -mlittle-endian -mcpu=cortex-a9 -g -Wall -O2
>>>> -DTOPPERS_SAFEG_SECURE -DG_SYSLOG -DTARGET_CORE0_NS_START_ADDR=0x8000
>>>> -DENABLE_NMFI -DUSE_GIC_CPULOCK -DBASE_ADDR=0x1c100000 -DCA9_PRIVATE_WDT
>>>> -D__TARGET_ARCH_ARM=7 -DG_SYSLOG -I. -I../../../../../fmp/include
>>>> -I../../../../../fmp/arch -I../../../../../fmp
>>>> -I../../../../../fmp/target/zynq_gcc
>>>> -I../../../../../fmp/arch/arm_gcc/mpcore
>>>> -I../../../../../fmp/arch/arm_gcc/common -I../../../../monitor/libsafeg/
>>>> -I../ -DALLFUNC -I../../../../../fmp/kernel
>>>> ../../../../../fmp/arch/arm_gcc/mpcore/start.S
>>>> arm-none-eabi-gcc -mlittle-endian -mcpu=cortex-a9 -g -Wall -O2
>>>> -DTOPPERS_SAFEG_SECURE -DG_SYSLOG -DTARGET_CORE0_NS_START_ADDR=0x8000
>>>> -DENABLE_NMFI -DUSE_GIC_CPULOCK -DBASE_ADDR=0x1c100000 -DCA9_PRIVATE_WDT
>>>> -D__TARGET_ARCH_ARM=7 -DG_SYSLOG -I. -I../../../../../fmp/include
>>>> -I../../../../../fmp/arch -I../../../../../fmp
>>>> -I../../../../../fmp/target/zynq_gcc
>>>> -I../../../../../fmp/arch/arm_gcc/mpcore
>>>> -I../../../../../fmp/arch/arm_gcc/common -I../../../../monitor/libsafeg/
>>>> -I../ -nostdlib -mlittle-endian -N -mcpu=cortex-a9 -Wl,-Ttext,0x1c100000
>>>> -T ../../../../../fmp/target/zynq_gcc/zynq.ld -o cfg1_out.elf \
>>>> cfg1_out.o
>>>> arm-none-eabi-nm -C cfg1_out.elf > cfg1_out.syms
>>>> arm-none-eabi-objcopy -O srec -S cfg1_out.elf cfg1_out.srec
>>>> ../../../../../fmp/cfg/cfg/cfg --pass 2 --kernel fmp -I.
>>>> -I../../../../../fmp/include -I../../../../../fmp/arch
>>>> -I../../../../../fmp -I../../../../../fmp/target/zynq_gcc
>>>> -I../../../../../fmp/arch/arm_gcc/mpcore
>>>> -I../../../../../fmp/arch/arm_gcc/common -I../../../../monitor/libsafeg/
>>>> -I../ \
>>>> -T ../../../../../fmp/target/zynq_gcc/target.tf --api-table
>>>> ../../../../../fmp/kernel/kernel_api.csv --cfg1-def-table
>>>> ../../../../../fmp/kernel/kernel_def.csv --cfg1-def-table
>>>> ../../../../../fmp/arch/arm_gcc/mpcore/chip_def.csv --cfg1-def-table
>>>> ../../../../../fmp/arch/arm_gcc/common/core_def.csv ../sample1.cfg
>>>> make: *** [kernel_cfg.timestamp] Segmentation fault (コアダンプしました)
>>>>
>>>>
>>>>
>>
>