のねのBlog

パソコンの問題や、ソフトウェアの開発で起きた問題など書いていきます。よろしくお願いします^^。

libpvrANDROID_WSEGL.soのダンプ

libpvrANDROID_WSEGL.soのダンプ

$ arm-linux-androideabi-readelf.exe -a libpvrANDROID_WSEGL.so
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:                              DYN (Shared object file)
  Machine:                           ARM
  Version:                           0x1
  Entry point address:               0x55c
  Start of program headers:          52 (bytes into file)
  Start of section headers:          9528 (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:         4
  Size of section headers:           40 (bytes)
  Number of section headers:         18
  Section header string table index: 17

Section Headers:
  [Nr] Name              Type            Addr     Off    Size   ES Flg Lk Inf Al
  [ 0]                   NULL            00000000 000000 000000 00      0   0  0
  [ 1] .hash             HASH            000000b4 0000b4 0000ac 04   A  2   0  4
  [ 2] .dynsym           DYNSYM          00000160 000160 000180 10   A  3   3  4
  [ 3] .dynstr           STRTAB          000002e0 0002e0 000142 00   A  0   0  1
  [ 4] .rel.dyn          REL             00000424 000424 000070 08   A  2   0  4
  [ 5] .rel.plt          REL             00000494 000494 000048 08   A  2   6  4
  [ 6] .plt              PROGBITS        000004dc 0004dc 000080 04  AX  0   0  4
  [ 7] .text             PROGBITS        0000055c 00055c 0017d4 00  AX  0   0  4
  [ 8] .rodata           PROGBITS        00001d30 001d30 0005a1 00   A  0   0  4
  [ 9] .data.rel.ro      PROGBITS        000032d4 0022d4 00003c 00  WA  0   0  4
  [10] .dynamic          DYNAMIC         00003310 002310 0000d8 08  WA  3   0  4
  [11] .got              PROGBITS        000033e8 0023e8 000030 04  WA  0   0  4
  [12] .data             PROGBITS        00003418 002418 000028 00  WA  0   0  4
  [13] .bss              NOBITS          00003440 002440 000014 00  WA  0   0  4
  [14] .comment          PROGBITS        00000000 002440 000012 00      0   0  1
  [15] .ARM.attributes   ARM_ATTRIBUTES  00000000 002452 000038 00      0   0  1
  [16] .gnu_debuglink    PROGBITS        00000000 00248a 00001c 00      0   0  1
  [17] .shstrtab         STRTAB          00000000 0024a6 00008f 00      0   0  1
Key to Flags:
  W (write), A (alloc), X (execute), M (merge), S (strings)
  I (info), L (link order), G (group), x (unknown)
  O (extra OS processing required) o (OS specific), p (processor specific)

There are no section groups in this file.

Program Headers:
  Type           Offset   VirtAddr   PhysAddr   FileSiz MemSiz  Flg Align
  LOAD           0x000000 0x00000000 0x00000000 0x022d1 0x022d1 R E 0x1000
  LOAD           0x0022d4 0x000032d4 0x000032d4 0x0016c 0x00180 RW  0x1000
  DYNAMIC        0x002310 0x00003310 0x00003310 0x000d8 0x000d8 RW  0x4
  GNU_STACK      0x000000 0x00000000 0x00000000 0x00000 0x00000 RW  0x4

 Section to Segment mapping:
  Segment Sections...
   00     .hash .dynsym .dynstr .rel.dyn .rel.plt .plt .text .rodata
   01     .data.rel.ro .dynamic .got .data .bss
   02     .dynamic
   03

Dynamic section at offset 0x2310 contains 23 entries:
  Tag        Type                         Name/Value
 0x00000001 (NEEDED)                     Shared library: [libc.so]
 0x00000001 (NEEDED)                     Shared library: [libdl.so]
 0x00000001 (NEEDED)                     Shared library: [libcutils.so]
 0x00000001 (NEEDED)                     Shared library: [libsrv_um.so]
 0x00000001 (NEEDED)                     Shared library: [libhardware.so]
 0x00000010 (SYMBOLIC)                   0x0
 0x0000000f (RPATH)                      Library rpath: [/system/lib]
 0x00000004 (HASH)                       0xb4
 0x00000005 (STRTAB)                     0x2e0
 0x00000006 (SYMTAB)                     0x160
 0x0000000a (STRSZ)                      322 (bytes)
 0x0000000b (SYMENT)                     16 (bytes)
 0x00000003 (PLTGOT)                     0x33e8
 0x00000002 (PLTRELSZ)                   72 (bytes)
 0x00000014 (PLTREL)                     REL
 0x00000017 (JMPREL)                     0x494
 0x00000011 (REL)                        0x424
 0x00000012 (RELSZ)                      112 (bytes)
 0x00000013 (RELENT)                     8 (bytes)
 0x00000018 (BIND_NOW)
 0x6ffffffb (FLAGS_1)                    Flags: NOW
 0x6ffffffa (RELCOUNT)                   14
 0x00000000 (NULL)                       0x0

Relocation section '.rel.dyn' at offset 0x424 contains 14 entries:
 Offset     Info    Type            Sym.Value  Sym. Name
000032d8  00000017 R_ARM_RELATIVE
000032dc  00000017 R_ARM_RELATIVE
000032e0  00000017 R_ARM_RELATIVE
000032e4  00000017 R_ARM_RELATIVE
000032e8  00000017 R_ARM_RELATIVE
000032ec  00000017 R_ARM_RELATIVE
000032f0  00000017 R_ARM_RELATIVE
000032f4  00000017 R_ARM_RELATIVE
000032f8  00000017 R_ARM_RELATIVE
000032fc  00000017 R_ARM_RELATIVE
00003300  00000017 R_ARM_RELATIVE
00003304  00000017 R_ARM_RELATIVE
00003308  00000017 R_ARM_RELATIVE
0000330c  00000017 R_ARM_RELATIVE

Relocation section '.rel.plt' at offset 0x494 contains 9 entries:
 Offset     Info    Type            Sym.Value  Sym. Name
000033f4  00000516 R_ARM_JUMP_SLOT   00000000   hw_get_module
000033f8  00000816 R_ARM_JUMP_SLOT   00000000   calloc
000033fc  00000b16 R_ARM_JUMP_SLOT   00000000   PVRSRVUnlockMutex
00003400  00000d16 R_ARM_JUMP_SLOT   00000000   memset
00003404  00000e16 R_ARM_JUMP_SLOT   00000000   PVRSRVCreateMutex
00003408  00001016 R_ARM_JUMP_SLOT   00000000   PVRSRVLockMutex
0000340c  00001316 R_ARM_JUMP_SLOT   00000000   PVRSRVDestroyMutex
00003410  00001516 R_ARM_JUMP_SLOT   00000000   PVRSRVDebugPrintf
00003414  00001716 R_ARM_JUMP_SLOT   00000000   free

There are no unwind sections in this file.

Symbol table '.dynsym' contains 24 entries:
   Num:    Value  Size Type    Bind   Vis      Ndx Name
     0: 00000000     0 NOTYPE  LOCAL  DEFAULT  UND
     1: 0000055c     0 SECTION LOCAL  DEFAULT    7
     2: 000032d4     0 SECTION LOCAL  DEFAULT    9
     3: 000022d1     0 NOTYPE  GLOBAL DEFAULT  ABS __exidx_end
     4: 00003454     0 NOTYPE  GLOBAL DEFAULT  ABS _bss_end__
     5: 00000000     0 FUNC    GLOBAL DEFAULT  UND hw_get_module
     6: 00003440     0 NOTYPE  GLOBAL DEFAULT  ABS __bss_start__
     7: 000022d1     0 NOTYPE  GLOBAL DEFAULT  ABS __exidx_start
     8: 00000000     0 FUNC    GLOBAL DEFAULT  UND calloc
     9: 00003454     0 NOTYPE  GLOBAL DEFAULT  ABS __bss_end__
    10: 00000608    16 FUNC    GLOBAL DEFAULT    7 WSEGL_GetFunctionTablePoi
    11: 00000000     0 FUNC    GLOBAL DEFAULT  UND PVRSRVUnlockMutex
    12: 00003440     0 NOTYPE  GLOBAL DEFAULT  ABS __bss_start
    13: 00000000     0 FUNC    GLOBAL DEFAULT  UND memset
    14: 00000000     0 FUNC    GLOBAL DEFAULT  UND PVRSRVCreateMutex
    15: 00003454     0 NOTYPE  GLOBAL DEFAULT  ABS __end__
    16: 00000000     0 FUNC    GLOBAL DEFAULT  UND PVRSRVLockMutex
    17: 00003440     0 NOTYPE  GLOBAL DEFAULT  ABS _edata
    18: 00003454     0 NOTYPE  GLOBAL DEFAULT  ABS _end
    19: 00000000     0 FUNC    GLOBAL DEFAULT  UND PVRSRVDestroyMutex
    20: 00080000     0 NOTYPE  GLOBAL DEFAULT   24 _stack
    21: 00000000     0 FUNC    GLOBAL DEFAULT  UND PVRSRVDebugPrintf
    22: 00003418     0 NOTYPE  GLOBAL DEFAULT   12 __data_start
    23: 00000000     0 FUNC    GLOBAL DEFAULT  UND free

Histogram for bucket list length (total of 17 buckets):
 Length  Number     % of total  Coverage
      0  3          ( 17.6%)
      1  9          ( 52.9%)     42.9%
      2  3          ( 17.6%)     71.4%
      3  2          ( 11.8%)    100.0%

No version information found in this file.
Attribute Section: aeabi
File Attributes
  Tag_CPU_name: "ARM v7"
  Tag_CPU_arch: v7
  Tag_CPU_arch_profile: Application
  Tag_ARM_ISA_use: Yes
  Tag_THUMB_ISA_use: Thumb-2
  Tag_VFP_arch: VFPv3
  Tag_NEON_arch: NEONv1
  Tag_ABI_PCS_wchar_t: 4
  Tag_ABI_FP_denormal: Needed
  Tag_ABI_FP_exceptions: Needed
  Tag_ABI_FP_number_model: IEEE 754
  Tag_ABI_align8_needed: Yes
  Tag_ABI_align8_preserved: Yes, except leaf SP
  Tag_ABI_enum_size: int
  Tag_ABI_HardFP_use: SP and DP
  Tag_ABI_optimization_goals: Aggressive Speed
  Tag_DIV_use: Not allowed