[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Dwarfdump cannot read 64-bit object with thread-local data



 I'm using dwarfdump and GCC on Debian (amd64). Dwarfdump cannot read debug info from 64-bit object file containing thread-local data. Error is DW_DLE_RELOC_SECTION_RELOC_TARGET_SIZE_UNKNOWN. Detail are below. Any Ideas?

dwarfdump: 20120410-2
gcc-4.7: gcc-4.7



C-source (tls.c):

     __thread int a;

C-source (notls.c):

     int a;


##32-bit object with dwarf info with TLS:##

    # gcc -c tls.c -gdwarf-2 -m32 -o tls-32.o && dwarfdump tls-32.o
    
    .debug_info
    
    COMPILE_UNIT<header overall offset = 0x00000000>:
    < 0><0x0000000b>  DW_TAG_compile_unit
                        DW_AT_producer              "GNU C 4.7.1"
                        DW_AT_language              DW_LANG_C89
                        DW_AT_name                  "tls.c"
                        DW_AT_comp_dir              "/tmp"
                        DW_AT_stmt_list             0x00000000
    
    LOCAL_SYMBOLS:
    < 1><0x0000001d>    DW_TAG_variable
                          DW_AT_name                  "a"
                          DW_AT_decl_file             0x00000001 /tmp/tls.c
                          DW_AT_decl_line             0x00000001
                          DW_AT_type                  <0x0000002e>
                          DW_AT_external              yes(1)
                          DW_AT_location              DW_OP_const4u 0 DW_OP_GNU_push_tls_address
    < 1><0x0000002e>    DW_TAG_base_type
                          DW_AT_byte_size             0x00000004
                          DW_AT_encoding              DW_ATE_signed
                          DW_AT_name                  "int"
    
    .debug_line: line number info for a single cu
    Source lines (from CU-DIE at .debug_info offset 0x0000000b):
    
    <pc>        [row,col] NS BB ET PE EB IS= DI= uri: "filepath"
    NS new statement, BB new basic block, ET end of text sequence
    PE prologue end, EB epilogue begin
    IA=val ISA number, DI=val discriminator value
    
    .debug_pubnames
    
    .debug_macinfo
    
    .debug_string
    name at offset 0x00000000, length   11 is 'GNU C 4.7.1'
    name at offset 0x0000000c, length    4 is '/tmp'
    name at offset 0x00000011, length    5 is 'tls.c'
    
    .debug_aranges
    
    arange end
    .debug_frame
    
    .debug_static_func
    
    .debug_static_vars
    
    .debug_weaknames



##32-bit object with dwarf info without TLS:##

    # gcc -c notls.c -gdwarf-2 -m32 -o notls-32.o && dwarfdump notls-32.o
    
    .debug_info
    
    COMPILE_UNIT<header overall offset = 0x00000000>:
    < 0><0x0000000b>  DW_TAG_compile_unit
                        DW_AT_producer              "GNU C 4.7.1"
                        DW_AT_language              DW_LANG_C89
                        DW_AT_name                  "notls.c"
                        DW_AT_comp_dir              "/tmp"
                        DW_AT_stmt_list             0x00000000
    
    LOCAL_SYMBOLS:
    < 1><0x0000001d>    DW_TAG_variable
                          DW_AT_name                  "a"
                          DW_AT_decl_file             0x00000001 /tmp/notls.c
                          DW_AT_decl_line             0x00000001
                          DW_AT_type                  <0x0000002d>
                          DW_AT_external              yes(1)
                          DW_AT_location              DW_OP_addr 0x00000000
    < 1><0x0000002d>    DW_TAG_base_type
                          DW_AT_byte_size             0x00000004
                          DW_AT_encoding              DW_ATE_signed
                          DW_AT_name                  "int"
    
    .debug_line: line number info for a single cu
    Source lines (from CU-DIE at .debug_info offset 0x0000000b):
    
    <pc>        [row,col] NS BB ET PE EB IS= DI= uri: "filepath"
    NS new statement, BB new basic block, ET end of text sequence
    PE prologue end, EB epilogue begin
    IA=val ISA number, DI=val discriminator value
    
    .debug_pubnames
    
    .debug_macinfo
    
    .debug_string
    name at offset 0x00000000, length   11 is 'GNU C 4.7.1'
    name at offset 0x0000000c, length    4 is '/tmp'
    name at offset 0x00000011, length    7 is 'notls.c'
    
    .debug_aranges
    
    arange end
    .debug_frame
    
    .debug_static_func
    
    .debug_static_vars
    
    .debug_weaknames



##64-bit object with dwarf info without TLS:##

    # gcc -c notls.c -gdwarf-2 -m64 -o notls-64.o && dwarfdump notls-64.o
    
    .debug_info
    
    COMPILE_UNIT<header overall offset = 0x00000000>:
    < 0><0x0000000b>  DW_TAG_compile_unit
                        DW_AT_producer              "GNU C 4.7.1"
                        DW_AT_language              DW_LANG_C89
                        DW_AT_name                  "notls.c"
                        DW_AT_comp_dir              "/tmp"
                        DW_AT_stmt_list             0x00000000
    
    LOCAL_SYMBOLS:
    < 1><0x0000001d>    DW_TAG_variable
                          DW_AT_name                  "a"
                          DW_AT_decl_file             0x00000001 /tmp/notls.c
                          DW_AT_decl_line             0x00000001
                          DW_AT_type                  <0x00000031>
                          DW_AT_external              yes(1)
                          DW_AT_location              DW_OP_addr 0x00000004
    < 1><0x00000031>    DW_TAG_base_type
                          DW_AT_byte_size             0x00000004
                          DW_AT_encoding              DW_ATE_signed
                          DW_AT_name                  "int"
    
    .debug_line: line number info for a single cu
    Source lines (from CU-DIE at .debug_info offset 0x0000000b):
    
    <pc>        [row,col] NS BB ET PE EB IS= DI= uri: "filepath"
    NS new statement, BB new basic block, ET end of text sequence
    PE prologue end, EB epilogue begin
    IA=val ISA number, DI=val discriminator value
    
    .debug_pubnames
    
    .debug_macinfo
    
    .debug_string
    name at offset 0x00000000, length   11 is 'GNU C 4.7.1'
    name at offset 0x0000000c, length    4 is '/tmp'
    name at offset 0x00000011, length    7 is 'notls.c'
    
    .debug_aranges
    
    arange end
    .debug_frame
    
    .debug_static_func
    
    .debug_static_vars
    
    .debug_weaknames



##64-bit object with dwarf info with TLS:##

    # gcc -c tls.c -gdwarf-2 -m64 -o tls-64.o && dwarfdump tls-64.o
    
    .debug_info
    dwarfdump ERROR:  attempting to print .debug_info:  DW_DLE_RELOC_SECTION_RELOC_TARGET_SIZE_UNKNOWN (233) so doing a relocation is unsafe (233)
    attempting to continue.
    
    .debug_pubnames
    
    .debug_macinfo
    
    .debug_string
    name at offset 0x00000000, length   11 is 'GNU C 4.7.1'
    name at offset 0x0000000c, length    4 is '/tmp'
    name at offset 0x00000011, length    5 is 'tls.c'
    
    .debug_aranges
    
    arange end
    .debug_frame
    
    .debug_static_func
    
    .debug_static_vars
    
    .debug_weaknames




==================== ELF dumps: ==========================


    # readelf -a *.o
    
    File: notls-32.o
    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:                              REL (Relocatable file)
      Machine:                           Intel 80386
      Version:                           0x1
      Entry point address:               0x0
      Start of program headers:          0 (bytes into file)
      Start of section headers:          408 (bytes into file)
      Flags:                             0x0
      Size of this header:               52 (bytes)
      Size of program headers:           0 (bytes)
      Number of program headers:         0
      Size of section headers:           40 (bytes)
      Number of section headers:         16
      Section header string table index: 13
    
    Section Headers:
      [Nr] Name              Type            Addr     Off    Size   ES Flg Lk Inf Al
      [ 0]                   NULL            00000000 000000 000000 00      0   0  0
      [ 1] .text             PROGBITS        00000000 000034 000000 00  AX  0   0  4
      [ 2] .data             PROGBITS        00000000 000034 000000 00  WA  0   0  4
      [ 3] .bss              NOBITS          00000000 000034 000000 00  WA  0   0  4
      [ 4] .debug_info       PROGBITS        00000000 000034 000035 00      0   0  1
      [ 5] .rel.debug_info   REL             00000000 0004f4 000030 08     14   4  4
      [ 6] .debug_abbrev     PROGBITS        00000000 000069 00002c 00      0   0  1
      [ 7] .debug_aranges    PROGBITS        00000000 000095 000018 00      0   0  1
      [ 8] .rel.debug_arange REL             00000000 000524 000008 08     14   7  4
      [ 9] .debug_line       PROGBITS        00000000 0000ad 000028 00      0   0  1
      [10] .debug_str        PROGBITS        00000000 0000d5 000019 01  MS  0   0  1
      [11] .comment          PROGBITS        00000000 0000ee 00001d 01  MS  0   0  1
      [12] .note.GNU-stack   PROGBITS        00000000 00010b 000000 00      0   0  1
      [13] .shstrtab         STRTAB          00000000 00010b 00008d 00      0   0  1
      [14] .symtab           SYMTAB          00000000 000418 0000d0 10     15  12  4
      [15] .strtab           STRTAB          00000000 0004e8 00000b 00      0   0  1
    Key to Flags:
      W (write), A (alloc), X (execute), M (merge), S (strings)
      I (info), L (link order), G (group), T (TLS), E (exclude), x (unknown)
      O (extra OS processing required) o (OS specific), p (processor specific)
    
    There are no section groups in this file.
    
    There are no program headers in this file.
    
    Relocation section '.rel.debug_info' at offset 0x4f4 contains 6 entries:
     Offset     Info    Type            Sym.Value  Sym. Name
    00000006  00000601 R_386_32          00000000   .debug_abbrev
    0000000c  00000901 R_386_32          00000000   .debug_str
    00000011  00000901 R_386_32          00000000   .debug_str
    00000015  00000901 R_386_32          00000000   .debug_str
    00000019  00000801 R_386_32          00000000   .debug_line
    00000029  00000c01 R_386_32          00000004   a
    
    Relocation section '.rel.debug_aranges' at offset 0x524 contains 1 entries:
     Offset     Info    Type            Sym.Value  Sym. Name
    00000006  00000501 R_386_32          00000000   .debug_info
    
    There are no unwind sections in this file.
    
    Symbol table '.symtab' contains 13 entries:
       Num:    Value  Size Type    Bind   Vis      Ndx Name
         0: 00000000     0 NOTYPE  LOCAL  DEFAULT  UND 
         1: 00000000     0 FILE    LOCAL  DEFAULT  ABS notls.c
         2: 00000000     0 SECTION LOCAL  DEFAULT    1 
         3: 00000000     0 SECTION LOCAL  DEFAULT    2 
         4: 00000000     0 SECTION LOCAL  DEFAULT    3 
         5: 00000000     0 SECTION LOCAL  DEFAULT    4 
         6: 00000000     0 SECTION LOCAL  DEFAULT    6 
         7: 00000000     0 SECTION LOCAL  DEFAULT    7 
         8: 00000000     0 SECTION LOCAL  DEFAULT    9 
         9: 00000000     0 SECTION LOCAL  DEFAULT   10 
        10: 00000000     0 SECTION LOCAL  DEFAULT   12 
        11: 00000000     0 SECTION LOCAL  DEFAULT   11 
        12: 00000004     4 OBJECT  GLOBAL DEFAULT  COM a
    
    No version information found in this file.
    
    File: notls-64.o
    ELF Header:
      Magic:   7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00 
      Class:                             ELF64
      Data:                              2's complement, little endian
      Version:                           1 (current)
      OS/ABI:                            UNIX - System V
      ABI Version:                       0
      Type:                              REL (Relocatable file)
      Machine:                           Advanced Micro Devices X86-64
      Version:                           0x1
      Entry point address:               0x0
      Start of program headers:          0 (bytes into file)
      Start of section headers:          440 (bytes into file)
      Flags:                             0x0
      Size of this header:               64 (bytes)
      Size of program headers:           0 (bytes)
      Number of program headers:         0
      Size of section headers:           64 (bytes)
      Number of section headers:         16
      Section header string table index: 13
    
    Section Headers:
      [Nr] Name              Type             Address           Offset
           Size              EntSize          Flags  Link  Info  Align
      [ 0]                   NULL             0000000000000000  00000000
           0000000000000000  0000000000000000           0     0     0
      [ 1] .text             PROGBITS         0000000000000000  00000040
           0000000000000000  0000000000000000  AX       0     0     4
      [ 2] .data             PROGBITS         0000000000000000  00000040
           0000000000000000  0000000000000000  WA       0     0     4
      [ 3] .bss              NOBITS           0000000000000000  00000040
           0000000000000000  0000000000000000  WA       0     0     4
      [ 4] .debug_info       PROGBITS         0000000000000000  00000040
           0000000000000039  0000000000000000           0     0     1
      [ 5] .rela.debug_info  RELA             0000000000000000  00000700
           0000000000000090  0000000000000018          14     4     8
      [ 6] .debug_abbrev     PROGBITS         0000000000000000  00000079
           000000000000002c  0000000000000000           0     0     1
      [ 7] .debug_aranges    PROGBITS         0000000000000000  000000a5
           0000000000000020  0000000000000000           0     0     1
      [ 8] .rela.debug_arang RELA             0000000000000000  00000790
           0000000000000018  0000000000000018          14     7     8
      [ 9] .debug_line       PROGBITS         0000000000000000  000000c5
           0000000000000028  0000000000000000           0     0     1
      [10] .debug_str        PROGBITS         0000000000000000  000000ed
           0000000000000019  0000000000000001  MS       0     0     1
      [11] .comment          PROGBITS         0000000000000000  00000106
           000000000000001d  0000000000000001  MS       0     0     1
      [12] .note.GNU-stack   PROGBITS         0000000000000000  00000123
           0000000000000000  0000000000000000           0     0     1
      [13] .shstrtab         STRTAB           0000000000000000  00000123
           000000000000008f  0000000000000000           0     0     1
      [14] .symtab           SYMTAB           0000000000000000  000005b8
           0000000000000138  0000000000000018          15    12     8
      [15] .strtab           STRTAB           0000000000000000  000006f0
           000000000000000b  0000000000000000           0     0     1
    Key to Flags:
      W (write), A (alloc), X (execute), M (merge), S (strings), l (large)
      I (info), L (link order), G (group), T (TLS), E (exclude), x (unknown)
      O (extra OS processing required) o (OS specific), p (processor specific)
    
    There are no section groups in this file.
    
    There are no program headers in this file.
    
    Relocation section '.rela.debug_info' at offset 0x700 contains 6 entries:
      Offset          Info           Type           Sym. Value    Sym. Name + Addend
    000000000006  00060000000a R_X86_64_32       0000000000000000 .debug_abbrev + 0
    00000000000c  00090000000a R_X86_64_32       0000000000000000 .debug_str + 0
    000000000011  00090000000a R_X86_64_32       0000000000000000 .debug_str + 11
    000000000015  00090000000a R_X86_64_32       0000000000000000 .debug_str + c
    000000000019  00080000000a R_X86_64_32       0000000000000000 .debug_line + 0
    000000000029  000c00000001 R_X86_64_64       0000000000000004 a + 0
    
    Relocation section '.rela.debug_aranges' at offset 0x790 contains 1 entries:
      Offset          Info           Type           Sym. Value    Sym. Name + Addend
    000000000006  00050000000a R_X86_64_32       0000000000000000 .debug_info + 0
    
    There are no unwind sections in this file.
    
    Symbol table '.symtab' contains 13 entries:
       Num:    Value          Size Type    Bind   Vis      Ndx Name
         0: 0000000000000000     0 NOTYPE  LOCAL  DEFAULT  UND 
         1: 0000000000000000     0 FILE    LOCAL  DEFAULT  ABS notls.c
         2: 0000000000000000     0 SECTION LOCAL  DEFAULT    1 
         3: 0000000000000000     0 SECTION LOCAL  DEFAULT    2 
         4: 0000000000000000     0 SECTION LOCAL  DEFAULT    3 
         5: 0000000000000000     0 SECTION LOCAL  DEFAULT    4 
         6: 0000000000000000     0 SECTION LOCAL  DEFAULT    6 
         7: 0000000000000000     0 SECTION LOCAL  DEFAULT    7 
         8: 0000000000000000     0 SECTION LOCAL  DEFAULT    9 
         9: 0000000000000000     0 SECTION LOCAL  DEFAULT   10 
        10: 0000000000000000     0 SECTION LOCAL  DEFAULT   12 
        11: 0000000000000000     0 SECTION LOCAL  DEFAULT   11 
        12: 0000000000000004     4 OBJECT  GLOBAL DEFAULT  COM a
    
    No version information found in this file.
    
    File: notls.o
    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:                              REL (Relocatable file)
      Machine:                           Intel 80386
      Version:                           0x1
      Entry point address:               0x0
      Start of program headers:          0 (bytes into file)
      Start of section headers:          408 (bytes into file)
      Flags:                             0x0
      Size of this header:               52 (bytes)
      Size of program headers:           0 (bytes)
      Number of program headers:         0
      Size of section headers:           40 (bytes)
      Number of section headers:         16
      Section header string table index: 13
    
    Section Headers:
      [Nr] Name              Type            Addr     Off    Size   ES Flg Lk Inf Al
      [ 0]                   NULL            00000000 000000 000000 00      0   0  0
      [ 1] .text             PROGBITS        00000000 000034 000000 00  AX  0   0  4
      [ 2] .data             PROGBITS        00000000 000034 000000 00  WA  0   0  4
      [ 3] .bss              NOBITS          00000000 000034 000000 00  WA  0   0  4
      [ 4] .debug_info       PROGBITS        00000000 000034 000035 00      0   0  1
      [ 5] .rel.debug_info   REL             00000000 0004f4 000030 08     14   4  4
      [ 6] .debug_abbrev     PROGBITS        00000000 000069 00002c 00      0   0  1
      [ 7] .debug_aranges    PROGBITS        00000000 000095 000018 00      0   0  1
      [ 8] .rel.debug_arange REL             00000000 000524 000008 08     14   7  4
      [ 9] .debug_line       PROGBITS        00000000 0000ad 000028 00      0   0  1
      [10] .debug_str        PROGBITS        00000000 0000d5 000019 01  MS  0   0  1
      [11] .comment          PROGBITS        00000000 0000ee 00001d 01  MS  0   0  1
      [12] .note.GNU-stack   PROGBITS        00000000 00010b 000000 00      0   0  1
      [13] .shstrtab         STRTAB          00000000 00010b 00008d 00      0   0  1
      [14] .symtab           SYMTAB          00000000 000418 0000d0 10     15  12  4
      [15] .strtab           STRTAB          00000000 0004e8 00000b 00      0   0  1
    Key to Flags:
      W (write), A (alloc), X (execute), M (merge), S (strings)
      I (info), L (link order), G (group), T (TLS), E (exclude), x (unknown)
      O (extra OS processing required) o (OS specific), p (processor specific)
    
    There are no section groups in this file.
    
    There are no program headers in this file.
    
    Relocation section '.rel.debug_info' at offset 0x4f4 contains 6 entries:
     Offset     Info    Type            Sym.Value  Sym. Name
    00000006  00000601 R_386_32          00000000   .debug_abbrev
    0000000c  00000901 R_386_32          00000000   .debug_str
    00000011  00000901 R_386_32          00000000   .debug_str
    00000015  00000901 R_386_32          00000000   .debug_str
    00000019  00000801 R_386_32          00000000   .debug_line
    00000029  00000c01 R_386_32          00000004   a
    
    Relocation section '.rel.debug_aranges' at offset 0x524 contains 1 entries:
     Offset     Info    Type            Sym.Value  Sym. Name
    00000006  00000501 R_386_32          00000000   .debug_info
    
    There are no unwind sections in this file.
    
    Symbol table '.symtab' contains 13 entries:
       Num:    Value  Size Type    Bind   Vis      Ndx Name
         0: 00000000     0 NOTYPE  LOCAL  DEFAULT  UND 
         1: 00000000     0 FILE    LOCAL  DEFAULT  ABS notls.c
         2: 00000000     0 SECTION LOCAL  DEFAULT    1 
         3: 00000000     0 SECTION LOCAL  DEFAULT    2 
         4: 00000000     0 SECTION LOCAL  DEFAULT    3 
         5: 00000000     0 SECTION LOCAL  DEFAULT    4 
         6: 00000000     0 SECTION LOCAL  DEFAULT    6 
         7: 00000000     0 SECTION LOCAL  DEFAULT    7 
         8: 00000000     0 SECTION LOCAL  DEFAULT    9 
         9: 00000000     0 SECTION LOCAL  DEFAULT   10 
        10: 00000000     0 SECTION LOCAL  DEFAULT   12 
        11: 00000000     0 SECTION LOCAL  DEFAULT   11 
        12: 00000004     4 OBJECT  GLOBAL DEFAULT  COM a
    
    No version information found in this file.
    
    File: tls-64.o
    ELF Header:
      Magic:   7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00 
      Class:                             ELF64
      Data:                              2's complement, little endian
      Version:                           1 (current)
      OS/ABI:                            UNIX - System V
      ABI Version:                       0
      Type:                              REL (Relocatable file)
      Machine:                           Advanced Micro Devices X86-64
      Version:                           0x1
      Entry point address:               0x0
      Start of program headers:          0 (bytes into file)
      Start of section headers:          440 (bytes into file)
      Flags:                             0x0
      Size of this header:               64 (bytes)
      Size of program headers:           0 (bytes)
      Number of program headers:         0
      Size of section headers:           64 (bytes)
      Number of section headers:         17
      Section header string table index: 14
    
    Section Headers:
      [Nr] Name              Type             Address           Offset
           Size              EntSize          Flags  Link  Info  Align
      [ 0]                   NULL             0000000000000000  00000000
           0000000000000000  0000000000000000           0     0     0
      [ 1] .text             PROGBITS         0000000000000000  00000040
           0000000000000000  0000000000000000  AX       0     0     4
      [ 2] .data             PROGBITS         0000000000000000  00000040
           0000000000000000  0000000000000000  WA       0     0     4
      [ 3] .bss              NOBITS           0000000000000000  00000040
           0000000000000000  0000000000000000  WA       0     0     4
      [ 4] .tbss             NOBITS           0000000000000000  00000040
           0000000000000004  0000000000000000 WAT       0     0     4
      [ 5] .debug_info       PROGBITS         0000000000000000  00000040
           000000000000003a  0000000000000000           0     0     1
      [ 6] .rela.debug_info  RELA             0000000000000000  00000780
           0000000000000090  0000000000000018          15     5     8
      [ 7] .debug_abbrev     PROGBITS         0000000000000000  0000007a
           000000000000002c  0000000000000000           0     0     1
      [ 8] .debug_aranges    PROGBITS         0000000000000000  000000a6
           0000000000000020  0000000000000000           0     0     1
      [ 9] .rela.debug_arang RELA             0000000000000000  00000810
           0000000000000018  0000000000000018          15     8     8
      [10] .debug_line       PROGBITS         0000000000000000  000000c6
           0000000000000026  0000000000000000           0     0     1
      [11] .debug_str        PROGBITS         0000000000000000  000000ec
           0000000000000017  0000000000000001  MS       0     0     1
      [12] .comment          PROGBITS         0000000000000000  00000103
           000000000000001d  0000000000000001  MS       0     0     1
      [13] .note.GNU-stack   PROGBITS         0000000000000000  00000120
           0000000000000000  0000000000000000           0     0     1
      [14] .shstrtab         STRTAB           0000000000000000  00000120
           0000000000000095  0000000000000000           0     0     1
      [15] .symtab           SYMTAB           0000000000000000  000005f8
           0000000000000168  0000000000000018          16    13     8
      [16] .strtab           STRTAB           0000000000000000  00000760
           000000000000001f  0000000000000000           0     0     1
    Key to Flags:
      W (write), A (alloc), X (execute), M (merge), S (strings), l (large)
      I (info), L (link order), G (group), T (TLS), E (exclude), x (unknown)
      O (extra OS processing required) o (OS specific), p (processor specific)
    
    There are no section groups in this file.
    
    There are no program headers in this file.
    
    Relocation section '.rela.debug_info' at offset 0x780 contains 6 entries:
      Offset          Info           Type           Sym. Value    Sym. Name + Addend
    000000000006  00070000000a R_X86_64_32       0000000000000000 .debug_abbrev + 0
    00000000000c  000a0000000a R_X86_64_32       0000000000000000 .debug_str + 0
    000000000011  000a0000000a R_X86_64_32       0000000000000000 .debug_str + 11
    000000000015  000a0000000a R_X86_64_32       0000000000000000 .debug_str + c
    000000000019  00090000000a R_X86_64_32       0000000000000000 .debug_line + 0
    000000000029  000d00000015 R_X86_64_DTPOFF32 0000000000000000 a + 0
    
    Relocation section '.rela.debug_aranges' at offset 0x810 contains 1 entries:
      Offset          Info           Type           Sym. Value    Sym. Name + Addend
    000000000006  00060000000a R_X86_64_32       0000000000000000 .debug_info + 0
    
    There are no unwind sections in this file.
    
    Symbol table '.symtab' contains 15 entries:
       Num:    Value          Size Type    Bind   Vis      Ndx Name
         0: 0000000000000000     0 NOTYPE  LOCAL  DEFAULT  UND 
         1: 0000000000000000     0 FILE    LOCAL  DEFAULT  ABS tls.c
         2: 0000000000000000     0 SECTION LOCAL  DEFAULT    1 
         3: 0000000000000000     0 SECTION LOCAL  DEFAULT    2 
         4: 0000000000000000     0 SECTION LOCAL  DEFAULT    3 
         5: 0000000000000000     0 SECTION LOCAL  DEFAULT    4 
         6: 0000000000000000     0 SECTION LOCAL  DEFAULT    5 
         7: 0000000000000000     0 SECTION LOCAL  DEFAULT    7 
         8: 0000000000000000     0 SECTION LOCAL  DEFAULT    8 
         9: 0000000000000000     0 SECTION LOCAL  DEFAULT   10 
        10: 0000000000000000     0 SECTION LOCAL  DEFAULT   11 
        11: 0000000000000000     0 SECTION LOCAL  DEFAULT   13 
        12: 0000000000000000     0 SECTION LOCAL  DEFAULT   12 
        13: 0000000000000000     4 TLS     GLOBAL DEFAULT    4 a
        14: 0000000000000000     0 NOTYPE  GLOBAL DEFAULT  UND _GLOBAL_OFFSET_TABLE_
    
    No version information found in this file.
    
    File: tls.o
    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:                              REL (Relocatable file)
      Machine:                           Intel 80386
      Version:                           0x1
      Entry point address:               0x0
      Start of program headers:          0 (bytes into file)
      Start of section headers:          412 (bytes into file)
      Flags:                             0x0
      Size of this header:               52 (bytes)
      Size of program headers:           0 (bytes)
      Number of program headers:         0
      Size of section headers:           40 (bytes)
      Number of section headers:         17
      Section header string table index: 14
    
    Section Headers:
      [Nr] Name              Type            Addr     Off    Size   ES Flg Lk Inf Al
      [ 0]                   NULL            00000000 000000 000000 00      0   0  0
      [ 1] .text             PROGBITS        00000000 000034 000000 00  AX  0   0  4
      [ 2] .data             PROGBITS        00000000 000034 000000 00  WA  0   0  4
      [ 3] .bss              NOBITS          00000000 000034 000000 00  WA  0   0  4
      [ 4] .tbss             NOBITS          00000000 000034 000004 00 WAT  0   0  4
      [ 5] .debug_info       PROGBITS        00000000 000034 000036 00      0   0  1
      [ 6] .rel.debug_info   REL             00000000 000554 000030 08     15   5  4
      [ 7] .debug_abbrev     PROGBITS        00000000 00006a 00002c 00      0   0  1
      [ 8] .debug_aranges    PROGBITS        00000000 000096 000018 00      0   0  1
      [ 9] .rel.debug_arange REL             00000000 000584 000008 08     15   8  4
      [10] .debug_line       PROGBITS        00000000 0000ae 000026 00      0   0  1
      [11] .debug_str        PROGBITS        00000000 0000d4 000017 01  MS  0   0  1
      [12] .comment          PROGBITS        00000000 0000eb 00001d 01  MS  0   0  1
      [13] .note.GNU-stack   PROGBITS        00000000 000108 000000 00      0   0  1
      [14] .shstrtab         STRTAB          00000000 000108 000093 00      0   0  1
      [15] .symtab           SYMTAB          00000000 000444 0000f0 10     16  13  4
      [16] .strtab           STRTAB          00000000 000534 00001f 00      0   0  1
    Key to Flags:
      W (write), A (alloc), X (execute), M (merge), S (strings)
      I (info), L (link order), G (group), T (TLS), E (exclude), x (unknown)
      O (extra OS processing required) o (OS specific), p (processor specific)
    
    There are no section groups in this file.
    
    There are no program headers in this file.
    
    Relocation section '.rel.debug_info' at offset 0x554 contains 6 entries:
     Offset     Info    Type            Sym.Value  Sym. Name
    00000006  00000701 R_386_32          00000000   .debug_abbrev
    0000000c  00000a01 R_386_32          00000000   .debug_str
    00000011  00000a01 R_386_32          00000000   .debug_str
    00000015  00000a01 R_386_32          00000000   .debug_str
    00000019  00000901 R_386_32          00000000   .debug_line
    00000029  00000d20 R_386_TLS_LDO_32  00000000   a
    
    Relocation section '.rel.debug_aranges' at offset 0x584 contains 1 entries:
     Offset     Info    Type            Sym.Value  Sym. Name
    00000006  00000601 R_386_32          00000000   .debug_info
    
    There are no unwind sections in this file.
    
    Symbol table '.symtab' contains 15 entries:
       Num:    Value  Size Type    Bind   Vis      Ndx Name
         0: 00000000     0 NOTYPE  LOCAL  DEFAULT  UND 
         1: 00000000     0 FILE    LOCAL  DEFAULT  ABS tls.c
         2: 00000000     0 SECTION LOCAL  DEFAULT    1 
         3: 00000000     0 SECTION LOCAL  DEFAULT    2 
         4: 00000000     0 SECTION LOCAL  DEFAULT    3 
         5: 00000000     0 SECTION LOCAL  DEFAULT    4 
         6: 00000000     0 SECTION LOCAL  DEFAULT    5 
         7: 00000000     0 SECTION LOCAL  DEFAULT    7 
         8: 00000000     0 SECTION LOCAL  DEFAULT    8 
         9: 00000000     0 SECTION LOCAL  DEFAULT   10 
        10: 00000000     0 SECTION LOCAL  DEFAULT   11 
        11: 00000000     0 SECTION LOCAL  DEFAULT   13 
        12: 00000000     0 SECTION LOCAL  DEFAULT   12 
        13: 00000000     4 TLS     GLOBAL DEFAULT    4 a
        14: 00000000     0 NOTYPE  GLOBAL DEFAULT  UND _GLOBAL_OFFSET_TABLE_
    
    No version information found in this file.


Reply to: