------- Comment #2 from hjl at lucon dot org 2006-08-07 18:24 -------
Here is the debug info generated by icc
The section .debug_info contains:
Compilation Unit @ offset 0x0:
Length: 272
Version: 2
Abbrev Offset: 0
Pointer Size: 4
<0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
DW_AT_comp_dir : /export/home/hjl/bugs/gcc/xmm
DW_AT_language : 1 (ANSI C)
DW_AT_name : x.c
DW_AT_producer : Intel(R) C++ Compiler for 32-bit applications, Version
9.1 Build 20060323Z %s
Fixes RangesRelative
DW_AT_stmt_list : 0
<1><9b>: Abbrev Number: 2 (DW_TAG_pointer_type)
DW_AT_type : <a0>
<1><a0>: Abbrev Number: 3 (DW_TAG_base_type)
DW_AT_byte_size : 1
DW_AT_encoding : 6 (signed char)
DW_AT_name : char
<1><a8>: Abbrev Number: 4 (DW_TAG_subprogram)
DW_AT_decl_line : 3
DW_AT_decl_column : 7
DW_AT_decl_file : 1
DW_AT_accessibility: 1 (public)
DW_AT_name : e1
DW_AT_type : <9b>
DW_AT_prototyped : 1
DW_AT_frame_base : 2 byte block: 74 0 (DW_OP_breg4: 0)
DW_AT_high_pc : 0x1a
DW_AT_low_pc : 0
DW_AT_external : 1
DW_AT_MIPS_linkage_name: e1
<2><c4>: Abbrev Number: 5 (DW_TAG_variable)
DW_AT_decl_line : 5
DW_AT_decl_column : 19
DW_AT_decl_file : 1
DW_AT_accessibility: 1 (public)
DW_AT_name : dummy
DW_AT_type : <d8>
DW_AT_location : 2 byte block: 91 0 (DW_OP_fbreg: 0)
DW_AT_external : 0
<1><d8>: Abbrev Number: 6 (DW_TAG_volatile_type)
DW_AT_type : <dd>
<1><dd>: Abbrev Number: 7 (DW_TAG_typedef)
DW_AT_decl_line : 44
DW_AT_decl_column : 54
DW_AT_decl_file : 2
DW_AT_accessibility: 1 (public)
DW_AT_name : __m128
DW_AT_type : <ed>
<1><ed>: Abbrev Number: 8 (DW_TAG_array_type)
DW_AT_accessibility: 1 (public)
DW_AT_name : __m128
DW_AT_type : <107>
DW_AT_byte_size : 16
<2><fb>: Abbrev Number: 9 (DW_TAG_subrange_type)
DW_AT_accessibility: 1 (public)
DW_AT_name : __m128
DW_AT_upper_bound : 3
DW_AT_lower_bound : 0
<1><107>: Abbrev Number: 3 (DW_TAG_base_type)
DW_AT_byte_size : 4
DW_AT_encoding : 4 (float)
DW_AT_name : float
Dump of debug contents of section .debug_line:
Length: 102
DWARF Version: 2
Prologue Length: 74
Minimum Instruction Length: 1
Initial value of 'is_stmt': 1
Line Base: -1
Line Range: 4
Opcode Base: 10
Opcodes:
Opcode 1 has 0 args
Opcode 2 has 1 args
Opcode 3 has 1 args
Opcode 4 has 1 args
Opcode 5 has 1 args
Opcode 6 has 0 args
Opcode 7 has 0 args
Opcode 8 has 0 args
Opcode 9 has 1 args
The Directory Table:
/opt/intel/cc/9.1/include
The File Name Table:
Entry Dir Time Size Name
1 0 1149695375 126 x.c
2 1 1144184578 18608 xmmintrin.h
Line Number Statements:
Extended opcode 2: set Address to 0x0
Advance Line by 3 to 4
Copy
Special opcode 38: advance Address by 9 to 0x9 and Line by 1 to 5
Special opcode 34: advance Address by 8 to 0x11 and Line by 1 to 6
Extended opcode 2: set Address to 0x1a
Extended opcode 1: End of Sequence
Contents of the .debug_abbrev section:
Number TAG
1 DW_TAG_compile_unit [has children]
DW_AT_comp_dir DW_FORM_string
DW_AT_language DW_FORM_data1
DW_AT_name DW_FORM_string
DW_AT_producer DW_FORM_string
DW_AT_stmt_list DW_FORM_data4
2 DW_TAG_pointer_type [no children]
DW_AT_type DW_FORM_ref4
3 DW_TAG_base_type [no children]
DW_AT_byte_size DW_FORM_data1
DW_AT_encoding DW_FORM_data1
DW_AT_name DW_FORM_string
4 DW_TAG_subprogram [has children]
DW_AT_decl_line DW_FORM_data1
DW_AT_decl_column DW_FORM_data1
DW_AT_decl_file DW_FORM_data1
DW_AT_accessibility DW_FORM_data1
DW_AT_name DW_FORM_string
DW_AT_type DW_FORM_ref4
DW_AT_prototyped DW_FORM_flag
DW_AT_frame_base DW_FORM_block1
DW_AT_high_pc DW_FORM_addr
DW_AT_low_pc DW_FORM_addr
DW_AT_external DW_FORM_flag
DW_AT_MIPS_linkage_name DW_FORM_string
5 DW_TAG_variable [no children]
DW_AT_decl_line DW_FORM_data1
DW_AT_decl_column DW_FORM_data1
DW_AT_decl_file DW_FORM_data1
DW_AT_accessibility DW_FORM_data1
DW_AT_name DW_FORM_string
DW_AT_type DW_FORM_ref4
DW_AT_location DW_FORM_block1
DW_AT_external DW_FORM_flag
6 DW_TAG_volatile_type [no children]
DW_AT_type DW_FORM_ref4
7 DW_TAG_typedef [no children]
DW_AT_decl_line DW_FORM_data1
DW_AT_decl_column DW_FORM_data1
DW_AT_decl_file DW_FORM_data1
DW_AT_accessibility DW_FORM_data1
DW_AT_name DW_FORM_string
DW_AT_type DW_FORM_ref4
8 DW_TAG_array_type [has children]
DW_AT_accessibility DW_FORM_data1
DW_AT_name DW_FORM_string
DW_AT_type DW_FORM_ref4
DW_AT_byte_size DW_FORM_data1
9 DW_TAG_subrange_type [no children]
DW_AT_accessibility DW_FORM_data1
DW_AT_name DW_FORM_string
DW_AT_upper_bound DW_FORM_data1
DW_AT_lower_bound DW_FORM_data1
The section .debug_frame contains:
00000000 00000010 ffffffff CIE
Version: 1
Augmentation: ""
Code alignment factor: 1
Data alignment factor: -4
Return address column: 8
DW_CFA_def_cfa: r4 ofs 4
DW_CFA_offset: r8 at cfa-4
DW_CFA_nop
DW_CFA_nop
00000014 0000002c 00000000 FDE cie=00000000 pc=00000000..0000001a
DW_CFA_advance_loc4: 0 to 00000000
DW_CFA_advance_loc4: 1 to 00000001
DW_CFA_def_cfa: r4 ofs 8
DW_CFA_advance_loc4: 2 to 00000003
DW_CFA_def_cfa: r5 ofs 8
DW_CFA_offset: r5 at cfa-8
DW_CFA_advance_loc4: 22 to 00000019
DW_CFA_def_cfa: r4 ofs 4
DW_CFA_nop
I can do backtrace with gdb.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28074