[Crash-utility] Re: crash-4.0.9 cannot load extensions on i686

Alex Sidorenko asid at hp.com
Mon Oct 5 17:10:37 UTC 2009


On October 5, 2009 01:04:43 pm Dave Anderson wrote:
> Thanks -- I'll take a look.  It appears that the extension module
> is passing this test in is_shared_object():
>
>   if (elf64->e_ident[EI_CLASS] == ELFCLASS64 ...
>
> What does "readelf -a" show for the echo.so file?  (I don't have
> a handy x86 machine readily available at the moment...)

Hi Dave,

I have attached both the output of "readelf -a" and 32-bit echo.so file.

Cheers,
Alex

-- 
------------------------------------------------------------------
Alexandre Sidorenko             email: asid at hp.com
WTEC Linux			Hewlett-Packard (Canada)
------------------------------------------------------------------
-------------- next part --------------
A non-text attachment was scrubbed...
Name: echo.so
Type: application/x-hpvirtualrooms-plugin
Size: 4037 bytes
Desc: not available
URL: <http://listman.redhat.com/archives/crash-utility/attachments/20091005/12c0a329/attachment.bin>
-------------- next part --------------
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:                           Intel 80386
  Version:                           0x1
  Entry point address:               0x4dc
  Start of program headers:          52 (bytes into file)
  Start of section headers:          2252 (bytes into file)
  Flags:                             0x0
  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:         21
  Section header string table index: 18

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 00009c 04   A  3   0  4
  [ 2] .gnu.hash         GNU_HASH        00000150 000150 000044 04   A  3   0  4
  [ 3] .dynsym           DYNSYM          00000194 000194 000140 10   A  4   1  4
  [ 4] .dynstr           STRTAB          000002d4 0002d4 0000ae 00   A  0   0  1
  [ 5] .gnu.version      VERSYM          00000382 000382 000028 02   A  3   0  2
  [ 6] .gnu.version_r    VERNEED         000003ac 0003ac 000020 00   A  4   1  4
  [ 7] .rel.dyn          REL             000003cc 0003cc 000088 08   A  3   0  4
  [ 8] .rel.plt          REL             00000454 000454 000028 08   A  3   9  4
  [ 9] .plt              PROGBITS        0000047c 00047c 000060 04  AX  0   0  4
  [10] .text             PROGBITS        000004dc 0004dc 000126 00  AX  0   0  4
  [11] .rodata           PROGBITS        00000604 000604 0000ba 00   A  0   0  4
  [12] .dynamic          DYNAMIC         000016c0 0006c0 0000c8 08  WA  4   0  4
  [13] .got              PROGBITS        00001788 000788 000018 04  WA  0   0  4
  [14] .got.plt          PROGBITS        000017a0 0007a0 000020 04  WA  0   0  4
  [15] .data             PROGBITS        000017c0 0007c0 000044 00  WA  0   0 32
  [16] .bss              NOBITS          00001804 000804 000004 00  WA  0   0  4
  [17] .comment          PROGBITS        00000000 000804 00002a 00      0   0  1
  [18] .shstrtab         STRTAB          00000000 00082e 00009c 00      0   0  1
  [19] .symtab           SYMTAB          00000000 000c14 0002a0 10     20  23  4
  [20] .strtab           STRTAB          00000000 000eb4 000111 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 0x006be 0x006be R E 0x1000
  LOAD           0x0006c0 0x000016c0 0x000016c0 0x00144 0x00148 RW  0x1000
  DYNAMIC        0x0006c0 0x000016c0 0x000016c0 0x000c8 0x000c8 RW  0x4
  GNU_STACK      0x000000 0x00000000 0x00000000 0x00000 0x00000 RW  0x4

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

Dynamic section at offset 0x6c0 contains 21 entries:
  Tag        Type                         Name/Value
 0x00000001 (NEEDED)                     Shared library: [libc.so.6]
 0x0000000c (INIT)                       0x4dc
 0x0000000d (FINI)                       0x507
 0x00000004 (HASH)                       0xb4
 0x6ffffef5 (GNU_HASH)                   0x150
 0x00000005 (STRTAB)                     0x2d4
 0x00000006 (SYMTAB)                     0x194
 0x0000000a (STRSZ)                      174 (bytes)
 0x0000000b (SYMENT)                     16 (bytes)
 0x00000003 (PLTGOT)                     0x17a0
 0x00000002 (PLTRELSZ)                   40 (bytes)
 0x00000014 (PLTREL)                     REL
 0x00000017 (JMPREL)                     0x454
 0x00000011 (REL)                        0x3cc
 0x00000012 (RELSZ)                      136 (bytes)
 0x00000013 (RELENT)                     8 (bytes)
 0x6ffffffe (VERNEED)                    0x3ac
 0x6fffffff (VERNEEDNUM)                 1
 0x6ffffff0 (VERSYM)                     0x382
 0x6ffffffa (RELCOUNT)                   9
 0x00000000 (NULL)                       0x0

Relocation section '.rel.dyn' at offset 0x3cc contains 17 entries:
 Offset     Info    Type            Sym.Value  Sym. Name
000017c0  00000008 R_386_RELATIVE   
000017e0  00000008 R_386_RELATIVE   
000017e4  00000008 R_386_RELATIVE   
000017e8  00000008 R_386_RELATIVE   
000017ec  00000008 R_386_RELATIVE   
000017f0  00000008 R_386_RELATIVE   
000017f4  00000008 R_386_RELATIVE   
000017f8  00000008 R_386_RELATIVE   
000017fc  00000008 R_386_RELATIVE   
00001788  00000106 R_386_GLOB_DAT    00000000   pc
0000178c  00000206 R_386_GLOB_DAT    00000000   optind
00001790  00000306 R_386_GLOB_DAT    00000000   fp
00001794  00000606 R_386_GLOB_DAT    00000000   argerrs
00001798  00000a06 R_386_GLOB_DAT    00000000   args
0000179c  00000b06 R_386_GLOB_DAT    00000000   argcnt
000017c4  00001001 R_386_32          00000511   cmd_echo
000017c8  00001301 R_386_32          000017e0   help_echo

Relocation section '.rel.plt' at offset 0x454 contains 5 entries:
 Offset     Info    Type            Sym.Value  Sym. Name
000017ac  00000407 R_386_JUMP_SLOT   00000000   getopt
000017b0  00000507 R_386_JUMP_SLOT   00000000   fprintf
000017b4  00000707 R_386_JUMP_SLOT   00000000   fputc
000017b8  00000807 R_386_JUMP_SLOT   00000000   cmd_usage
000017bc  00000907 R_386_JUMP_SLOT   00000000   register_extension

There are no unwind sections in this file.

Symbol table '.dynsym' contains 20 entries:
   Num:    Value  Size Type    Bind   Vis      Ndx Name
     0: 00000000     0 NOTYPE  LOCAL  DEFAULT  UND 
     1: 00000000     0 NOTYPE  GLOBAL DEFAULT  UND pc
     2: 00000000     4 OBJECT  GLOBAL DEFAULT  UND optind at GLIBC_2.0 (2)
     3: 00000000     0 NOTYPE  GLOBAL DEFAULT  UND fp
     4: 00000000    73 FUNC    GLOBAL DEFAULT  UND getopt at GLIBC_2.0 (2)
     5: 00000000    36 FUNC    GLOBAL DEFAULT  UND fprintf at GLIBC_2.0 (2)
     6: 00000000     0 NOTYPE  GLOBAL DEFAULT  UND argerrs
     7: 00000000   246 FUNC    GLOBAL DEFAULT  UND fputc at GLIBC_2.0 (2)
     8: 00000000     0 NOTYPE  GLOBAL DEFAULT  UND cmd_usage
     9: 00000000     0 NOTYPE  GLOBAL DEFAULT  UND register_extension
    10: 00000000     0 NOTYPE  GLOBAL DEFAULT  UND args
    11: 00000000     0 NOTYPE  GLOBAL DEFAULT  UND argcnt
    12: 00001804     4 OBJECT  GLOBAL DEFAULT   16 diskdump_flags
    13: 00001808     0 NOTYPE  GLOBAL DEFAULT  ABS _end
    14: 00001804     0 NOTYPE  GLOBAL DEFAULT  ABS _edata
    15: 00001804     0 NOTYPE  GLOBAL DEFAULT  ABS __bss_start
    16: 00000511   237 FUNC    GLOBAL DEFAULT   10 cmd_echo
    17: 000004dc    43 FUNC    GLOBAL DEFAULT   10 _init
    18: 00000507    10 FUNC    GLOBAL DEFAULT   10 _fini
    19: 000017e0    36 OBJECT  GLOBAL DEFAULT   15 help_echo

Symbol table '.symtab' contains 42 entries:
   Num:    Value  Size Type    Bind   Vis      Ndx Name
     0: 00000000     0 NOTYPE  LOCAL  DEFAULT  UND 
     1: 000000b4     0 SECTION LOCAL  DEFAULT    1 
     2: 00000150     0 SECTION LOCAL  DEFAULT    2 
     3: 00000194     0 SECTION LOCAL  DEFAULT    3 
     4: 000002d4     0 SECTION LOCAL  DEFAULT    4 
     5: 00000382     0 SECTION LOCAL  DEFAULT    5 
     6: 000003ac     0 SECTION LOCAL  DEFAULT    6 
     7: 000003cc     0 SECTION LOCAL  DEFAULT    7 
     8: 00000454     0 SECTION LOCAL  DEFAULT    8 
     9: 0000047c     0 SECTION LOCAL  DEFAULT    9 
    10: 000004dc     0 SECTION LOCAL  DEFAULT   10 
    11: 00000604     0 SECTION LOCAL  DEFAULT   11 
    12: 000016c0     0 SECTION LOCAL  DEFAULT   12 
    13: 00001788     0 SECTION LOCAL  DEFAULT   13 
    14: 000017a0     0 SECTION LOCAL  DEFAULT   14 
    15: 000017c0     0 SECTION LOCAL  DEFAULT   15 
    16: 00001804     0 SECTION LOCAL  DEFAULT   16 
    17: 00000000     0 SECTION LOCAL  DEFAULT   17 
    18: 00000000     0 FILE    LOCAL  DEFAULT  ABS echo.c
    19: 000017c0    32 OBJECT  LOCAL  DEFAULT   15 command_table
    20: 000017a0     0 OBJECT  LOCAL  HIDDEN  ABS _GLOBAL_OFFSET_TABLE_
    21: 000005fe     0 FUNC    LOCAL  HIDDEN   10 __i686.get_pc_thunk.bx
    22: 000016c0     0 OBJECT  LOCAL  HIDDEN  ABS _DYNAMIC
    23: 00000507    10 FUNC    GLOBAL DEFAULT   10 _fini
    24: 00001804     4 OBJECT  GLOBAL DEFAULT   16 diskdump_flags
    25: 00000000     0 NOTYPE  GLOBAL DEFAULT  UND pc
    26: 00000000     4 OBJECT  GLOBAL DEFAULT  UND optind@@GLIBC_2.0
    27: 00000000     0 NOTYPE  GLOBAL DEFAULT  UND fp
    28: 00000000    73 FUNC    GLOBAL DEFAULT  UND getopt@@GLIBC_2.0
    29: 000017e0    36 OBJECT  GLOBAL DEFAULT   15 help_echo
    30: 00000000    36 FUNC    GLOBAL DEFAULT  UND fprintf@@GLIBC_2.0
    31: 00001804     0 NOTYPE  GLOBAL DEFAULT  ABS __bss_start
    32: 00000511   237 FUNC    GLOBAL DEFAULT   10 cmd_echo
    33: 00000000     0 NOTYPE  GLOBAL DEFAULT  UND argerrs
    34: 00000000   246 FUNC    GLOBAL DEFAULT  UND fputc@@GLIBC_2.0
    35: 00000000     0 NOTYPE  GLOBAL DEFAULT  UND cmd_usage
    36: 00001808     0 NOTYPE  GLOBAL DEFAULT  ABS _end
    37: 00000000     0 NOTYPE  GLOBAL DEFAULT  UND register_extension
    38: 00001804     0 NOTYPE  GLOBAL DEFAULT  ABS _edata
    39: 00000000     0 NOTYPE  GLOBAL DEFAULT  UND args
    40: 00000000     0 NOTYPE  GLOBAL DEFAULT  UND argcnt
    41: 000004dc    43 FUNC    GLOBAL DEFAULT   10 _init

Histogram for bucket list length (total of 17 buckets):
 Length  Number     % of total  Coverage
      0  4          ( 23.5%)
      1  8          ( 47.1%)     42.1%
      2  4          ( 23.5%)     84.2%
      3  1          (  5.9%)    100.0%

Histogram for `.gnu.hash' bucket list length (total of 3 buckets):
 Length  Number     % of total  Coverage
      0  0          (  0.0%)
      1  0          (  0.0%)      0.0%
      2  1          ( 33.3%)     25.0%
      3  2          ( 66.7%)    100.0%

Version symbols section '.gnu.version' contains 20 entries:
 Addr: 0000000000000382  Offset: 0x000382  Link: 3 (.dynsym)
  000:   0 (*local*)       0 (*local*)       2 (GLIBC_2.0)     0 (*local*)    
  004:   2 (GLIBC_2.0)     2 (GLIBC_2.0)     0 (*local*)       2 (GLIBC_2.0)  
  008:   0 (*local*)       0 (*local*)       0 (*local*)       0 (*local*)    
  00c:   1 (*global*)      1 (*global*)      1 (*global*)      1 (*global*)   
  010:   1 (*global*)      1 (*global*)      1 (*global*)      1 (*global*)   

Version needs section '.gnu.version_r' contains 1 entries:
 Addr: 0x00000000000003ac  Offset: 0x0003ac  Link to section: 4 (.dynstr)
  000000: Version: 1  File: libc.so.6  Cnt: 1
  0x0010:   Name: GLIBC_2.0  Flags: none  Version: 2


More information about the Crash-utility mailing list