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: