
binutils* dwarf.c (struct State_Machine_Registers): Add view field. (reset_state_machine): Reset view. (process_extended_line_op): Reset view when appropriate. (display_debug_lines_raw): Increment or reset view when appropriate. Print nonzero views. Support print view resets, disabled by default. (display_debug_lines_decoded): Likewise. Disambiguate op_code tests, enabling printing of end_sequence. * testsuite/binutils-all/dw2-1.W: Add nonzero views. * testsuite/binutils-all/dw2-3.W: Likewise. * testsuite/binutils-all/dw2-3gabi.W: Likewise. * testsuite/binutils-all/dw5.W: Add end sequence lines. * testsuite/binutils-all/i386/compressed-1a.d: Add nonzero views. * testsuite/binutils-all/libdw2-compressedgabi.out: Likewise. * testsuite/binutils-all/objdump.W: Likewise. * testsuite/binutils-all/objdump.WL: Add end sequence lines. * testsuite/binutils-all/x86-64/compressed-1a.d: Add nonzero views. gas * doc/as.texinfo (.loc): Document view support. * dwarf2dbg.c (unused): Check offset of next in struct line_entry. (current): Initialize view. (force_reset_view, view_assert_failed): New variables. (reverse_line_entry_list): New function. (set_or_check_view): Likewise. (dwarf2_gen_line_info_1): Call it. (dwarf2_where): Set view to NULL. (dwarf2_emit_insn): Return early when called before first file. (dwarf2_directive_loc): Add view support. Emit insn immediately when view option is given. (process_entries): Avoid set_address to reset view when a known address change already implies the view reset. (dwarf2dbg_final_check): New function. * dwarf2dbg.h (struct dwarf2_line_info): Add view. (dwarf2dbg_final_check): Declare. * read.c (s_leb128): Parse expression as deferred. * testsuite/gas/all/gas.exp: Run sleb128-9. * testsuite/gas/all/sleb128-9.d: New. * testsuite/gas/all/sleb128-9.l: New. * testsuite/gas/all/sleb128-9.s: New. * testsuite/gas/elf/dwarf2-1.d: Add nonzero views. * testsuite/gas/elf/dwarf2-2.d: Likewise. * testsuite/gas/elf/dwarf2-5.d: New. * testsuite/gas/elf/dwarf2-5.s: New. * testsuite/gas/elf/dwarf2-6.d: New. * testsuite/gas/elf/dwarf2-6.s: New. * testsuite/gas/elf/dwarf2-7.d: New. * testsuite/gas/elf/dwarf2-7.s: New. * testsuite/gas/elf/dwarf2-8.d: New. * testsuite/gas/elf/dwarf2-8.l: New. * testsuite/gas/elf/dwarf2-8.s: New. * testsuite/gas/elf/dwarf2-9.d: New. * testsuite/gas/elf/dwarf2-9.l: New. * testsuite/gas/elf/dwarf2-9.s: New. * testsuite/gas/elf/dwarf2-10.d: New. * testsuite/gas/elf/dwarf2-10.l: New. * testsuite/gas/elf/dwarf2-10.s: New. * testsuite/gas/elf/dwarf2-11.d: New. * testsuite/gas/elf/dwarf2-11.s: New. * testsuite/gas/elf/dwarf2-12.d: New. * testsuite/gas/elf/dwarf2-12.s: New. * testsuite/gas/elf/dwarf2-13.d: New. * testsuite/gas/elf/dwarf2-13.s: New. * testsuite/gas/elf/dwarf2-14.d: New. * testsuite/gas/elf/dwarf2-14.s: New. * testsuite/gas/elf/dwarf2-15.d: New. * testsuite/gas/elf/dwarf2-15.s: New. * testsuite/gas/elf/dwarf2-16.d: New. * testsuite/gas/elf/dwarf2-16.s: New. * testsuite/gas/elf/dwarf2-17.d: New. * testsuite/gas/elf/dwarf2-17.s: New. * testsuite/gas/elf/dwarf2-18.d: New. * testsuite/gas/elf/dwarf2-18.s: New. * testsuite/gas/elf/elf.exp: Run dwarf2-5..18 tests. * testsuite/gas/i386/dw2-compress-1.d: Add nonzero views. * testsuite/gas/i386/dw2-compressed-1.d: Likewise. * testsuite/gas/i386/ilp32/lns/lns-duplicate.d: Likewise. * testsuite/gas/lns/lns-big-delta.d: Likewise. * testsuite/gas/lns/lns-duplicate.d: Likewise. * testsuite/gas/mips/loc-swap-2.d: Likewise. * testsuite/gas/mips/loc-swap-3.d: Likewise. * testsuite/gas/mips/loc-swap.d: Likewise. * testsuite/gas/mips/micromips@loc-swap-2.d: Likewise. * testsuite/gas/mips/micromips@loc-swap.d: Likewise. * testsuite/gas/mips/mips16@loc-swap-2.d: Likewise. * testsuite/gas/mips/mips16@loc-swap.d: Likewise. * testsuite/gas/mips/mips16e@loc-swap.d: Likewise. * write.c (write_object_file): Check pending view asserts. (cvt_frag_to_fill): Complain about undefined leb128 operand.
357 lines
15 KiB
OpenEdge ABL
357 lines
15 KiB
OpenEdge ABL
Contents of the .debug_info section:
|
|
|
|
Compilation Unit @ offset 0x0:
|
|
Length: 0x160 \(32-bit\)
|
|
Version: 5
|
|
Abbrev Offset: 0x0
|
|
Pointer Size: 8
|
|
<0><c>: Abbrev Number: 6 \(DW_TAG_compile_unit\)
|
|
<d> DW_AT_producer : \(indirect string, offset: 0x43\): GNU C11 7.0.1 20170218 \(experimental\) -mtune=generic -march=x86-64 -gdwarf-5 -O2
|
|
<11> DW_AT_language : 29 \(C11\)
|
|
<12> DW_AT_name : \(indirect line string, offset: 0x14\): main.c
|
|
<16> DW_AT_comp_dir : \(indirect line string, offset: 0x0\):
|
|
<1a> DW_AT_ranges : 0xc
|
|
<1e> DW_AT_low_pc : 0x0
|
|
<26> DW_AT_stmt_list : 0x0
|
|
<1><2a>: Abbrev Number: 1 \(DW_TAG_base_type\)
|
|
<2b> DW_AT_byte_size : 1
|
|
<2c> DW_AT_encoding : 8 \(unsigned char\)
|
|
<2d> DW_AT_name : \(indirect string, offset: 0x94\): unsigned char
|
|
<1><31>: Abbrev Number: 1 \(DW_TAG_base_type\)
|
|
<32> DW_AT_byte_size : 2
|
|
<33> DW_AT_encoding : 7 \(unsigned\)
|
|
<34> DW_AT_name : \(indirect string, offset: 0xbc\): short unsigned int
|
|
<1><38>: Abbrev Number: 1 \(DW_TAG_base_type\)
|
|
<39> DW_AT_byte_size : 4
|
|
<3a> DW_AT_encoding : 7 \(unsigned\)
|
|
<3b> DW_AT_name : \(indirect string, offset: 0x0\): unsigned int
|
|
<1><3f>: Abbrev Number: 1 \(DW_TAG_base_type\)
|
|
<40> DW_AT_byte_size : 8
|
|
<41> DW_AT_encoding : 7 \(unsigned\)
|
|
<42> DW_AT_name : \(indirect string, offset: 0x2a\): long unsigned int
|
|
<1><46>: Abbrev Number: 1 \(DW_TAG_base_type\)
|
|
<47> DW_AT_byte_size : 1
|
|
<48> DW_AT_encoding : 6 \(signed char\)
|
|
<49> DW_AT_name : \(indirect string, offset: 0x19\): signed char
|
|
<1><4d>: Abbrev Number: 1 \(DW_TAG_base_type\)
|
|
<4e> DW_AT_byte_size : 2
|
|
<4f> DW_AT_encoding : 5 \(signed\)
|
|
<50> DW_AT_name : \(indirect string, offset: 0xef\): short int
|
|
<1><54>: Abbrev Number: 7 \(DW_TAG_base_type\)
|
|
<55> DW_AT_byte_size : 4
|
|
<56> DW_AT_encoding : 5 \(signed\)
|
|
<57> DW_AT_name : int
|
|
<1><5b>: Abbrev Number: 1 \(DW_TAG_base_type\)
|
|
<5c> DW_AT_byte_size : 8
|
|
<5d> DW_AT_encoding : 5 \(signed\)
|
|
<5e> DW_AT_name : \(indirect string, offset: 0xae\): long int
|
|
<1><62>: Abbrev Number: 1 \(DW_TAG_base_type\)
|
|
<63> DW_AT_byte_size : 8
|
|
<64> DW_AT_encoding : 7 \(unsigned\)
|
|
<65> DW_AT_name : \(indirect string, offset: 0xff\): sizetype
|
|
<1><69>: Abbrev Number: 3 \(DW_TAG_pointer_type\)
|
|
<6a> DW_AT_byte_size : 8
|
|
<6a> DW_AT_type : <0x6e>
|
|
<1><6e>: Abbrev Number: 1 \(DW_TAG_base_type\)
|
|
<6f> DW_AT_byte_size : 1
|
|
<70> DW_AT_encoding : 6 \(signed char\)
|
|
<71> DW_AT_name : \(indirect string, offset: 0xa2\): char
|
|
<1><75>: Abbrev Number: 8 \(DW_TAG_variable\)
|
|
<76> DW_AT_name : \(indirect string, offset: 0xd9\): __environ
|
|
<7a> DW_AT_decl_file : 2
|
|
<7b> DW_AT_decl_line : 546
|
|
<7d> DW_AT_type : <0x81>
|
|
<81> DW_AT_external : 1
|
|
<81> DW_AT_declaration : 1
|
|
<1><81>: Abbrev Number: 3 \(DW_TAG_pointer_type\)
|
|
<82> DW_AT_byte_size : 8
|
|
<82> DW_AT_type : <0x69>
|
|
<1><86>: Abbrev Number: 2 \(DW_TAG_variable\)
|
|
<87> DW_AT_name : \(indirect string, offset: 0xe8\): optarg
|
|
<8b> DW_AT_decl_file : 3
|
|
<8b> DW_AT_decl_line : 57
|
|
<8c> DW_AT_type : <0x69>
|
|
<90> DW_AT_external : 1
|
|
<90> DW_AT_declaration : 1
|
|
<1><90>: Abbrev Number: 2 \(DW_TAG_variable\)
|
|
<91> DW_AT_name : \(indirect string, offset: 0xa7\): optind
|
|
<95> DW_AT_decl_file : 3
|
|
<95> DW_AT_decl_line : 71
|
|
<96> DW_AT_type : <0x54>
|
|
<9a> DW_AT_external : 1
|
|
<9a> DW_AT_declaration : 1
|
|
<1><9a>: Abbrev Number: 2 \(DW_TAG_variable\)
|
|
<9b> DW_AT_name : \(indirect string, offset: 0x3c\): opterr
|
|
<9f> DW_AT_decl_file : 3
|
|
<9f> DW_AT_decl_line : 76
|
|
<a0> DW_AT_type : <0x54>
|
|
<a4> DW_AT_external : 1
|
|
<a4> DW_AT_declaration : 1
|
|
<1><a4>: Abbrev Number: 2 \(DW_TAG_variable\)
|
|
<a5> DW_AT_name : \(indirect string, offset: 0xd\): optopt
|
|
<a9> DW_AT_decl_file : 3
|
|
<a9> DW_AT_decl_line : 80
|
|
<aa> DW_AT_type : <0x54>
|
|
<ae> DW_AT_external : 1
|
|
<ae> DW_AT_declaration : 1
|
|
<1><ae>: Abbrev Number: 4 \(DW_TAG_variable\)
|
|
<af> DW_AT_name : \(indirect string, offset: 0x25\): xvar
|
|
<b3> DW_AT_decl_file : 1
|
|
<b3> DW_AT_decl_line : 2
|
|
<b4> DW_AT_type : <0x54>
|
|
<b8> DW_AT_external : 1
|
|
<b8> DW_AT_location : 9 byte block: 3 (0|34) (0|12) 0 0 0 0 (0|12) (0|34) \(DW_OP_addr: 1234\)
|
|
<1><c2>: Abbrev Number: 4 \(DW_TAG_variable\)
|
|
<c3> DW_AT_name : \(indirect string, offset: 0xcf\): yvar
|
|
<c7> DW_AT_decl_file : 1
|
|
<c7> DW_AT_decl_line : 3
|
|
<c8> DW_AT_type : <0x54>
|
|
<cc> DW_AT_external : 1
|
|
<cc> DW_AT_location : 9 byte block: 3 (0|34) (0|12) 0 0 0 0 (0|12) (0|34) \(DW_OP_addr: 1234\)
|
|
<1><d6>: Abbrev Number: 4 \(DW_TAG_variable\)
|
|
<d7> DW_AT_name : \(indirect string, offset: 0xd4\): pvar
|
|
<db> DW_AT_decl_file : 1
|
|
<db> DW_AT_decl_line : 4
|
|
<dc> DW_AT_type : <0xea>
|
|
<e0> DW_AT_external : 1
|
|
<e0> DW_AT_location : 9 byte block: 3 (0|34) (0|12) 0 0 0 0 (0|12) (0|34) \(DW_OP_addr: 1234\)
|
|
<1><ea>: Abbrev Number: 3 \(DW_TAG_pointer_type\)
|
|
<eb> DW_AT_byte_size : 8
|
|
<eb> DW_AT_type : <0x54>
|
|
<1><ef>: Abbrev Number: 9 \(DW_TAG_subprogram\)
|
|
<f0> DW_AT_external : 1
|
|
<f0> DW_AT_name : \(indirect string, offset: 0x14\): main
|
|
<f4> DW_AT_decl_file : 1
|
|
<f5> DW_AT_decl_line : 6
|
|
<f6> DW_AT_prototyped : 1
|
|
<f6> DW_AT_type : <0x54>
|
|
<fa> DW_AT_low_pc : 0x1234
|
|
<102> DW_AT_high_pc : 0x5678
|
|
<10a> DW_AT_frame_base : 1 byte block: 9c \(DW_OP_call_frame_cfa\)
|
|
<10c> DW_AT_call_all_calls: 1
|
|
<10c> DW_AT_sibling : <0x13e>
|
|
<2><110>: Abbrev Number: 5 \(DW_TAG_formal_parameter\)
|
|
<111> DW_AT_name : \(indirect string, offset: 0xb7\): argc
|
|
<115> DW_AT_decl_file : 1
|
|
<115> DW_AT_decl_line : 6
|
|
<115> DW_AT_type : <0x54>
|
|
<119> DW_AT_location : 0xc \(location list\)
|
|
<2><11d>: Abbrev Number: 5 \(DW_TAG_formal_parameter\)
|
|
<11e> DW_AT_name : \(indirect string, offset: 0x108\): argv
|
|
<122> DW_AT_decl_file : 1
|
|
<122> DW_AT_decl_line : 6
|
|
<122> DW_AT_type : <0x81>
|
|
<126> DW_AT_location : 0x23 \(location list\)
|
|
<2><12a>: Abbrev Number: 10 \(DW_TAG_call_site\)
|
|
<12b> DW_AT_call_return_pc: 0x12345
|
|
<133> DW_AT_call_origin : <0x157>
|
|
<3><137>: Abbrev Number: 11 \(DW_TAG_call_site_parameter\)
|
|
<138> DW_AT_location : 1 byte block: 55 \(DW_OP_reg5 \([^()]*\)\)
|
|
<13a> DW_AT_call_value : 1 byte block: 30 \(DW_OP_lit0\)
|
|
<3><13c>: Abbrev Number: 0
|
|
<2><13d>: Abbrev Number: 0
|
|
<1><13e>: Abbrev Number: 12 \(DW_TAG_subprogram\)
|
|
<13f> DW_AT_external : 1
|
|
<13f> DW_AT_name : \(indirect string, offset: 0xe3\): func
|
|
<143> DW_AT_decl_file : 1
|
|
<144> DW_AT_decl_line : 5
|
|
<145> DW_AT_prototyped : 1
|
|
<145> DW_AT_low_pc : 0x1234
|
|
<14d> DW_AT_high_pc : 0x5678
|
|
<155> DW_AT_frame_base : 1 byte block: 9c \(DW_OP_call_frame_cfa\)
|
|
<157> DW_AT_call_all_calls: 1
|
|
<1><157>: Abbrev Number: 13 \(DW_TAG_subprogram\)
|
|
<158> DW_AT_external : 1
|
|
<158> DW_AT_declaration : 1
|
|
<158> DW_AT_linkage_name: \(indirect string, offset: 0xf9\): alarm
|
|
<15c> DW_AT_name : \(indirect string, offset: 0xf9\): alarm
|
|
<160> DW_AT_decl_file : 2
|
|
<161> DW_AT_decl_line : 435
|
|
<1><163>: Abbrev Number: 0
|
|
|
|
Contents of the .debug_abbrev section:
|
|
|
|
Number TAG \(0x0\)
|
|
1 DW_TAG_base_type \[no children\]
|
|
DW_AT_byte_size DW_FORM_data1
|
|
DW_AT_encoding DW_FORM_data1
|
|
DW_AT_name DW_FORM_strp
|
|
DW_AT value: 0 DW_FORM value: 0
|
|
2 DW_TAG_variable \[no children\]
|
|
DW_AT_name DW_FORM_strp
|
|
DW_AT_decl_file DW_FORM_implicit_const: 3
|
|
DW_AT_decl_line DW_FORM_data1
|
|
DW_AT_type DW_FORM_ref4
|
|
DW_AT_external DW_FORM_flag_present
|
|
DW_AT_declaration DW_FORM_flag_present
|
|
DW_AT value: 0 DW_FORM value: 0
|
|
3 DW_TAG_pointer_type \[no children\]
|
|
DW_AT_byte_size DW_FORM_implicit_const: 8
|
|
DW_AT_type DW_FORM_ref4
|
|
DW_AT value: 0 DW_FORM value: 0
|
|
4 DW_TAG_variable \[no children\]
|
|
DW_AT_name DW_FORM_strp
|
|
DW_AT_decl_file DW_FORM_implicit_const: 1
|
|
DW_AT_decl_line DW_FORM_data1
|
|
DW_AT_type DW_FORM_ref4
|
|
DW_AT_external DW_FORM_flag_present
|
|
DW_AT_location DW_FORM_exprloc
|
|
DW_AT value: 0 DW_FORM value: 0
|
|
5 DW_TAG_formal_parameter \[no children\]
|
|
DW_AT_name DW_FORM_strp
|
|
DW_AT_decl_file DW_FORM_implicit_const: 1
|
|
DW_AT_decl_line DW_FORM_implicit_const: 6
|
|
DW_AT_type DW_FORM_ref4
|
|
DW_AT_location DW_FORM_sec_offset
|
|
DW_AT value: 0 DW_FORM value: 0
|
|
6 DW_TAG_compile_unit \[has children\]
|
|
DW_AT_producer DW_FORM_strp
|
|
DW_AT_language DW_FORM_data1
|
|
DW_AT_name DW_FORM_line_strp
|
|
DW_AT_comp_dir DW_FORM_line_strp
|
|
DW_AT_ranges DW_FORM_sec_offset
|
|
DW_AT_low_pc DW_FORM_addr
|
|
DW_AT_stmt_list DW_FORM_sec_offset
|
|
DW_AT value: 0 DW_FORM value: 0
|
|
7 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
|
|
DW_AT value: 0 DW_FORM value: 0
|
|
8 DW_TAG_variable \[no children\]
|
|
DW_AT_name DW_FORM_strp
|
|
DW_AT_decl_file DW_FORM_data1
|
|
DW_AT_decl_line DW_FORM_data2
|
|
DW_AT_type DW_FORM_ref4
|
|
DW_AT_external DW_FORM_flag_present
|
|
DW_AT_declaration DW_FORM_flag_present
|
|
DW_AT value: 0 DW_FORM value: 0
|
|
9 DW_TAG_subprogram \[has children\]
|
|
DW_AT_external DW_FORM_flag_present
|
|
DW_AT_name DW_FORM_strp
|
|
DW_AT_decl_file DW_FORM_data1
|
|
DW_AT_decl_line DW_FORM_data1
|
|
DW_AT_prototyped DW_FORM_flag_present
|
|
DW_AT_type DW_FORM_ref4
|
|
DW_AT_low_pc DW_FORM_addr
|
|
DW_AT_high_pc DW_FORM_data8
|
|
DW_AT_frame_base DW_FORM_exprloc
|
|
DW_AT_call_all_calls DW_FORM_flag_present
|
|
DW_AT_sibling DW_FORM_ref4
|
|
DW_AT value: 0 DW_FORM value: 0
|
|
10 DW_TAG_call_site \[has children\]
|
|
DW_AT_call_return_pc DW_FORM_addr
|
|
DW_AT_call_origin DW_FORM_ref4
|
|
DW_AT value: 0 DW_FORM value: 0
|
|
11 DW_TAG_call_site_parameter \[no children\]
|
|
DW_AT_location DW_FORM_exprloc
|
|
DW_AT_call_value DW_FORM_exprloc
|
|
DW_AT value: 0 DW_FORM value: 0
|
|
12 DW_TAG_subprogram \[no children\]
|
|
DW_AT_external DW_FORM_flag_present
|
|
DW_AT_name DW_FORM_strp
|
|
DW_AT_decl_file DW_FORM_data1
|
|
DW_AT_decl_line DW_FORM_data1
|
|
DW_AT_prototyped DW_FORM_flag_present
|
|
DW_AT_low_pc DW_FORM_addr
|
|
DW_AT_high_pc DW_FORM_data8
|
|
DW_AT_frame_base DW_FORM_exprloc
|
|
DW_AT_call_all_calls DW_FORM_flag_present
|
|
DW_AT value: 0 DW_FORM value: 0
|
|
13 DW_TAG_subprogram \[no children\]
|
|
DW_AT_external DW_FORM_flag_present
|
|
DW_AT_declaration DW_FORM_flag_present
|
|
DW_AT_linkage_name DW_FORM_strp
|
|
DW_AT_name DW_FORM_strp
|
|
DW_AT_decl_file DW_FORM_data1
|
|
DW_AT_decl_line DW_FORM_data2
|
|
DW_AT value: 0 DW_FORM value: 0
|
|
#...
|
|
Contents of the .debug_loclists section:
|
|
#...
|
|
Offset Begin End Expression
|
|
0000000c 0000000000001234 \(base address\)
|
|
00000015 0000000000001234 0000000000001236 \(DW_OP_reg5 \([^()]*\)\)
|
|
0000001a 0000000000001236 0000000000001239 \(DW_OP_entry_value: \(DW_OP_reg5 \([^()]*\)\); DW_OP_stack_value\)
|
|
00000022 <End of list>
|
|
00000023 0000000000001234 \(base address\)
|
|
0000002c 0000000000001234 0000000000001236 \(DW_OP_reg4 \([^()]*\)\)
|
|
00000031 0000000000001236 0000000000001239 \(DW_OP_entry_value: \(DW_OP_reg4 \([^()]*\)\); DW_OP_stack_value\)
|
|
00000039 <End of list>
|
|
|
|
Contents of the .debug_rnglists section:
|
|
|
|
Offset Begin End
|
|
0000000c 0000000000001234 0000000000001236
|
|
00000016 0000000000001234 0000000000001239
|
|
00000020 <End of list>
|
|
|
|
Raw dump of debug contents of section .debug_line:
|
|
|
|
Offset: 0x0
|
|
Length: 144
|
|
DWARF Version: 5
|
|
Prologue Length: 60
|
|
Minimum Instruction Length: 1
|
|
Maximum Ops per Instruction: 1
|
|
Initial value of 'is_stmt': 1
|
|
Line Base: -10
|
|
Line Range: 242
|
|
Opcode Base: 13
|
|
|
|
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
|
|
Opcode 10 has 0 args
|
|
Opcode 11 has 0 args
|
|
Opcode 12 has 1 args
|
|
|
|
The Directory Table \(offset 0x22\):
|
|
Entry Name
|
|
0 \(indirect line string, offset: 0x0\):
|
|
1 \(indirect line string, offset: 0x1\):
|
|
2 \(indirect line string, offset: 0x22\): /usr/include
|
|
|
|
The File name Table \(offset 0x34\):
|
|
Entry Dir Name
|
|
0 0 \(indirect line string, offset: 0x14\): main.c
|
|
1 1 \(indirect line string, offset: 0x1b\): main.c
|
|
2 2 \(indirect line string, offset: 0xb\): unistd.h
|
|
3 2 \(indirect line string, offset: 0x2\): getopt.h
|
|
|
|
Line Number Statements:
|
|
\[0x00000048\] Extended opcode 2: set Address to 0x1234
|
|
\[0x00000053\] Special opcode 15: advance Address by 0 to 0x1234 and Line by 5 to 6
|
|
\[0x00000054\] Extended opcode 2: set Address to 0x12346
|
|
\[0x0000005f\] Copy
|
|
\[0x00000060\] Extended opcode 2: set Address to 0x1234
|
|
\[0x0000006b\] Extended opcode 1: End of Sequence
|
|
|
|
\[0x0000006e\] Extended opcode 2: set Address to 0x1234
|
|
\[0x00000079\] Special opcode 14: advance Address by 0 to 0x1234 and Line by 4 to 5
|
|
\[0x0000007a\] Extended opcode 2: set Address to 0x1234
|
|
\[0x00000085\] Copy
|
|
\[0x00000086\] Extended opcode 2: set Address to 0x1234
|
|
\[0x00000091\] Extended opcode 1: End of Sequence
|
|
|
|
|
|
Decoded dump of debug contents of section .debug_line:
|
|
|
|
CU: ./main.c:
|
|
File name Line number Starting address View
|
|
main.c 6 0x1234
|
|
main.c 6 0x12346
|
|
main.c 6 0x1234
|
|
|
|
main.c 5 0x1234
|
|
main.c 5 0x1234
|
|
main.c 5 0x1234
|
|
|
|
|