mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-12-21 04:42:53 +08:00
ba8826a82a
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.
70 lines
2.5 KiB
D
70 lines
2.5 KiB
D
#name: dwarf decoded line after gc-sections
|
|
#as: -mmcu=avr51 -gdwarf-sections -g
|
|
#ld: -mavr51 -gc-sections -u main
|
|
#objdump: --dwarf=decodedline
|
|
#source: per-function-debugline.s
|
|
#target: avr-*-*
|
|
|
|
.*: file format elf32-avr
|
|
|
|
Decoded dump of debug contents of section .debug_line:
|
|
|
|
.*:
|
|
File name Line number Starting address View
|
|
per-function-debugline.s 39 0
|
|
|
|
per-function-debugline.s 40 0x2 1
|
|
|
|
per-function-debugline.s 41 0x4 2
|
|
|
|
per-function-debugline.s 42 0x6 3
|
|
|
|
per-function-debugline.s 47 0x8 4
|
|
|
|
per-function-debugline.s 48 0xc 5
|
|
|
|
per-function-debugline.s 49 0x10 6
|
|
|
|
per-function-debugline.s 50 0x12 7
|
|
|
|
per-function-debugline.s 51 0x16 8
|
|
|
|
per-function-debugline.s 52 0x1a 9
|
|
|
|
per-function-debugline.s 54 0x1c 10
|
|
|
|
per-function-debugline.s 55 0x1e 11
|
|
|
|
per-function-debugline.s 56 0x20 12
|
|
|
|
per-function-debugline.s 56 0x22 13
|
|
|
|
per-function-debugline.s 62 0x22
|
|
|
|
per-function-debugline.s 63 0x24 1
|
|
|
|
per-function-debugline.s 64 0x26 2
|
|
|
|
per-function-debugline.s 65 0x28 3
|
|
|
|
per-function-debugline.s 70 0x2a 4
|
|
|
|
per-function-debugline.s 71 0x2e 5
|
|
|
|
per-function-debugline.s 72 0x32 6
|
|
|
|
per-function-debugline.s 73 0x36 7
|
|
|
|
per-function-debugline.s 74 0x38 8
|
|
|
|
per-function-debugline.s 75 0x3c 9
|
|
|
|
per-function-debugline.s 76 0x40 10
|
|
|
|
per-function-debugline.s 77 0x44 11
|
|
|
|
per-function-debugline.s 79 0x48 12
|
|
|
|
per-function-debugline.s 80 0x4a 13
|
|
#pass
|