(toppers-users 4177) Re: kernel_cfg.timestampでのSegmentation Fault

Shinya Honda honda @ ertl.jp
2013年 12月 3日 (火) 11:35:25 JST


みつさん

本田です.

cfg1_out::~cfg1_out() のコメントアウトを試してみましたが駄目でし 
た.1.7,1.8,1.9共にエラーになります.

どうやらATDE上でビルドしたcfgは軒並みエラーとなるようです.

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

(2013/12/03 10:53), mitsu.takada @ nifty.ne.jp wrote:
> 鈴木さん
>
> こんにちは,みつといいます。
> メッセージをみるとcfgがpass2の実行時に落ちているのだと思います。
> ATDEは使ったことがないのですが,ホスト環境はDebianなのですね。
>
> cfgはDebianの中で作成されていると思うのですが,
> toppers/itronx/cfg1_out.c にある cfg1_out::~cfg1_out() の「delete pimpl_」をコメントアウトしてcfgを再ビルドされるとどうでしょうか。
>
> 2013/12/03 2:39、Juggler Shu <shu @ jugglershu.net> のメール:
>
>> 返信ありがとうございます。
>>
>> 利用しているsafegのバージョンは以下のものです。
>> - safeg-0.5-armadillo-800-eva-6mar2013
>>
>> ログを見る限り、以下のバージョンのソースコードをfetch_sources.shは取って きているようです。
>> - linux-2.6.35-a800eva-at3.tar.gz
>> - asp_armadillo-800-eva_gcc-20130221.tar.gz
>> - cfg-1.8.0.tar.gz
>>
>> なお、コンパイラはATDE4に追加で
>> gcc-arm-none-eabi-4_7-2013q3
>> をダウンロードし、コンパイルしてインストールしました。
>>
>> 以下に、build_all.shスクリプトでエラーが起きた箇所のビルドログを貼り付け ます。
>> 何か環境等、確認すべきものがあればお教え下さい。
>> よろしくお願い致します。
>>
>> ----BEGIN----
>> LIBBOOST_SUFFIX=
>> BOOST_VERSION=1_55
>> BOOST_DIR=/usr/local/include
>> LIBBOOST_DIR=/usr/local/lib
>> OPTIONS=
>> make BOOST_DIR="/usr/local/include" LIBBOOST_SUFFIX="" CXXFLAGS="-O2 " -C toppers
>> make[1]: ディレクトリ `/home/atmark/Downloads/safeg/safeg-0.5-armadillo-800-eva-6mar2013/asp/cfg/toppers' に入ります
>> make[1]: `all' に対して行うべき事はありません.
>> make[1]: ディレクトリ `/home/atmark/Downloads/safeg/safeg-0.5-armadillo-800-eva-6mar2013/asp/cfg/toppers' から出ます
>> make BOOST_DIR="/usr/local/include" LIBBOOST_SUFFIX="" CXXFLAGS="-O2 " -C toppers/itronx
>> make[1]: ディレクトリ `/home/atmark/Downloads/safeg/safeg-0.5-armadillo-800-eva-6mar2013/asp/cfg/toppers/itronx' に入ります
>> make[1]: `all' に対して行うべき事はありません.
>> make[1]: ディレクトリ `/home/atmark/Downloads/safeg/safeg-0.5-armadillo-800-eva-6mar2013/asp/cfg/toppers/itronx' から出ます
>> make BOOST_DIR="/usr/local/include" LIBBOOST_SUFFIX="" CXXFLAGS="-O2 " -C cfg
>> make[1]: ディレクトリ `/home/atmark/Downloads/safeg/safeg-0.5-armadillo-800-eva-6mar2013/asp/cfg/cfg' に入ります
>> make[1]: `all' に対して行うべき事はありません.
>> make[1]: ディレクトリ `/home/atmark/Downloads/safeg/safeg-0.5-armadillo-800-eva-6mar2013/asp/cfg/cfg' から出ます
>> 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
>> ../../asp/cfg/cfg/cfg --pass 1 --kernel asp -I. -I../../asp/include -I../../asp/arch -I../../asp -I../../asp/target/armadillo-800-eva_gcc -I../../asp/arch/arm_gcc/safeg -I../../asp/arch/arm_gcc/rma1 -I../../asp/arch/arm_gcc/common -I../../asp/arch/gcc --api-table ../../asp/kernel/kernel_api.csv --cfg1-def-table ../../asp/kernel/kernel_def.csv  --cfg1-def-table ../../asp/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 -DTOPPERS_SAFEG_COM -DTOPPERS_SAFEG_LOAD -D__TARGET_ARCH_ARM=7 -I. -I../../asp/include -I../../asp/arch -I../../asp -I../../asp/target/armadillo-800-eva_gcc -I../../asp/arch/arm_gcc/safeg -I../../asp/arch/arm_gcc/rma1 -I../../asp/arch/arm_gcc/common -I../../asp/arch/gcc   -DALLFUNC -I../../asp/kernel cfg1_out.c
>> arm-none-eabi-gcc  -mlittle-endian -mcpu=cortex-a9 -g -Wall -O2 -DTOPPERS_SAFEG_SECURE -DTOPPERS_SAFEG_COM -DTOPPERS_SAFEG_LOAD -D__TARGET_ARCH_ARM=7 -I. -I../../asp/include -I../../asp/arch -I../../asp  -I../../asp/target/armadillo-800-eva_gcc -I../../asp/arch/arm_gcc/safeg -I../../asp/arch/arm_gcc/rma1 -I../../asp/arch/arm_gcc/common -I../../asp/arch/gcc  -nostdlib -mlittle-endian -N -mcpu=cortex-a9 -Wl,-Ttext,0x5f000000 -T ../../asp/target/armadillo-800-eva_gcc/armadillo-800-eva.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
>> ../../asp/cfg/cfg/cfg --pass 2 --kernel asp -I. -I../../asp/include -I../../asp/arch -I../../asp -I../../asp/target/armadillo-800-eva_gcc -I../../asp/arch/arm_gcc/safeg -I../../asp/arch/arm_gcc/rma1 -I../../asp/arch/arm_gcc/common -I../../asp/arch/gcc \
>>                 -T ../../asp/target/armadillo-800-eva_gcc/target.tf --api-table ../../asp/kernel/kernel_api.csv --cfg1-def-table ../../asp/kernel/kernel_def.csv  --cfg1-def-table ../../asp/arch/arm_gcc/common/core_def.csv  sample1.cfg
>> make: *** [kernel_cfg.timestamp] セグメンテーション違反です
>> arm-none-eabi-gcc  -mlittle-endian -mcpu=cortex-a9 -g -Wall -O2 -DTOPPERS_SAFEG_SECURE -DTOPPERS_SAFEG_COM -DTOPPERS_SAFEG_LOAD -D__TARGET_ARCH_ARM=7 -I. -I../../asp/include -I../../asp/arch -I../../asp  -I../../asp/target/armadillo-800-eva_gcc -I../../asp/arch/arm_gcc/safeg -I../../asp/arch/arm_gcc/rma1 -I../../asp/arch/arm_gcc/common -I../../asp/arch/gcc  -nostdlib -mlittle-endian -N -mcpu=cortex-a9 -Wl,-Ttext,0x5f000000 -T ../../asp/target/armadillo-800-eva_gcc/armadillo-800-eva.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
>> ../../asp/cfg/cfg/cfg --pass 2 --kernel asp -I. -I../../asp/include -I../../asp/arch -I../../asp -I../../asp/target/armadillo-800-eva_gcc -I../../asp/arch/arm_gcc/safeg -I../../asp/arch/arm_gcc/rma1 -I../../asp/arch/arm_gcc/common -I../../asp/arch/gcc \
>>                 -T ../../asp/target/armadillo-800-eva_gcc/target.tf --api-table ../../asp/kernel/kernel_api.csv --cfg1-def-table ../../asp/kernel/kernel_def.csv  --cfg1-def-table ../../asp/arch/arm_gcc/common/core_def.csv  sample1.cfg
>> make: *** [kernel_cfg.timestamp] セグメンテーション違反です
>>>> building SafeG
>> arm-none-eabi-gcc -c -DSAFEG_RMA1 -DPROF_SUPPORT -DDUALOS_DEVICE_SHARING -mcpu=cortex-a9 -msoft-float -g -Wall -Wextra -Werror -I . -DSECURE_START_ADDRESS=0x5f000000 -DNORMAL_START_ADDRESS=0xe80c0000 -D__TARGET_ARCH_ARM=7 -O2 safeg.S
>> arm-none-eabi-gcc -c -DSAFEG_RMA1 -DPROF_SUPPORT -DDUALOS_DEVICE_SHARING -mcpu=cortex-a9 -msoft-float -g -Wall -Wextra -Werror -I . -DSECURE_START_ADDRESS=0x5f000000 -DNORMAL_START_ADDRESS=0xe80c0000 -D__TARGET_ARCH_ARM=7 -O2 crt0-safeg.S
>> arm-none-eabi-gcc -mcpu=cortex-a9 -msoft-float -static -nostdlib -lgcc -Wl,-Ttext,0x5f800000 -T safeg.lds safeg_start.o safeg.o crt0-safeg.o -o safeg.elf
>> arm-none-eabi-objcopy -O binary -S safeg.elf safeg.bin
>>>> copying binary files
>> mkdir: ディレクトリ `./tools/auto_build/output' を作成できません: ファイ ルが存在します
>> cp: `./app/sample1_s/asp.elf' を stat できません: そのようなファイルや ディレクト
>> ----END----
>>
>>
>>
>> On 12/2/13 2:32 PM, Shinya Honda wrote:
>>> 鈴木さん
>>>
>>> 本田です.
>>>
>>> こちらでは,ATDE4でビルド出来ています.
>>>
>>> 下記の情報だけでは判断できないので,ビルドログや使われたソースのバー ジョ ンを提示頂けないでしょうか.
>>>
>>> 以上,よろしくお願いします.
>>>
>>> (2013/12/01 18:22), Juggler Shu wrote:
>>>> はじめまして。現在TrustZone関連の技術について調べておりまして、
>>>> safegをArmadillo-800evaで動作させたいと考えているものです。
>>>> プリビルド版に関しては問題なく動作しているようなのですが、コードの変更な
>>>> どを入れたいと考え
>>>> ソースコードからビルドしようとしました。
>>>>
>>>> そうしたところ、ASPのsample1をビルドしようとしたところで以下のエラーと
>>>> なってしまいました。
>>>>
>>>> make: *** [kernel_cfg.timestamp] セグメンテーション違反です
>>>>
>>>> 1つずつ手動でビルドした場合でも、build_all.shスクリプトを用いた場合でも
>>>> 同様のようでした。
>>>> バイナリは出来上がっているようなのですが。
>>>>
>>>> ビルド環境はArmadilloで提供されているATDE4を用いています。
>>>>
>>>> このエラーを修正する方法がありましたら、お教えいただきたいです。
>>>> よろしくお願い致します。
>>>>
>>>> 鈴木秀一郎
>>>>
>>>
>>>
>>>
>>
>
>