binutils-gdb/binutils/testsuite/binutils-all
Alexandre Oliva 9f27220911 LVU: dump loclists with locviews
When dumping location lists, also dump locview lists that may be
interspersed with them, and bring view pairs next to the corresponding
location list entries.

This patch supports DW_AT_GNU_locviews as a separate attribute for
DWARF4- loc_lists and split (dwo) loclists, as well as DWARF5
loclists.

It also supports, in DWARF5 loclists, the proposed
DW_LLE_GNU_view_pair loclist entry type proposed for DWARF6.


The tests use 32-bit DWARF, even on 64-bit targets, resolving offsets
to constants so as to reduce the risk that relocations be created for
them, or that the offsets be rejected as nonconstants.


The patch also adds an xfail to an unrelated test, namely dw5, so that
no unexpected fails remain on nds32*-elf, one of the tested targets.


Reviewed-by: Alan Modra <amodra@gmail.com>


for  include/ChangeLog

	* dwarf2.def (DW_AT_GNU_locviews): New.
	* dwarf2.h (enum dwarf_location_list_entry_type): Add
	DW_LLE_GNU_view_pair.
	(DW_LLE_view_pair): Define.

for  binutils/ChangeLog

	* dwarf.h (debug_info): Add loc_views and num_loc_views.
	* dwarf.c (vm1): New constant.
	(print_dwarf_view): New function.
	(read_and_display_attr_value): Support DW_AT_GNU_locviews.
	(process_debug_info): Keep num_loc_offsets and num_loc_views
	in sync.
	(display_view_pair_list): New function.
	(display_loc_list_dwo): Take vstart_ptr; update it.  Dump
	location view pairs before the range they apply to, when a
	viewlist augments the loc list.
	(display_loc_list): Likewise.  Check view numbers in range
	tests.
	(display_loclists_list): Likewise.  Handle view pair entries,
	and warn on trailing ones.
	(loc_views): New variable.
	(loc_offsets_compar): Compare loc_views if loc_offsets are the
	same.
	(display_debug_loc): Check and sort loc_views too.  Accept
	loc_view as expected_start.  Skip if lists and views are the
	same.  Dump locview list separately in order, and pass the
	locview list base to each list dump function.  Warn and skip
	overlap and hole checking if we find loclists and locviews to
	not be adjacent.
	* testsuite/binutils-all/locview-1.s: New.
	* testsuite/binutils-all/readelf.locview-1: New.
	* testsuite/binutils-all/locview-2.s: New.
	* testsuite/binutils-all/readelf.locview-2: New.
	* testsuite/binutils-all/readelf.exp: Run new tests.  Fix
	option spelling in pr18374 fail message.  XFAIL dw5 test on
	nds32*-elf.
2017-09-22 17:05:51 -03:00
..
aarch64 Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
arc [ARC] Fix handling of cpu=... disassembler option value 2017-06-29 14:49:39 +03:00
arm Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
bfin Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
hppa Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
i386 This patch introduces support for specifing views in .loc directives, so that the compiler can use the assembler to generate line number information and have the assembler determine view numbers to multiple views at the same program counter. 2017-07-21 10:13:18 +01:00
m68k Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
mips MIPS: Fix XPA base and Virtualization ASE instruction handling 2017-06-30 07:21:55 +01:00
vax Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
wasm32 Fix minor problems with previous wasm32 binutils commit. 2017-03-31 13:07:01 +01:00
windres Stop the (optional) dialong control data from being aligned when parsing/writing windows resource files. 2017-01-18 11:40:06 +00:00
x86-64 This patch introduces support for specifing views in .loc directives, so that the compiler can use the assembler to generate line number information and have the assembler determine view numbers to multiple views at the same program counter. 2017-07-21 10:13:18 +01:00
add-empty-section.d
add-section.d
add-symbol.d Run add-symbol test on mips 2015-10-22 12:49:17 +10:30
alias-2.def
alias.def
ar.exp Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
bintest.s
common-1.s Properly implement STT_COMMON 2016-02-26 05:01:34 -08:00
common-1a.d Properly implement STT_COMMON 2016-02-26 05:01:34 -08:00
common-1b.d Properly implement STT_COMMON 2016-02-26 05:01:34 -08:00
common-1c.d Properly implement STT_COMMON 2016-02-26 05:01:34 -08:00
common-1d.d Properly implement STT_COMMON 2016-02-26 05:01:34 -08:00
common-1e.d Properly implement STT_COMMON 2016-02-26 05:01:34 -08:00
common-1f.d Properly implement STT_COMMON 2016-02-26 05:01:34 -08:00
common-2.s Properly implement STT_COMMON 2016-02-26 05:01:34 -08:00
common-2a.d Properly implement STT_COMMON 2016-02-26 05:01:34 -08:00
common-2b.d Properly implement STT_COMMON 2016-02-26 05:01:34 -08:00
common-2c.d Properly implement STT_COMMON 2016-02-26 05:01:34 -08:00
common-2d.d Properly implement STT_COMMON 2016-02-26 05:01:34 -08:00
common-2e.d Properly implement STT_COMMON 2016-02-26 05:01:34 -08:00
common-2f.d Properly implement STT_COMMON 2016-02-26 05:01:34 -08:00
compress.exp Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
copy-1.d
copy-1.s
copy-2.d
copy-3.d Fix various binutils testsuite failures. 2016-06-22 14:42:26 +01:00
copy-4.d Fix various binutils testsuite failures. 2016-06-22 14:42:26 +01:00
copytest.s
data-sections.s objcopy/strip: Allow section patterns starting with '!'. 2016-07-14 11:32:48 +01:00
debug_str.d
debug_str.s
dlltool.exp Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
dumptest.s
dw2-1.S Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
dw2-1.W This patch introduces support for specifing views in .loc directives, so that the compiler can use the assembler to generate line number information and have the assembler determine view numbers to multiple views at the same program counter. 2017-07-21 10:13:18 +01:00
dw2-2.S Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
dw2-3.rS Add SHF_COMPRESSED support to gas and objcopy 2015-04-08 07:54:09 -07:00
dw2-3.rt Add SHF_COMPRESSED support to gas and objcopy 2015-04-08 07:54:09 -07:00
dw2-3.S Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
dw2-3.W This patch introduces support for specifing views in .loc directives, so that the compiler can use the assembler to generate line number information and have the assembler determine view numbers to multiple views at the same program counter. 2017-07-21 10:13:18 +01:00
dw2-3gabi.W This patch introduces support for specifing views in .loc directives, so that the compiler can use the assembler to generate line number information and have the assembler determine view numbers to multiple views at the same program counter. 2017-07-21 10:13:18 +01:00
dw2-compressed.S Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
dw2-decodedline-1.S
dw2-decodedline.S
dw2-empty.S
dw2-ranges.S Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
dw2-ranges.W objdump: Handle 32-bit base address in debug_ranges / debug_loc. 2015-11-30 13:28:26 +00:00
dw5.S Fixes for new dw5 test 2017-02-25 19:13:23 +10:30
dw5.W This patch introduces support for specifing views in .loc directives, so that the compiler can use the assembler to generate line number information and have the assembler determine view numbers to multiple views at the same program counter. 2017-07-21 10:13:18 +01:00
elfedit-1.d Also skip x86_64-*-nacl* 2015-05-12 12:47:27 -07:00
elfedit-2.d
elfedit-3.d
elfedit-4.d
elfedit-5.d Add EM_386/EM_IAMCU support to elfedit.c 2015-05-11 09:57:21 -07:00
elfedit.exp Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
empty Allow zero length archive elements. 2016-03-07 17:29:25 +00:00
empty-file
empty.s
exclude-1.s
exclude-1a.d
exclude-1b.d
fastcall.def
group-2.s
group-3.s
group-4.s
group-5.d
group-5.s
group-6.d
group-6.s
group.s
libdw2-compressed.out Add a dw2-3.S test 2015-04-04 07:34:25 -07:00
libdw2-compressedgabi.out This patch introduces support for specifing views in .loc directives, so that the compiler can use the assembler to generate line number information and have the assembler determine view numbers to multiple views at the same program counter. 2017-07-21 10:13:18 +01:00
libdw2.out Add a dw2-3.S test 2015-04-04 07:34:25 -07:00
link-order.s
localize-hidden-1.d Fix the evaluation of RL78 complex relocs, by making immediate values be computed relative to a new absolute symbol. 2015-07-24 16:44:27 +01:00
localize-hidden-1.s
localize-hidden-2.d
localize-hidden-2.s
locview-1.s LVU: dump loclists with locviews 2017-09-22 17:05:51 -03:00
locview-2.s LVU: dump loclists with locviews 2017-09-22 17:05:51 -03:00
mbind1.s Support ELF SHF_GNU_MBIND and PT_GNU_MBIND_XXX 2017-04-04 09:06:04 -07:00
needed-by-reloc.s
nm-1.s
nm-elf-1.s
nm-ver.s Add the ability for nm to display symbol version information. 2016-11-11 11:49:45 +00:00
nm.exp Add support for the WebAssembly file format and the wasm32 ELF conversion to gas and the binutils. 2017-03-30 10:57:21 +01:00
note-1.d
note-2-32.d Try harder to find the correct symbol to associate with OPEN GNU BUILD notes. 2017-03-14 12:57:09 +00:00
note-2-32.s Improve decoding of corrupt/unrecognised gnu build attribute notes. 2017-04-26 14:23:26 +01:00
note-2-64.d Try harder to find the correct symbol to associate with OPEN GNU BUILD notes. 2017-03-14 12:57:09 +00:00
note-2-64.s Improve decoding of corrupt/unrecognised gnu build attribute notes. 2017-04-26 14:23:26 +01:00
note-3-32.d Add test of V2 GNU build attribute notes. 2017-08-17 14:51:31 +01:00
note-3-32.s Add test of V2 GNU build attribute notes. 2017-08-17 14:51:31 +01:00
note-3-64.d Add test of V2 GNU build attribute notes. 2017-08-17 14:51:31 +01:00
note-3-64.s Add test of V2 GNU build attribute notes. 2017-08-17 14:51:31 +01:00
note-3.32.s Add test of V2 GNU build attribute notes. 2017-08-17 14:51:31 +01:00
objcopy.exp Add test of V2 GNU build attribute notes. 2017-08-17 14:51:31 +01:00
objdump.exp Fix gas and binutils testsuite failures for am33_2.0-linux target. 2017-08-02 10:19:22 +01:00
objdump.s
objdump.W This patch introduces support for specifing views in .loc directives, so that the compiler can use the assembler to generate line number information and have the assembler determine view numbers to multiple views at the same program counter. 2017-07-21 10:13:18 +01:00
objdump.WL This patch introduces support for specifing views in .loc directives, so that the compiler can use the assembler to generate line number information and have the assembler determine view numbers to multiple views at the same program counter. 2017-07-21 10:13:18 +01:00
only-section-01.d objcopy/strip: Allow section patterns starting with '!'. 2016-07-14 11:32:48 +01:00
pr18374.s Fix PR18374 by making readelf and objdump ignore end-of-list markers in the .debug_loc section if there are relocations against them. 2015-05-15 11:24:33 +01:00
pr19020.in Don't use the output section size to copy input section 2015-09-29 13:31:57 -07:00
pr19020a.d Don't use the output section size to copy input section 2015-09-29 13:31:57 -07:00
pr19020b.d Don't use the output section size to copy input section 2015-09-29 13:31:57 -07:00
pr19547.c Clear HAS_RELOC if there are no relocations 2016-02-02 03:30:48 -08:00
readelf.exp LVU: dump loclists with locviews 2017-09-22 17:05:51 -03:00
readelf.h
readelf.locview-1 LVU: dump loclists with locviews 2017-09-22 17:05:51 -03:00
readelf.locview-2 LVU: dump loclists with locviews 2017-09-22 17:05:51 -03:00
readelf.n Display unknown notes. Decode NT_GNU_HWCAP notes. 2016-10-17 15:29:43 +01:00
readelf.pr18374 Fix PR18374 by making readelf and objdump ignore end-of-list markers in the .debug_loc section if there are relocations against them. 2015-05-15 11:24:33 +01:00
readelf.r Fix various binutils testsuite failures. 2016-06-22 14:42:26 +01:00
readelf.r-64
readelf.s Place .shstrtab section after .symtab and .strtab, thus restoring monotonically increasing section offsets. 2016-08-19 09:16:30 +01:00
readelf.s-64 Place .shstrtab section after .symtab and .strtab, thus restoring monotonically increasing section offsets. 2016-08-19 09:16:30 +01:00
readelf.ss
readelf.ss-64 Fix the binutils readelf.ss test for the AArch64 target. 2015-04-02 15:28:02 +01:00
readelf.ss-mips
readelf.ss-tmips
readelf.wa
readelf.z Add --decompress option to readelf to decompress sections before they are dumped. 2015-05-15 17:16:31 +01:00
remove-relocs-01.d objcopy/strip: Add option --remove-relocations=SECTIONPATTERN 2016-07-14 11:34:10 +01:00
remove-relocs-01.s Use address sized relocs in remove-relocs-01.s 2016-07-15 17:02:20 +09:30
remove-relocs-02.d objcopy/strip: Add option --remove-relocations=SECTIONPATTERN 2016-07-14 11:34:10 +01:00
remove-relocs-03.d objcopy/strip: Add option --remove-relocations=SECTIONPATTERN 2016-07-14 11:34:10 +01:00
remove-relocs-04.d objcopy/strip: Add option --remove-relocations=SECTIONPATTERN 2016-07-14 11:34:10 +01:00
remove-relocs-05.d objcopy/strip: Add option --remove-relocations=SECTIONPATTERN 2016-07-14 11:34:10 +01:00
remove-relocs-06.d objcopy/strip: Add option --remove-relocations=SECTIONPATTERN 2016-07-14 11:34:10 +01:00
remove-section-01.d objcopy/strip: Allow section patterns starting with '!'. 2016-07-14 11:32:48 +01:00
size.exp Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
strip-1.d
strip-2.d
strip-3.d [ARC] Object attributes. 2017-05-10 14:42:22 +02:00
strip-4.d
strip-5.d
strip-6.d
strip-7.d
strip-8.d
strip-9.d
strip-10.d
strip-11.d Fix the evaluation of RL78 complex relocs, by making immediate values be computed relative to a new absolute symbol. 2015-07-24 16:44:27 +01:00
strip-12.d Tweak binutils testsuite 2015-08-11 23:29:36 +09:30
strip-12.s Tweak binutils testsuite 2015-08-11 23:29:36 +09:30
symbols-1.d Tweak binutils testsuite 2015-08-11 23:29:36 +09:30
symbols-2.d Tweak binutils testsuite 2015-08-11 23:29:36 +09:30
symbols-3.d Tweak binutils testsuite 2015-08-11 23:29:36 +09:30
symbols-4.d Tweak binutils testsuite 2015-08-11 23:29:36 +09:30
symbols.s objcopy: Improve wildcard matching for symbols with '!' prefix. 2015-08-07 11:41:40 +02:00
testprog.c Fix copying Solaris binaries with objcopy. 2016-04-14 12:04:09 +01:00
testranges-ia64.d
testranges-ia64.s
testranges.d
testranges.s
unique.s
unknown.s
update-1.s
update-2.s
update-3.s
update-4.s
update-section.exp Update year range in copyright notice of all files. 2017-01-02 14:08:56 +10:30
version.def
version.s
z.s Add --decompress option to readelf to decompress sections before they are dumped. 2015-05-15 17:16:31 +01:00