[Armadillo:06666] Debian lenny EABI バージョンについて

email@hidden
2011年 1月 28日 (金) 11:06:16 JST


お世話になります、天城です。

Armadillo-500FX、Debian lennyでXは動くようになり、GUIアプリケーションの作成で
、
Lazarusからのオブジェクトファイル形式をOABIから、EABI Version5にして実行したと
ころ、

-bash: ./lazarus_500fx_demo: No such file or directory

との、エラーが発生しました。

最初はファイルが見付からないのかと思ったのですが、 sh ./lazarus_50fx_demoとす
ると、

./lazarus_500fx_demo: ./lazarus_500fx_demo: cannot execute binary file

との、エラーが出るので、シェルではアプリのファイルを認識してるようです。

で、少し気になったのが、こちらの作成したEABIはVersion5ですが、調べると
lennyの各ファイルのバージョンはEABI Version4のようです。
Version4にあわせる必要があるのでしょうか?

参考までに、当方のアプリは

email@hidden:~$ readelf -all lazarus_500fx_demo | head -30
ELF Header:
  Magic:   7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00 
  Class:                             ELF32
  Data:                              2's complement, little endian
  Version:                           1 (current)
  OS/ABI:                            UNIX - System V
  ABI Version:                       0
  Type:                              EXEC (Executable file)
  Machine:                           ARM
  Version:                           0x1
  Entry point address:               0x22db4
  Start of program headers:          52 (bytes into file)
  Start of section headers:          6289188 (bytes into file)
  Flags:                             0x5000002, has entry point, Version5 EABI
  Size of this header:               52 (bytes)
  Size of program headers:           32 (bytes)
  Number of program headers:         5
  Size of section headers:           40 (bytes)
  Number of section headers:         21
  Section header string table index: 20

Section Headers:
  [Nr] Name              Type            Addr     Off    Size   ES Flg Lk Inf 
Al
  [ 0]                   NULL            00000000 000000 000000 00      0   0 
 0
  [ 1] .interp           PROGBITS        000100d4 0000d4 000013 00   A  0   0 
 1
  [ 2] .hash             HASH            000100e8 0000e8 002330 04   A  3   0 
 4
  [ 3] .dynsym           DYNSYM          00012418 002418 004c30 10   A  4   1 
 4
  [ 4] .dynstr           STRTAB          00017048 007048 007077 00   A  0   0 
 1
  [ 5] .gnu.version      VERSYM          0001e0c0 00e0c0 000986 02   A  3   0 
 2
  [ 6] .gnu.version_r    VERNEED         0001ea48 00ea48 000060 00   A  4   3 
 4
email@hidden:~$ 


となっていますが、例えばawkの場合

email@hidden:~$ readelf -all /usr/bin/awk | head -30
ELF Header:
  Magic:   7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00 
  Class:                             ELF32
  Data:                              2's complement, little endian
  Version:                           1 (current)
  OS/ABI:                            UNIX - System V
  ABI Version:                       0
  Type:                              EXEC (Executable file)
  Machine:                           ARM
  Version:                           0x1
  Entry point address:               0x8f40
  Start of program headers:          52 (bytes into file)
  Start of section headers:          99352 (bytes into file)
  Flags:                             0x4000002, has entry point, Version4 EABI
  Size of this header:               52 (bytes)
  Size of program headers:           32 (bytes)
  Number of program headers:         8
  Size of section headers:           40 (bytes)
  Number of section headers:         27
  Section header string table index: 26

Section Headers:
  [Nr] Name              Type            Addr     Off    Size   ES Flg Lk Inf 
Al
  [ 0]                   NULL            00000000 000000 000000 00      0   0 
 0
  [ 1] .interp           PROGBITS        00008134 000134 000013 00   A  0   0 
 1
  [ 2] .note.ABI-tag     NOTE            00008148 000148 000020 00   A  0   0 
 4
  [ 3] .hash             HASH            00008168 000168 000224 04   A  4   0 
 4
  [ 4] .dynsym           DYNSYM          0000838c 00038c 000440 10   A  5   1 
 4
  [ 5] .dynstr           STRTAB          000087cc 0007cc 0001cf 00   A  0   0 
 1
  [ 6] .gnu.version      VERSYM          0000899c 00099c 000088 02   A  4   0 
 2
email@hidden:~$ 

と、EABI Version4となってます。




armadillo メーリングリストの案内